ULID-Generator

Generert i nettleseren din, aldri sendt til en server.

Hva er ULID-Generator

En ULID (Universally Unique Lexicographically Sortable Identifier) er en 128-bits ID skrevet som 26 tegn i Crockfords Base32. De første 10 tegnene koder et tidsstempel i millisekunder, og de siste 16 er tilfeldige, slik at ULID-er sorteres i opprettelsesrekkefølge som ren tekst og samtidig forblir globalt unike. Denne generatoren lager dem i sin helhet i nettleseren din med Web Crypto API, uten noen server.

Slik bruker du det

  1. Velg hvor mange ULID-er som skal genereres i menyen Antall.
  2. Klikk på Generer, eller endre antallet, for å lage et nytt sett.
  3. Kryss av for Monoton for å holde ID-er som lages i samme millisekund i streng rekkefølge.
  4. Klikk på Kopier ved siden av en ULID, eller på Kopier alle for hele listen.

Når du bør bruke det

Trenger du databasenøkler som sorteres etter opprettelsestid uten en egen tidsstempelkolonne? Generer et sett med ULID-er og bruk dem som primærnøkler: siden tidsstempelet ligger i de første 10 tegnene, returnerer en enkel ORDER BY på id-en radene fra eldst til nyest. Nyttig for hendelseslogger, melding-ID-er og overalt der du ellers ville tatt en UUID, men også vil ha naturlig rekkefølge.

Ofte stilte spørsmål

Hvordan skiller en ULID seg fra en UUID?

Begge er unike 128-bits identifikatorer, men en ULID er Base32 (26 tegn, ufølsom for store og små bokstaver, URL-trygg), og de første bitene er et tidsstempel, så ULID-er sorteres kronologisk som tekst. En UUID v4 er helt tilfeldig og har ingen nyttig rekkefølge.

Hva betyr monoton her?

Når flere ULID-er lages i samme millisekund, øker monoton modus den tilfeldige delen i stedet for å trekke den på nytt, slik at hver nye ID er strengt større enn den forrige. La den være av hvis du bare vil ha uavhengige tilfeldige ID-er.

Blir disse ULID-ene sendt til en server?

Nei. Hver ULID genereres lokalt i nettleseren din med Web Crypto API. Ingenting lastes opp, logges eller overføres.

Kan jeg bruke ULID-er som primærnøkler?

Ja. De passer i enhver tekst- eller 16-byte binærkolonne og støttes av biblioteker for PostgreSQL, MySQL, MongoDB og de fleste språk. Tidsrekkefølgen reduserer også indeksfragmentering sammenlignet med tilfeldige UUID-er.

Relaterte verktøy