
UUID란 무엇인가요?
**UUID (Universally Unique Identifier)**는 소프트웨어 구축 시 정보를 고유하게 식별하기 위한 128비트 식별자입니다.
중앙 관리 기관 없이 분산 시스템에서도 중복 가능성이 극히 낮은 ID를 생성할 수 있다는 것이 가장 큰 특징입니다.
주요 버전별 차이점
UUID에는 여러 버전이 있지만, 현대 시스템 개발에서 가장 자주 사용되는 버전은 다음 세 가지입니다:
1. Version 4 (랜덤)
가장 일반적으로 사용되는 형식으로, 122비트의 랜덤 값으로 구성됩니다.
- 특징: 예측 불가능하며 생성이 쉽습니다.
- 용도: 세션 ID, 사용자 ID, 일시적인 토큰 등.
2. Version 7 (Unix Epoch timestamp + 랜덤)
2024년에 표준화된 비교적 최신 형식으로, 시작 부분에 타임스탬프를 포함합니다.
- 특징: 시간 순서대로 정렬 가능합니다 (Lexicographically sortable).
- 용도: **데이터베이스 기본 키 (PK)**에 최적입니다. B-tree 인덱스 효율을 유지하면서 고유성을 확보할 수 있습니다.
3. Version 1 (타임스탬프 + MAC 주소)
생성한 장비의 MAC 주소와 생성 시간을 조합하여 만듭니다.
- 특징: 생성 장소와 시간을 특정할 수 있습니다.
- 용도: 레거시 시스템이나 특정 장치에서의 고유성이 필요한 경우.
DB 기본 키로서의 UUID vs 자동 증가 ID (Incremental ID)
| 특징 | 자동 증가 ID (Auto Increment) | UUID (v4) | UUID (v7) |
|---|---|---|---|
| 분산 환경 | 어려움 (동기화 필요) | 쉬움 (디커플링) | 쉬움 (디커플링) |
| 예측 가능성 | 높음 (공격에 취약) | 낮음 (보안 우수) | 낮음 (보안 우수) |
| 정렬 순서 | ID 순서 | 무작위 | 시간 순서 (연대순) |
| DB 성능 | 높음 | 낮음 | 높음 (B-tree 효율적) |
DevToolKits에서 생성하기
저희 사이트의 **UUID 생성 도구**를 사용하면 여러 개의 UUIDv4를 즉시 생성하고 한 번의 클릭으로 복사할 수 있습니다. 개발 중 테스트 데이터 생성을 위해 활용해 보세요.
💡 팁: API 키와 같은 보안이 중요한 용도에서는 반드시 충분한 엔트로피를 가진 난수 생성기를 사용해야 합니다.