UUID 생성과 활용 완벽 가이드
UUID(Universally Unique Identifier)는 전 세계적으로 고유한 식별자를 생성하는 표준 방식입니다. 데이터베이스, API, 분산 시스템에서 중복 없는 ID가 필요할 때 UUID를 사용합니다.
1. UUID의 기본 개념
UUID는 128비트 숫자로, 550e8400-e29b-41d4-a716-446655440000 형태의 36자 문자열로 표현됩니다.
UUID의 특징:
- 중복 확률이 극히 낮음 (사실상 고유함 보장)
- 중앙 관리 없이 독립적으로 생성 가능
- 분산 시스템에서 안전하게 사용 가능
2. UUID 버전별 특징
Version 1 (시간 기반)
타임스탬프와 MAC 주소를 사용하여 생성합니다.
- 장점: 시간 순서 보장
- 단점: MAC 주소 포함으로 개인정보 우려
Version 4 (무작위)
완전 무작위 값으로 생성합니다.
- 장점: 예측 불가능, 개인정보 안전
- 단점: 시간 순서 없음
- 가장 많이 사용됨
Version 5 (이름 기반)
네임스페이스와 이름을 SHA-1 해싱하여 생성합니다.
- 장점: 동일한 입력이면 항상 같은 UUID
- 용도: 결정적 ID 필요 시
3. 실무 사용 사례
데이터베이스 기본 키
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name VARCHAR(255),
email VARCHAR(255)
);
API 리소스 식별자
// RESTful API 엔드포인트
GET /api/users/550e8400-e29b-41d4-a716-446655440000
파일 이름 생성
const fileId = crypto.randomUUID();
const filename = `upload-${fileId}.jpg`;