Cos'è UUID v7?
UUID versione 7 è un identificatore a 128 bit ordinato temporalmente definito da RFC 9562, pubblicato a maggio 2024. È composto da:
- Timestamp Unix: 48 bit di tempo Unix con precisione al millisecondo
- Dati casuali: 74 bit di dati casuali
- Bit di versione e variante: 6 bit per l'identificazione del formato
Esempio di formato: 017f22e2-79b0-7cc3-98c4-dc0c0c07398f
Come funziona UUID v7
- Ottenere il timestamp Unix corrente in millisecondi (48 bit)
- Generare 74 bit di dati casuali crittograficamente sicuri
- Impostare i bit di versione su 0111 (versione 7)
- Impostare i bit di variante su 10 (standard RFC 4122)
- Assemblare come 32 cifre esadecimali con trattini: formato 8-4-4-4-12
Vantaggi e considerazioni
| Advantages | Considerations |
|---|---|
|
|
Struttura di UUID v7
| Bits | Content |
|---|---|
| 0-47 | Timestamp Unix (millisecondi) |
| 48-51 | Versione (0111 per v7) |
| 52-63 | Dati casuali |
| 64-65 | Variante (10 per RFC4122) |
| 66-127 | Dati casuali |
UUID v7 rispetto ad altre versioni
| Version | Basato su | Caso d'uso | Privacy |
|---|---|---|---|
| UUID v1 | Tempo + MAC | ID ordinati per tempo | ⚠️ Rivela MAC |
| UUID v3 | Namespace + MD5 | ID deterministici | ✅ Privato |
| UUID v4 | Random | ID casuali sicuri | ✅ Privato |
| UUID v5 | Namespace + SHA-1 | ID deterministici | ✅ Privato |
| UUID v6 | Tempo (riordinato) | ID ordinabili | ⚠️ Rivela MAC |
| UUID v7 | Tempo + casuale | ID ordinabili | Incorpora il tempo di generazione; nessun indirizzo MAC |
Casi d'uso comuni
- Chiavi primarie del database: Indici efficienti
- Sistemi distribuiti: Ordinati per tempo senza coordinazione
- Applicazioni moderne: Identificatori orientati alla privacy
- Microservices: ID ordinabili tra servizi
- Event sourcing: ID di eventi cronologici
- Data warehousing: ID analitici ordinati per tempo
Domande frequenti
Qual è il vantaggio di UUID v7 rispetto a v1 o v6?
UUID v7 usa timestamp Unix in millisecondi e dati casuali invece di indirizzi MAC, offrendo protezione della privacy mantenendo l'ordinabilità in base al tempo di generazione.
UUID v7 è uno standard ufficiale?
Sì. UUID v7 è definito da RFC 9562, pubblicato a maggio 2024.
Posso estrarre il tempo di creazione da UUID v7?
Sì. Il timestamp Unix in millisecondi può essere estratto dai primi 48 bit e convertito in una data/ora standard.
Gli UUID v7 sono ordinabili per data di creazione?
Sì. UUID v7 è progettato per essere ordinabile lessicograficamente, con il timestamp Unix nei bit più significativi, permettendo il confronto diretto delle stringhe per ottenere l'ordine cronologico.
UUID v7 espone informazioni sul sistema?
UUID v7 non incorpora un indirizzo MAC, ma i suoi primi 48 bit rivelano il timestamp di generazione in millisecondi. Considera questi metadati temporali visibili a chiunque riceva l'identificatore.