UUID v7-generator
Generera UUID v7-identifierare med inbäddade Unix Epoch-tidsstämplar, bulkgenerering och formatalternativ
Inmatning
Utdata
Readme
Vad är UUID v7?
UUID v7 är den senaste versionen av Universally Unique Identifiers definierad i RFC 9562. Till skillnad från äldre versioner som UUID v4 (helt slumpmässig) eller UUID v1 (använder MAC-adress), bäddar UUID v7 in en 48-bitars Unix Epoch-tidsstämpel i millisekunder direkt i identifieraren. Detta gör att UUID v7-värden naturligt kan sorteras efter skapelsetid — en stor fördel för databasindexering, distribuerade system och händelseloggning där kronologisk ordning är viktig.
Eftersom UUID v7 inte inkorporerar MAC-adresser undviker det de integritetsproblem som är förknippade med UUID v1. De återstående bitarna efter tidsstämpeln och versions-/variantfälten fylls med slumpmässiga eller monotona data, vilket säkerställer unikhet även när flera UUID:n genereras inom samma millisekund.
Hur UUID v7 är konstruerat
Ett UUID v7 består av 128 bitar organiserade enligt följande:
- Bitar 0–47: En 48-bitars big-endian osignerad Unix Epoch-tidsstämpel i millisekunder
- Bitar 48–51: Det 4-bitars versionsfältet, satt till
0111(7) - Bitar 52–63: 12 bitar slumpmässiga eller monotona data för precision eller unikhet inom millisekunden
- Bitar 64–65: Det 2-bitars variantfältet, satt till
10(RFC 9562) - Bitar 66–127: 62 bitar slumpmässiga eller monotona data för ytterligare unikhet
Denna struktur innebär att UUID:n som genereras senare i tid alltid sorteras efter tidigare på millisekundnivå, vilket gör dem idealiska som primärnycklar i B-trädsindexerade databaser.
Verktygsbeskrivning
Denna UUID v7-generator skapar RFC 9562-kompatibla version 7 UUID:n med en visuell uppdelning av den inbäddade tidsstämpeln. Generera ett eller upp till 100 UUID:n åt gången, växla mellan versaler och gemener, och välj om bindestreck ska inkluderas. Verktyget extraherar och visar även den inbäddade Unix Epoch-tidsstämpeln från det första genererade UUID:t, vilket låter dig verifiera skapelsetiden kodad i varje identifierare.
Exempel
| Format | Exempelutdata |
|---|---|
| Standard | 019544a2-3b4c-7d8e-9f01-2a3b4c5d6e7f |
| Versaler | 019544A2-3B4C-7D8E-9F01-2A3B4C5D6E7F |
| Utan bindestreck | 019544a23b4c7d8e9f012a3b4c5d6e7f |
Funktioner
- Massgenering: Generera 1 till 100 UUID v7-värden åt gången med ett kvantitetsreglage
- Versalväxling: Växla mellan gemener och versaler i utdata
- Bindestrecksväxling: Inkludera eller ta bort bindestreck för kompakta format
- Tidsstämpelextrahering: Visar automatiskt den inbäddade Unix Epoch-tidsstämpeln från det genererade UUID:t
- Nedladdningsstöd: Exportera genererade UUID:n som en textfil för batchanvändning
Användningsområden
- Generera tidssorterbara primärnycklar för storskaliga databaser där insättningsprestanda och lokalitet är viktigt
- Skapa monotont ökande identifierare för distribuerade händelseströmningssystem som Kafka eller Pulsar
- Ersätt UUID v4 i applikationer som behöver kronologisk ordning utan en separat tidsstämpelkolumn
UUID v7 jämfört med andra versioner
| Version | Tidsbaserad | Sorterbar | Integritetssäker | Slumpmässighet |
|---|---|---|---|---|
| v1 | Ja | Nej | Nej (använder MAC) | Låg |
| v4 | Nej | Nej | Ja | Hög |
| v6 | Ja | Ja | Nej (använder MAC) | Låg |
| v7 | Ja | Ja | Ja | Medel |
UUID v7 kombinerar de bästa egenskaperna: tidsbaserad sorterbarhet utan att exponera hårdvaruidentifierare, med tillräcklig slumpmässighet för att förhindra kollisioner mellan distribuerade noder.
Alternativ förklarade
- Antal (1–100): Hur många UUID v7-värden som ska genereras i en enskild batch. Alla UUID:n i en batch delar ungefär samma tidsstämpel men skiljer sig åt i sina slumpmässiga bitar.
- Versaler: När aktiverat matas UUID:n ut med versala hex-tecken (A–F istället för a–f).
- Bindestreck: När aktiverat (standard) inkluderar UUID:n den vanliga 8-4-4-4-12 bindestrecksgruppering. Inaktivera för en kompakt 32-teckens hex-sträng.
Vanliga frågor
Kan UUID v7 kollidera?
Kollisioner är extremt osannolika. Även inom samma millisekund ger de 74 bitarna av slumpmässiga/monotona data över 18 kvintiljoner möjliga kombinationer. uuid-biblioteket använder också monotona räknare för att garantera unikhet inom en process.
Är UUID v7 bakåtkompatibelt med UUID v4? Ja. UUID v7 följer samma 128-bitars, 8-4-4-4-12-format och är giltigt överallt där UUID:n accepteras. Befintliga UUID-kolumner, parsers och validerare fungerar utan modifiering.
När ska jag använda UUID v7 istället för UUID v4? Använd UUID v7 när ditt användningsfall drar nytta av tidsordnade nycklar — till exempel som primärnycklar i databaser där B-trädsindexprestanda förbättras med sekventiella insättningar. Använd UUID v4 när ordning är irrelevant och du vill ha maximal slumpmässighet.