Generatore UUID v7
Genera identificatori UUID v7 con timestamp Unix Epoch incorporati, generazione in blocco e opzioni di formato
Input
Output
Leggimi
Cos'è UUID v7?
UUID v7 è la versione più recente degli Universally Unique Identifiers definita nell'RFC 9562. A differenza delle versioni precedenti come UUID v4 (puramente casuale) o UUID v1 (utilizza l'indirizzo MAC), UUID v7 incorpora direttamente nell'identificatore un timestamp Unix Epoch a 48 bit in millisecondi. Questo rende i valori UUID v7 naturalmente ordinabili per data di creazione — un vantaggio significativo per l'indicizzazione dei database, i sistemi distribuiti e il logging degli eventi in cui l'ordinamento cronologico è importante.
Poiché UUID v7 non incorpora indirizzi MAC, evita i problemi di privacy associati a UUID v1. I bit rimanenti dopo il timestamp e i campi versione/variante vengono riempiti con dati casuali o monotoni, garantendo l'unicità anche quando vengono generati più UUID nello stesso millisecondo.
Come è costruito UUID v7
Un UUID v7 è composto da 128 bit organizzati come segue:
- Bit 0–47: Un timestamp Unix Epoch unsigned big-endian a 48 bit in millisecondi
- Bit 48–51: Il campo versione a 4 bit, impostato su
0111(7) - Bit 52–63: 12 bit di dati casuali o monotoni per precisione sub-millisecondo o unicità
- Bit 64–65: Il campo variante a 2 bit, impostato su
10(RFC 9562) - Bit 66–127: 62 bit di dati casuali o monotoni per unicità aggiuntiva
Questa struttura garantisce che gli UUID generati più tardi nel tempo vengano sempre ordinati dopo quelli precedenti a livello di millisecondo, rendendoli ideali come chiavi primarie nei database con indice B-tree.
Descrizione dello strumento
Questo generatore di UUID v7 crea UUID versione 7 conformi all'RFC 9562 con una visualizzazione dettagliata del timestamp incorporato. Genera uno o fino a 100 UUID alla volta, alterna tra formattazione maiuscola e minuscola e scegli se includere i trattini. Lo strumento estrae e visualizza anche il timestamp Unix Epoch incorporato dal primo UUID generato, consentendoti di verificare il tempo di creazione codificato in ciascun identificatore.
Esempi
| Formato | Output di esempio |
|---|---|
| Standard | 019544a2-3b4c-7d8e-9f01-2a3b4c5d6e7f |
| Maiuscolo | 019544A2-3B4C-7D8E-9F01-2A3B4C5D6E7F |
| Senza trattini | 019544a23b4c7d8e9f012a3b4c5d6e7f |
Funzionalità
- Generazione in blocco: Genera da 1 a 100 valori UUID v7 alla volta con un cursore per la quantità
- Attiva/disattiva maiuscole: Passa dall'output in minuscolo a quello in maiuscolo
- Attiva/disattiva trattini: Includi o rimuovi i trattini per formati compatti
- Estrazione del timestamp: Visualizza automaticamente il timestamp Unix Epoch incorporato dall'UUID generato
- Supporto al download: Esporta gli UUID generati come file di testo per uso in batch
Casi d'uso
- Genera chiavi primarie ordinabili per tempo per database su larga scala in cui le prestazioni di inserimento e la localizzazione dei dati sono importanti
- Crea identificatori a incremento monotono per sistemi distribuiti di event streaming come Kafka o Pulsar
- Sostituisci UUID v4 nelle applicazioni che necessitano di ordinamento cronologico senza una colonna timestamp separata
UUID v7 vs altre versioni
| Versione | Basato sul tempo | Ordinabile | Privacy sicura | Casualità |
|---|---|---|---|---|
| v1 | Sì | No | No (usa MAC) | Bassa |
| v4 | No | No | Sì | Alta |
| v6 | Sì | Sì | No (usa MAC) | Bassa |
| v7 | Sì | Sì | Sì | Media |
UUID v7 combina le migliori qualità: ordinabilità basata sul tempo senza esporre identificatori hardware, con una casualità sufficiente a prevenire collisioni tra nodi distribuiti.
Spiegazione delle opzioni
- Quantità (1–100): Quanti valori UUID v7 generare in un singolo batch. Tutti gli UUID in un batch condividono lo stesso timestamp approssimativo ma differiscono nei loro bit casuali.
- Maiuscole: Se abilitato, genera UUID con caratteri esadecimali maiuscoli (A–F invece di a–f).
- Trattini: Se abilitato (impostazione predefinita), gli UUID includono il raggruppamento standard con trattini 8-4-4-4-12. Disabilita per ottenere una stringa esadecimale compatta di 32 caratteri.
FAQ
UUID v7 può generare collisioni?
Le collisioni sono estremamente improbabili. Anche nello stesso millisecondo, i 74 bit di dati casuali/monotoni forniscono oltre 18 quintilioni di combinazioni possibili. La libreria uuid utilizza inoltre contatori monotoni per garantire l'unicità all'interno di un processo.
UUID v7 è retrocompatibile con UUID v4? Sì. UUID v7 segue lo stesso formato a 128 bit, 8-4-4-4-12 ed è valido ovunque vengano accettati gli UUID. Le colonne UUID esistenti, i parser e i validatori funzionano senza modifiche.
Quando dovrei usare UUID v7 invece di UUID v4? Usa UUID v7 quando il tuo caso d'uso beneficia di chiavi ordinate per tempo — ad esempio, come chiavi primarie di database in cui le prestazioni dell'indice B-tree migliorano con gli inserimenti sequenziali. Usa UUID v4 quando l'ordinamento non è rilevante e desideri la massima casualità.