Che cos'è un UUID v7?
Un UUID v7 inizia con un timestamp Unix da 48 bit in millisecondi. I valori vicini nel tempo restano quindi vicini nell'indice, e le righe nuove si accodano invece di distribuirsi nell'albero B.
Gli altri 74 bit sono casuali. Il v7 unisce l'ordine di un contatore sequenziale alla resistenza alle collisioni di un identificatore casuale: è la chiave primaria più ovvia in un sistema distribuito.
Come si usa
- Scegli quanti UUID vuoi (da 1 a 1000).
- Fai clic su Genera: i valori escono già in ordine crescente.
- Copia un valore oppure esporta il lotto in .txt o .csv.
Casi d'uso
- Chiavi primarie su PostgreSQL, MySQL, SQL Server e SQLite.
- ID di eventi e log interrogati per data.
- Code e registri di cattura delle modifiche (CDC).
Come si colloca UUID v7
| Opzione | Quando usarla |
|---|---|
v4 | Casualità pura, senza riferimento temporale — il classico |
v6 | Ordinabile anche lui, ma con il timestamp a 60 bit del v1 |
ULID | Ordinabile, però da 26 caratteri in Crockford base32 |
Le versioni UUID in breve
| Versione | Ordinabile | Basata su | Usala per |
|---|---|---|---|
| v1 | No | Timestamp + indirizzo MAC | Sistemi storici che si aspettano ancora il v1 |
| v3 | No | Hash MD5 di un nome | Identificatori deterministici quando MD5 è obbligatorio |
| v4 | No | 122 bit casuali | Quasi tutti gli identificatori di uso generale |
| v5 | No | Hash SHA-1 di un nome | Quando lo stesso nome deve dare sempre lo stesso ID |
| v6 | Sì | Timestamp riordinato | Identificatori ordinabili senza rinunciare al casuale |
| v7 | Sì | Tempo Unix in millisecondi | Chiavi primarie di database e ID di eventi |
| v8 | No | Il tuo layout di bit | Formati proprietari o sperimentali |
Tutte e sette le versioni sono da 128 bit e si scrivono nella stessa forma 8-4-4-4-12. Cambia solo il significato dei bit.
Domande frequenti
Il v7 rivela quando l'identificatore è stato creato?
Sì, il timestamp è visibile in testa. È voluto: proprio da lì viene la possibilità di ordinare. Se la data di creazione deve restare riservata, usa il v4.
Posso usare il v7 come chiave primaria?
Sì, ed è meglio del v4 appena la colonna è indicizzata. I valori restano unici e gli inserimenti restano sequenziali, il che riduce il carico di scrittura e la dimensione dell'indice.
I valori v7 restano unici nello stesso millisecondo?
Sì. Un incremento monotono nella parte casuale garantisce che più identificatori dello stesso millisecondo restino crescenti e distinti.