UUID v7-generator
Generer UUID v7-identifikatorer med innebygde Unix Epoch-tidsstempler, massegenerering og formatalternativer
Inndata
Utdata
Les meg
Hva er UUID v7?
UUID v7 er den nyeste versjonen av Universally Unique Identifiers definert i RFC 9562. I motsetning til eldre versjoner som UUID v4 (rent tilfeldig) eller UUID v1 (bruker MAC-adresse), bygger UUID v7 inn et 48-bits Unix Epoch-tidsstempel i millisekunder direkte i identifikatoren. Dette gjør UUID v7-verdier naturlig sorterbare etter opprettelsestidspunkt — en stor fordel for databaseindeksering, distribuerte systemer og hendelseslogging der kronologisk rekkefølge er viktig.
Fordi UUID v7 ikke inkorporerer MAC-adresser, unngår det personvernproblemene som er forbundet med UUID v1. De gjenværende bitene etter tidsstempel- og versjon/variant-feltene fylles med tilfeldige eller monotone data, noe som sikrer unikhet selv når flere UUID-er genereres innenfor samme millisekund.
Hvordan UUID v7 er konstruert
En UUID v7 består av 128 bits organisert som følger:
- Bits 0–47: Et 48-bits big-endian usignert Unix Epoch-tidsstempel i millisekunder
- Bits 48–51: Det 4-bits versjonsfelt, satt til
0111(7) - Bits 52–63: 12 bits tilfeldige eller monotone data for sub-millisekund presisjon eller unikhet
- Bits 64–65: Det 2-bits variantfelt, satt til
10(RFC 9562) - Bits 66–127: 62 bits tilfeldige eller monotone data for ytterligere unikhet
Denne strukturen betyr at UUID-er generert senere i tid alltid vil sortere etter tidligere på millisekund-nivå, noe som gjør dem ideelle som primærnøkler i B-tre-indekserte databaser.
Verktøybeskrivelse
Denne UUID v7-generatoren oppretter RFC 9562-kompatible versjon 7 UUID-er med en visuell oversikt over det innebygde tidsstempelet. Generer én eller opptil 100 UUID-er på én gang, veksle mellom store og små bokstaver, og velg om du vil inkludere bindestreker. Verktøyet henter også ut og viser det innebygde Unix Epoch-tidsstempelet fra den første genererte UUID-en, slik at du kan verifisere opprettelsestidspunktet kodet i hver identifikator.
Eksempler
| Format | Eksempelutdata |
|---|---|
| Standard | 019544a2-3b4c-7d8e-9f01-2a3b4c5d6e7f |
| Store bokstaver | 019544A2-3B4C-7D8E-9F01-2A3B4C5D6E7F |
| Uten bindestreker | 019544a23b4c7d8e9f012a3b4c5d6e7f |
Funksjoner
- Massegenerering: Generer 1 til 100 UUID v7-verdier på én gang med en mengdeskyder
- Bryter for store bokstaver: Veksle mellom utdata med små og store bokstaver
- Bryter for bindestreker: Inkluder eller fjern bindestreker for kompakte formater
- Tidsstempelutvinning: Viser automatisk det innebygde Unix Epoch-tidsstempelet fra den genererte UUID-en
- Nedlastingsstøtte: Eksporter genererte UUID-er som en tekstfil for satsvis bruk
Bruksområder
- Generer tidssorterbare primærnøkler for storskala databaser der innsettingsytelse og lokalitet er viktig
- Opprett monotont økende identifikatorer for distribuerte hendelsesstrømmingssystemer som Kafka eller Pulsar
- Erstatt UUID v4 i applikasjoner som trenger kronologisk rekkefølge uten en separat tidsstempelkolonne
UUID v7 vs andre versjoner
| Versjon | Tidsbasert | Sorterbar | Personvernsikker | Tilfeldighet |
|---|---|---|---|---|
| v1 | Ja | Nei | Nei (bruker MAC) | Lav |
| v4 | Nei | Nei | Ja | Høy |
| v6 | Ja | Ja | Nei (bruker MAC) | Lav |
| v7 | Ja | Ja | Ja | Middels |
UUID v7 kombinerer de beste egenskapene: tidsbasert sorterbarhet uten å eksponere maskinvareidentifikatorer, med nok tilfeldighet til å forhindre kollisjoner på tvers av distribuerte noder.
Alternativer forklart
- Antall (1–100): Hvor mange UUID v7-verdier som skal genereres i én enkelt batch. Alle UUID-er i en batch deler omtrent samme tidsstempel, men skiller seg i sine tilfeldige bits.
- Store bokstaver: Når aktivert, genereres UUID-er med store hex-tegn (A–F i stedet for a–f).
- Bindestreker: Når aktivert (standard), inkluderer UUID-er den standard 8-4-4-4-12 bindestrekgrupperingen. Deaktiver for en kompakt 32-tegns hex-streng.
FAQ
Kan UUID v7 kollidere?
Kollisjoner er svært usannsynlige. Selv innenfor samme millisekund gir de 74 bitene med tilfeldige/monotone data over 18 kvintillioner mulige kombinasjoner. uuid-biblioteket bruker også monotone tellere for å garantere unikhet innenfor en prosess.
Er UUID v7 bakoverkompatibel med UUID v4? Ja. UUID v7 følger samme 128-bits, 8-4-4-4-12-format og er gyldig overalt der UUID-er aksepteres. Eksisterende UUID-kolonner, parsere og validatorer fungerer uten endringer.
Når bør jeg bruke UUID v7 i stedet for UUID v4? Bruk UUID v7 når brukstilfellet ditt drar nytte av tidsordnede nøkler — for eksempel som primærnøkler i databaser der B-tre-indeksytelse forbedres med sekvensielle innsettinger. Bruk UUID v4 når rekkefølge er irrelevant og du ønsker maksimal tilfeldighet.