ULID

sigla

programação

Significa: Universally Unique Lexicographically Sortable Identifier

Um identificador único e ordenável, alternativa ao UUID.

Identificador Universalmente Único Lexicograficamente Ordenável (do inglês Universally Unique Lexicographically Sortable Identifier) codifica um timestamp mais aleatoriedade para que os IDs ordenem aproximadamente por tempo de criação e permaneçam únicos. Foi uma resposta popular à falta de ordenação do UUIDv4 antes de o UUIDv7 surgir.

Um ULID é um identificador único que ordena lexicograficamente por tempo de criação, codificando um carimbo de tempo seguido de aleatoriedade. Existe porque o UUID versão 4 é inteiramente aleatório, o que faz dele uma chave de banco ruim.

A razão é localidade de índice. Chaves aleatórias inserem em pontos arbitrários de uma árvore B, fragmentando páginas e sujando muitas delas por lote de escritas; chaves ordenadas por tempo anexam, o que mantém pequeno o conjunto de trabalho e compacto o índice. A troca é que um ULID revela seu tempo de criação a quem o vir, e permanece adivinhável na ordenação, então serve para chaves internas e não serve para nada em que um identificador deva revelar nada. O UUID versão 7 padroniza a mesma ideia.

Também conhecido como: ulid

Todos os verbetes do glossário