ULID sta per Universally Unique Lexicographically Sortable Identifier (Identificatore univoco lexicograficamente ordinabile)
Cos'è ULID?
ULID (Universally Unique Lexicographically Sortable Identifier) è un identificatore ordinabile e univoco proposto da Alizain Feerasta nel 2016. Combina un timestamp e un generatore di numeri casuali per generare un identificatore a 32 bit che è adatto per identificare entità di dati ed eventi in sistemi distribuiti.
Perché usare ULID?
ULID presenta alcuni vantaggi rispetto all'UUID:
- Ordinabilità: poiché l'ULID viene generato in base al timestamp, può essere ordinato in base al timestamp, il che è molto utile per l'indicizzazione e l'interrogazione del database. Inoltre, poiché l'ULID utilizza un prefisso basato su timestamp, è possibile utilizzare i primi 12 caratteri per determinare il timestamp, semplificando il debug e la gestione dei dati.
- Leggibilità: ULID è composto da 32 caratteri, di cui i primi 12 caratteri sono generati dal timestamp Il timestamp può essere determinato da questi 12 caratteri. Ciò è utile per il debug e la gestione dei dati.
- Basso tasso di collisione: l'ULID ha un tasso di collisione molto basso perché utilizza un prefisso basato su timestamp e un generatore di numeri casuali per generare ULID, il che rende l'ULID generato globalmente unico.
- Breve e leggero: ULID ha solo 32 caratteri, mentre UUID ha 36 caratteri, il che significa che ULID è più breve, più leggero e più adatto all'uso in sistemi distribuiti.
- Sicurezza: ULID utilizza un generatore di numeri casuali basato su CSPRNG per generare la parte di numeri casuali, che lo rende più sicuro e meno vulnerabile agli attacchi.