DevToolPal
PL

Generator ULID

Generuj ULID-y: 26-znakowe, sortowalne według czasu unikalne identyfikatory z bezpieczną losowością, w partiach do 1000 sztuk.

Działa lokalnie, nic nie jest wysyłane

Opcje

ULID-y

0 znaków · 0 B

Co robi to narzędzie

To narzędzie generuje ULID-y w twojej przeglądarce. ULID to 128-bitowy identyfikator, podobnie jak UUID, ale zapisywany jako 26 znaków i sortujący się według czasu utworzenia. Dzięki temu ULID-y dobrze sprawdzają się jako klucze główne w bazie danych, identyfikatory zdarzeń i logów, nazwy plików i wszystko inne, co chcesz wyświetlać w kolejności tworzenia bez osobnej kolumny ze znacznikiem czasu.

ULID składa się z dwóch części:

  • Znacznik czasu (pierwsze 10 znaków): milisekundy od epoki Unix, 48 bitów. Wystarcza do roku 10889.
  • Losowość (ostatnie 16 znaków): 80 bitów z kryptograficznego generatora liczb losowych przeglądarki.

ULID-y używają alfabetu Crockford Base32 0123456789ABCDEFGHJKMNPQRSTVWXYZ. Pomija on I, L, O i U, aby identyfikatory łatwo było czytać na głos i trudno było się w nich pomylić, i nie zawiera znaków wymagających escapowania w URL-ach.

Jak używać

  1. Wybierz, ile identyfikatorów potrzebujesz, od 1 do 1000.
  2. Włącz Monotoniczne, jeśli identyfikatory muszą zachować kolejność, nawet gdy kilka powstaje w tej samej milisekundzie. Część losowa jest wtedy zwiększana o jeden dla każdego nowego ID.
  3. Włącz Małe litery, jeśli twój system przechowuje identyfikatory małymi literami. ULID-y nie rozróżniają wielkości liter, a postacią kanoniczną są wielkie litery.
  4. Skopiuj listę lub pobierz ją jako plik tekstowy. Naciśnij ponownie Generuj, aby dostać nową partię.

Przykład

01ARZ3NDEKTSV4RRFFQ69G5FAV

Tutaj 01ARZ3NDEK to znacznik czasu 1469922850259 (2016-07-30 23:54:10.259 UTC), a TSV4RRFFQ69G5FAV to część losowa. Dwa ULID-y utworzone w odstępie sekundy mają wspólnych kilka pierwszych znaków, dlatego zwykłe sortowanie napisów układa je w kolejności czasowej.

ULID a UUID

Losowy UUID v4 rozrzuca nowe wiersze po całym indeksie B-drzewa, co spowalnia wstawianie do dużych tabel. ULID-y w większości rosną, więc nowe wiersze trafiają na koniec indeksu, tak jak przy liczbie całkowitej z autoinkrementacją, a jednocześnie pozostają unikalne między maszynami bez żadnej koordynacji. Ceną jest to, że ULID zdradza w przybliżeniu, kiedy powstał. Jeśli to ma znaczenie, użyj UUID v4.

FAQ

› Czym jest ULID?

ULID (Universally Unique Lexicographically Sortable Identifier) to 128-bitowy identyfikator zapisywany jako 26 znaków w alfabecie Crockford Base32. Pierwsze 10 znaków koduje znacznik czasu w milisekundach, a ostatnie 16 jest losowych.

› ULID czy UUID: którego użyć?

Użyj ULID, gdy chcesz identyfikatorów sortujących się według czasu utworzenia, np. jako kluczy w bazie danych lub ID w logach. Użyj UUID v4, gdy identyfikator nie może zdradzać, kiedy powstał. UUID v7 to standardowa alternatywa, która również jest uporządkowana czasowo.

› Co robi tryb monotoniczny?

Identyfikatory utworzone w tej samej milisekundzie normalnie dostają niezależne części losowe, więc ich kolejność w obrębie tej milisekundy jest przypadkowa. W trybie monotonicznym część losowa jest zamiast tego zwiększana o jeden, więc każdy ID w partii sortuje się ściśle po poprzednim.

› Czy identyfikatory są generowane bezpiecznie?

Tak. Część losowa pochodzi z kryptograficznego generatora liczb losowych przeglądarki i nic nie jest wysyłane na serwer.