UUID Versie 6 Generator (Geordende Timestamp)

Genereer timestamp-geordende UUID's geoptimaliseerd voor database-indexering

Probeer deze voorbeelden:

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

  1. Bereken huidige tijdstempel (100ns intervallen sinds 1582-10-15)
  2. Herschik tijdstempelbits voor betere sortering (meest significante bits eerst)
  3. Haal 14-bits kloksequentie op/verhoog deze (voor uniciteit als klok achteruit gaat)
  4. Verkrijg 48-bits node ID (gewoonlijk van MAC-adres)
  5. Stel versiebits in (0110) en variantbits (10)
  6. Stel samen als 32 hexadecimale cijfers met streepjes: 8-4-4-4-12 formaat

Voordelen & Overwegingen

AdvantagesConsiderations
  • Lexicografisch sorteerbaar
  • Ingebedde aanmaaktijd
  • Hoge prestatie generatie
  • Gedistribueerde generatie
  • Privacyzorgen MAC-adres
  • Kloksynchronisatieproblemen
  • Meer voorspelbaar dan willekeurige UUID's
  • Concept specificatiestatus

UUID v6 Structuur

BitsContent
0-47Hoge 48 bits van tijdstempel
48-51Versie (0110 voor v6)
52-59Lage 8 bits van tijdstempel
60-63Hoge 4 bits van tijdstempel
64-65Variant (10 voor RFC4122)
66-79Kloksequentie (14 bits)
80-127Node ID (48 bits)

UUID v6 versus andere versies

VersionGebaseerd opGebruikssituatiePrivacy
UUID v1Tijd + MACTijd-geordende ID's⚠️ Toont MAC
UUID v3Namespace + MD5Deterministische ID's✅ Privé
UUID v4RandomVeilige willekeurige ID's✅ Privé
UUID v5Namespace + SHA-1Deterministische ID's✅ Privé
UUID v6Tijd (herschikt)Sorteerbare ID's⚠️ Toont MAC
UUID v7Tijd + willekeurigSorteerbare 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.

Resources