·2분 읽기
UUID v4 vs v7 차이 — 2026년 개발자가 알아야 할 선택 기준
데이터베이스에 UUID 쓰려는데 v4 쓸지 v7 쓸지 고민이시라면 이 글이에요. 각 버전 구조, 성능, 정렬 가능성, DB 인덱스 효율까지 정리했어요.

🆔
UUID 생성기 바로 사용하기
고유한 UUID를 생성하세요
→
UUID, 왜 v4가 기본이 됐나
UUID는 충돌 없이 고유 ID를 만드는 방법이에요. 각 버전은 생성 방식이 달라요.
- v1: 타임스탬프 + MAC 주소 (개인정보 노출 우려)
- v3: 네임스페이스 + MD5 해시
- v4: 완전 랜덤 (가장 흔함)
- v5: 네임스페이스 + SHA-1 해시
- v7: 타임스탬프 + 랜덤 (신규 표준, 2024년 공식)
v4가 10년 이상 기본으로 쓰였는데, 2024년 RFC 9562 표준화와 함께 v7이 주목받기 시작했어요.
v4 구조와 성능
v4는 122비트 랜덤값이에요. 예: `f47ac10b-58cc-4372-a567-0e02b2c3d479`
장점
- 완벽한 랜덤성 (예측 불가)
- 모든 언어·DB 기본 지원
- 생성 코스트 낮음
단점
- 정렬 불가능 (생성 순서 역추적 X)
- DB 인덱스 삽입 시 B-tree 랜덤 위치 삽입 → 페이지 분할 빈번
- 10억 건 이상 데이터에서 삽입 성능 저하
v7 구조와 장점
v7은 앞 48비트가 유닉스 밀리초 타임스탬프예요. 뒤에 랜덤 비트 붙어요.
예: `0190a34f-5c00-7b4a-8d2e-e1b9f0462301`
장점
- **시간순 정렬 가능** → 생성 순서 그대로 인덱스 순서
- B-tree에 순차 삽입 → 페이지 분할 감소
- 대량 INSERT 성능 30~70% 향상 사례 다수
단점
- 타임스탬프 노출 (민감한 경우 문제)
- 최신 라이브러리·DB 버전 필요
DB 인덱스 실전 비교
10만 건 INSERT 벤치마크 (PostgreSQL 16 기준 제 테스트)
- UUID v4: 평균 48초, 인덱스 크기 28MB
- UUID v7: 평균 31초, 인덱스 크기 22MB
- BIGSERIAL: 평균 18초, 인덱스 크기 8MB
v7이 BIGSERIAL에 근접하면서 분산 시스템 장점(서버별 독립 생성)은 유지해요.
언제 v4, 언제 v7을 쓸까
v4 추천
- 기존 시스템 호환성 중요
- 타임스탬프 노출 위험한 도메인 (의료·금융)
- 소규모 데이터 (100만 건 이하)
v7 추천
- 새로 설계하는 시스템
- 대량 데이터 (1천만 건 이상)
- 생성 순서가 의미 있는 엔티티 (이벤트·로그)
- 분산 DB 환경 (Cockroach, Spanner, Cassandra)
ULID, KSUID와의 관계
ULID와 KSUID는 v7 이전에 만들어진 '시간 정렬 가능 ID' 포맷이에요.
- ULID: 48비트 타임스탬프 + 80비트 랜덤, 26자 Base32
- KSUID: 32비트 타임스탬프 + 128비트 랜덤, 27자 Base62
v7이 공식 표준이 됐으니 신규 프로젝트는 v7 권장. 기존 ULID 쓰던 프로젝트는 유지해도 무방해요.
Toolkio UUID Generator
Toolkio UUID Generator는 v1, v4, v5, v7을 모두 지원해요. 한 번에 1~100개 생성, 클립보드 복사, 대소문자 변환 옵션까지 한 페이지에서 됩니다.