블로그로 돌아가기
uuid 2025-01-18

UUID vs ULID: 차이점 이해하기

애플리케이션에 적합한 식별자를 선택하기 위해 UUID와 ULID를 비교합니다.

분산 시스템에서 고유 식별자는 필수입니다. UUID와 ULID를 비교해 보겠습니다.

UUID란?

UUID(Universally Unique Identifier)는 RFC 4122로 표준화된 128비트 식별자입니다.

UUID 버전:

  • v1: 타임스탬프와 MAC 주소 기반
  • v4: 랜덤(가장 일반적으로 사용)
  • v7: 랜덤 컴포넌트가 있는 시간 순서(최신)

예시: 550e8400-e29b-41d4-a716-446655440000

ULID란?

ULID(Universally Unique Lexicographically Sortable Identifier)는 다음 특성을 가진 128비트 식별자입니다:

  • 사전순 정렬 가능
  • 26자로 정규 인코딩
  • Crockford의 Base32 사용

예시: 01ARZ3NDEKTSV4RRFFQ69G5FAV

주요 차이점

특징UUID v4ULID

|------|---------|------|

정렬 가능아니오예 길이36자26자 문자 집합16진수 + 대시Crockford Base32 시간 컴포넌트없음있음(48비트)

언제 사용할까?

UUID 사용 시기:

  • RFC 준수가 필요한 경우
  • 기존 시스템과의 호환성
  • 정렬 요구사항이 없는 경우

ULID 사용 시기:

  • 시간순 정렬이 필요한 경우
  • 데이터베이스 인덱스 성능이 중요한 경우
  • 더 짧은 ID를 원하는 경우

데이터베이스 고려사항

ULID가 데이터베이스 성능을 향상시키는 이유:

  • 순차 삽입이 더 빠름
  • 더 나은 인덱스 지역성
  • B-tree에서 페이지 분할 감소

UUID Generator를 사용하여 모든 버전의 UUID를 생성하세요.