ULID (Universally Unique Lexicographically Sortable Identifier) ist eine eindeutige Kennung mit zeitlicher Sortierbarkeit. Eine Standard-ULID enthält 128 Bit, davon 48 Bit Millisekunden-Zeitstempel und 80 Bit Zufallsdaten, und wird normalerweise als 26-stellige Zeichenfolge dargestellt.
Da der Zeitstempel am Anfang der Kennung gespeichert wird, können ULIDs in der Regel lexikografisch entsprechend ihrer Erstellungszeit sortiert werden.
Eine Standard-ULID kombiniert einen 48-Bit-Millisekunden-Zeitstempel mit 80 Bit Zufallsdaten. Sie wird mit Crockford Base32 codiert und normalerweise als 26 Zeichen dargestellt.
Beide Kennungen dienen der eindeutigen Identifikation, verfolgen aber unterschiedliche Ziele. UUID konzentriert sich hauptsächlich auf Eindeutigkeit, während ULID zusätzlich zeitliche Sortierbarkeit bietet.
Die ersten 48 Bit einer Standard-ULID enthalten einen Unix-Zeitstempel in Millisekunden. Dieser kann zur Analyse und Sortierung ausgelesen werden.
ULID bietet einen sehr großen Identifikatorraum. Für produktive Systeme sollten jedoch Datenbankindizes, Speicherformat, Sortierung und ID-Generierungsstrategie gemeinsam betrachtet werden.
Kommentare 0