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 사용 시기:
- RFC 준수가 필요한 경우
- 기존 시스템과의 호환성
- 정렬 요구사항이 없는 경우
ULID 사용 시기:
- 시간순 정렬이 필요한 경우
- 데이터베이스 인덱스 성능이 중요한 경우
- 더 짧은 ID를 원하는 경우
데이터베이스 고려사항
ULID가 데이터베이스 성능을 향상시키는 이유:
- 순차 삽입이 더 빠름
- 더 나은 인덱스 지역성
- B-tree에서 페이지 분할 감소
UUID Generator를 사용하여 모든 버전의 UUID를 생성하세요.