Wat is UUID v7?

UUID v7 is de nieuwste versie van Universally Unique Identifiers zoals gedefinieerd in RFC 9562. In tegenstelling tot oudere versies zoals UUID v4 (volledig willekeurig) of UUID v1 (gebruikt MAC-adres), bevat UUID v7 een 48-bit Unix Epoch-tijdstempel in milliseconden direct in de identifier. Dit maakt UUID v7-waarden van nature sorteerbaar op aanmaaktijd — een groot voordeel voor database-indexering, gedistribueerde systemen en event-logging waarbij chronologische volgorde belangrijk is.

Omdat UUID v7 geen MAC-adressen gebruikt, vermijdt het de privacyproblemen die verbonden zijn aan UUID v1. De resterende bits na het tijdstempel en de versie-/variantvelden worden gevuld met willekeurige of monotone gegevens, wat uniciteit garandeert zelfs wanneer meerdere UUID's binnen dezelfde milliseconde worden gegenereerd.

Hoe UUID v7 is opgebouwd

Een UUID v7 bestaat uit 128 bits, als volgt georganiseerd:

  • Bits 0–47: Een 48-bit big-endian unsigned Unix Epoch-tijdstempel in milliseconden
  • Bits 48–51: Het 4-bit versievelds, ingesteld op 0111 (7)
  • Bits 52–63: 12 bits willekeurige of monotone gegevens voor sub-milliseconde precisie of uniciteit
  • Bits 64–65: Het 2-bit variantveld, ingesteld op 10 (RFC 9562)
  • Bits 66–127: 62 bits willekeurige of monotone gegevens voor extra uniciteit

Deze structuur zorgt ervoor dat UUID's die later in de tijd worden gegenereerd altijd na eerdere worden gesorteerd op milliseconde-niveau, waardoor ze ideaal zijn als primaire sleutels in B-tree geïndexeerde databases.

Beschrijving van de tool

Deze UUID v7-generator maakt RFC 9562-conforme versie 7 UUID's aan met een visuele uitsplitsing van het ingebedde tijdstempel. Genereer één of maximaal 100 UUID's tegelijk, schakel tussen hoofdletters en kleine letters, en kies of je koppeltekens wilt opnemen. De tool extraheert en toont ook het ingebedde Unix Epoch-tijdstempel van de eerste gegenereerde UUID, zodat je de aanmaaktijd in elke identifier kunt verifiëren.

Voorbeelden

Formaat Voorbeelduitvoer
Standaard 019544a2-3b4c-7d8e-9f01-2a3b4c5d6e7f
Hoofdletters 019544A2-3B4C-7D8E-9F01-2A3B4C5D6E7F
Zonder koppeltekens 019544a23b4c7d8e9f012a3b4c5d6e7f

Functies

  • Bulkgeneratie: Genereer 1 tot 100 UUID v7-waarden tegelijk met een hoeveelheidsschuifregelaar
  • Hoofdletters schakelen: Wissel tussen uitvoer in kleine letters en hoofdletters
  • Koppeltekens schakelen: Voeg koppeltekens toe of verwijder ze voor compacte formaten
  • Tijdstempelextractie: Toont automatisch het ingebedde Unix Epoch-tijdstempel van de gegenereerde UUID
  • Downloadondersteuning: Exporteer gegenereerde UUID's als tekstbestand voor batchgebruik

Toepassingen

  • Genereer tijdsorteerbare primaire sleutels voor grootschalige databases waarbij invoegprestaties en lokaliteit belangrijk zijn
  • Maak monotoon toenemende identifiers voor gedistribueerde event-streamingsystemen zoals Kafka of Pulsar
  • Vervang UUID v4 in applicaties die chronologische volgorde nodig hebben zonder een aparte tijdstempelkolom

UUID v7 versus andere versies

Versie Tijdgebaseerd Sorteerbaar Privacyveilig Willekeurigheid
v1 Ja Nee Nee (gebruikt MAC) Laag
v4 Nee Nee Ja Hoog
v6 Ja Ja Nee (gebruikt MAC) Laag
v7 Ja Ja Ja Gemiddeld

UUID v7 combineert de beste eigenschappen: tijdgebaseerde sorteerbaarheid zonder hardware-identifiers bloot te stellen, met voldoende willekeurigheid om botsingen tussen gedistribueerde nodes te voorkomen.

Opties toegelicht

  • Hoeveelheid (1–100): Hoeveel UUID v7-waarden er in één batch worden gegenereerd. Alle UUID's in een batch delen hetzelfde geschatte tijdstempel, maar verschillen in hun willekeurige bits.
  • Hoofdletters: Wanneer ingeschakeld, worden UUID's uitgevoerd met hexadecimale tekens in hoofdletters (A–F in plaats van a–f).
  • Koppeltekens: Wanneer ingeschakeld (standaard), bevatten UUID's de standaard 8-4-4-4-12 koppeltekensgroepering. Schakel uit voor een compacte hexadecimale string van 32 tekens.

Veelgestelde vragen

Kunnen UUID v7-waarden botsen? Botsingen zijn uiterst onwaarschijnlijk. Zelfs binnen dezelfde milliseconde bieden de 74 bits aan willekeurige/monotone gegevens meer dan 18 triljoen mogelijke combinaties. De uuid-bibliotheek gebruikt ook monotone tellers om uniciteit binnen een proces te garanderen.

Is UUID v7 achterwaarts compatibel met UUID v4? Ja. UUID v7 volgt hetzelfde 128-bit, 8-4-4-4-12-formaat en is geldig overal waar UUID's worden geaccepteerd. Bestaande UUID-kolommen, parsers en validators werken zonder aanpassing.

Wanneer moet ik UUID v7 gebruiken in plaats van UUID v4? Gebruik UUID v7 wanneer je toepassing baat heeft bij tijdgeordende sleutels — bijvoorbeeld als primaire databasesleutels waarbij B-tree indexprestaties verbeteren bij sequentiële invoegingen. Gebruik UUID v4 wanneer volgorde niet relevant is en je maximale willekeurigheid wilt.