¿Qué es ULID?
ULID (Identificador único lexicográficamente ordenable universal) es un identificador único y ordenable propuesto por Alizain Feerasta en 2016. Combina una marca de tiempo y un generador de números aleatorios para generar un identificador de 32 bits que es adecuado para identificar entidades de datos y eventos en sistemas distribuidos.
¿Por qué usar ULID?
ULID tiene algunas ventajas sobre UUID:
- Organizabilidad: dado que ULID se genera según la marca de tiempo, se puede ordenar por marca de tiempo, lo cual es muy útil para la indexación y consulta de bases de datos. Además, debido a que ULID usa un prefijo basado en marca de tiempo, los primeros 12 caracteres se pueden usar para determinar la marca de tiempo, lo que facilita la depuración y la administración de datos.
- Legibilidad: ULID se compone de 32 caracteres, de los cuales los primeros 12 caracteres se generan mediante la marca de tiempo. La marca de tiempo se puede determinar mediante estos 12 caracteres. Esto es útil para la depuración y la gestión de datos.
- Baja tasa de colisiones: ULID tiene una tasa de colisiones muy baja porque utiliza un prefijo basado en marca de tiempo y un generador de números aleatorios para generar ULID, lo que hace que el ULID generado sea globalmente único.
- Corto y liviano: ULID tiene solo 32 caracteres, mientras que UUID tiene 36 caracteres, lo que significa que ULID es más corto, más liviano y más adecuado para su uso en sistemas distribuidos.
- Seguridad: ULID utiliza un generador de números aleatorios basado en CSPRNG para generar la parte de números aleatorios, lo que lo hace más seguro y menos vulnerable a los ataques.