Wat is UUID en hoe werkt het
UUID (Universally Unique Identifier) is een gestandaardiseerd formaat van een 128-bits identificator, gedefinieerd in RFC 9562 (voorheen RFC 4122). Het kernidee is de mogelijkheid om unieke identificatoren te genereren op elk apparaat, op elk moment, zonder de noodzaak om uniciteit te controleren via een centrale server.
Notatieformaat
UUID wordt geschreven als 32 hexadecimale tekens, gescheiden door vier streepjes in vijf groepen: 8-4-4-4-12. Bijvoorbeeld: 550e8400-e29b-41d4-a716-446655440000. Het teken op positie 13 geeft de versie aan (1–7), en het eerste teken van de vierde groep bepaalt de variant (8, 9, a of b voor standaard UUID).
Waarom UUID v4 het populairst is
UUID v4 maakt gebruik van een cryptografisch sterke random number generator (CSPRNG). Van de 128 bits zijn er 6 gereserveerd voor versie en variant, waardoor er 122 bits entropie overblijven. Dit levert 5,3 × 10^36 mogelijke combinaties op. UUID v4 is niet gekoppeld aan tijd of hardware, wat volledige anonimiteit van generatie garandeert.
UUID in databases
Het gebruik van UUID als primaire sleutel heeft voordelen: veilig samenvoegen van gegevens uit verschillende bronnen, mogelijkheid om ID's aan de clientzijde te genereren zonder de database te raadplegen, geen informatie over de volgorde van het aanmaken van records. Nadelen: grotere omvang (16 bytes tegenover 4–8 voor INT), indexfragmentatie bij v4. UUID v7 lost het fragmentatieprobleem op dankzij het tijdsprefix.
UUID v7 — nieuwe standaard
UUID v7, gestandaardiseerd in RFC 9562 (2024), combineert de voordelen van UUID v1 (sortering op tijd) en v4 (willekeurigheid). De eerste 48 bits zijn een Unix-timestamp in milliseconden, de rest is willekeurig. Dit maakt v7 ideaal als primaire sleutel in databases waar de volgorde van invoegen belangrijk is.