Wat is UUID v6?
UUID versie 6 is een tijdgebaseerde 128-bits identifier (36-teken string) voorgesteld als verbetering van UUID v1. Het bestaat uit:
- Herschikte tijdstempel: 60-bits tijdstempel van meest naar minst significant
- Kloksequentie: 14-bits teller voor klokaanpassingen
- Node ID: 48-bits waarde (meestal MAC-adres)
Voorbeeld van formaat: 1eb527d6-e927-6511-9a03-0242ac130003
Hoe UUID v6 werkt
- Bereken huidige tijdstempel (100ns intervallen sinds 1582-10-15)
- Herschik tijdstempelbits voor betere sortering (meest significante bits eerst)
- Haal 14-bits kloksequentie op/verhoog deze (voor uniciteit als klok achteruit gaat)
- Verkrijg 48-bits node ID (gewoonlijk van MAC-adres)
- Stel versiebits in (0110) en variantbits (10)
- Stel samen als 32 hexadecimale cijfers met streepjes: 8-4-4-4-12 formaat
Voordelen & Overwegingen
Advantages | Considerations |
---|---|
|
|
UUID v6 Structuur
Bits | Content |
---|---|
0-47 | Hoge 48 bits van tijdstempel |
48-51 | Versie (0110 voor v6) |
52-59 | Lage 8 bits van tijdstempel |
60-63 | Hoge 4 bits van tijdstempel |
64-65 | Variant (10 voor RFC4122) |
66-79 | Kloksequentie (14 bits) |
80-127 | Node ID (48 bits) |
UUID v6 versus andere versies
Version | Gebaseerd op | Gebruikssituatie | Privacy |
---|---|---|---|
UUID v1 | Tijd + MAC | Tijd-geordende ID's | ⚠️ Toont MAC |
UUID v3 | Namespace + MD5 | Deterministische ID's | ✅ Privé |
UUID v4 | Random | Veilige willekeurige ID's | ✅ Privé |
UUID v5 | Namespace + SHA-1 | Deterministische ID's | ✅ Privé |
UUID v6 | Tijd (herschikt) | Sorteerbare ID's | ⚠️ Toont MAC |
UUID v7 | Tijd + willekeurig | Sorteerbare ID's | ✅ Privé |
Veelvoorkomende gebruikssituaties
- Tijd-sorteerbare database sleutels: Voor chronologische sortering
- Gedistribueerde databases: Met tijd-geordende indexering
- Logboekvermeldingen: Met natuurlijke chronologische volgorde
- Audit trails: Met ingebedde tijdstempels
- Berichtwachtrij: Voor tijdgebaseerde verwerking
- Transactiegegevens: Met chronologische ordening
Veelgestelde vragen
Wat is het verschil tussen UUID v1 en v6?
UUID v6 herschikt de tijdstempelbits van UUID v1 om het natuurlijk sorteerbaar te maken in lexicografische volgorde. De inhoud is identiek aan v1, alleen herschikt.
Is UUID v6 een officiële standaard?
UUID v6 is momenteel een concept specificatie in het voorgestelde RFC 4122bis document. Het is nog geen officiële RFC-standaard maar wordt geïmplementeerd in veel UUID-bibliotheken.
Kan ik de aanmaaktijd uit UUID v6 halen?
Ja. Het tijdstempelcomponent kan worden geëxtraheerd uit bits 0-59 en worden omgezet naar een datetime waarde.
Zijn UUID's v6 sorteerbaar op aanmaaktijd?
Ja. In tegenstelling tot v1 plaatst UUID v6 tijdstempelbits in meest-naar-minst significante volgorde, waardoor directe lexicografische (string) vergelijking overeenkomt met chronologische volgorde.
Toont UUID v6 mijn MAC-adres?
Standaard wel. Net als UUID v1 gebruiken de meeste implementaties het MAC-adres voor de node ID. Privacygerichte implementaties kunnen in plaats daarvan willekeurige node ID's gebruiken.