MODOO HUB ← 모두의 툴
🌐 EN
Dev · Instrument

ULID 생성기

정렬 가능한 고유 ID (Universally Unique Lexicographically Sortable Identifier)

개수

ULID 생성기란?

ULID(Universally Unique Lexicographically Sortable Identifier)는 26자리 Crockford Base32 인코딩 고유 ID입니다. 앞 10자리는 밀리초 타임스탬프, 뒤 16자리는 랜덤값으로 구성됩니다. UUID와 달리 알파벳 정렬이 가능해 데이터베이스 인덱싱에 유리합니다.

자주 묻는 질문

ULID와 UUID의 차이는?

ULID는 타임스탬프 기반으로 정렬되지만, UUID v4는 완전 랜덤입니다. ULID는 삽입 순서를 유지해 B-트리 인덱스 단편화를 줄입니다.

ULID의 정렬은 어떻게 이루어지나요?

앞 10자리가 타임스탬프이므로 문자열 정렬 = 시간순 정렬입니다. 밀리초 내 여러 ULID는 랜덤 부분으로 구분됩니다.

ULID는 UUID와 호환되나요?

ULID는 128비트이므로 UUID 형식으로 저장할 수 있습니다. 일부 라이브러리가 변환을 지원합니다.

Crockford Base32란?

혼동하기 쉬운 문자(I, L, O, U)를 제외한 32진법 인코딩입니다. 대소문자 구분 없이 사용 가능합니다.

ULID는 언제 사용하나요?

데이터베이스 기본키로 UUID 대신 사용하거나, 생성 시간순으로 정렬이 필요한 고유 ID가 필요할 때 사용합니다.

ULID 생성은 안전한가요?

Web Crypto API(getRandomValues)를 사용해 암호학적으로 안전한 랜덤값을 생성합니다.

NanoID와는 어떻게 다른가요?

NanoID는 크기가 작고 커스텀 알파벳을 지원하지만 정렬 불가입니다. ULID는 정렬 가능하고 타임스탬프를 내장합니다.

ULID의 최대 타임스탬프는?

48비트 타임스탬프로 2^48 - 1 ms, 즉 서기 10889년까지 표현 가능합니다.