🌐 KO

🆔 UUID 생성기

범용 고유 식별자(UUID)를 생성합니다. 데이터베이스 키, API 토큰, 세션 ID 등에 사용되는 표준 UUID를 만들 수 있습니다.

버전 정보

v1 (타임스탬프 기반)
MAC 주소와 타임스탬프 기반. 시간 순서 보장.
v4 (랜덤)
완전 랜덤. 가장 일반적으로 사용됨.
v7 (타임스탬프 정렬 가능)
타임스탬프 기반 정렬 가능. 최신 표준.
가이드

자세히 알아보기

01

1. UUID란 무엇인가?

UUID(Universally Unique Identifier)는 범용 고유 식별자로, 중앙 조정 없이 고유성을 보장하는 128비트 식별자입니다. 8-4-4-4-12 형식의 16진수로 표현되며(예: 550e8400-e29b-41d4-a716-446655440000), 전 세계 어디서나 생성해도 중복될 확률이 극히 낮습니다. 데이터베이스의 기본 키, 세션 ID, 파일명, API 토큰 등 다양한 곳에서 사용됩니다. GUID(Globally Unique Identifier)라고도 불리며, RFC 4122 표준으로 정의되어 있습니다.

02

2. UUID 버전별 특징 비교

UUID는 총 5가지 버전이 있으며 각각 다른 생성 방식을 사용합니다. v1은 MAC 주소와 타임스탬프를 결합하여 시간 순서를 보장하지만 MAC 주소 노출로 보안 위험이 있습니다. v4는 완전 랜덤 생성으로 가장 널리 사용되며 예측 불가능성이 높습니다. v7은 2024년 표준화된 최신 버전으로 타임스탬프 기반 정렬이 가능하여 데이터베이스 인덱싱에 유리합니다. v2는 DCE 보안용, v3/v5는 네임스페이스 기반으로 특수 목적에 사용됩니다.

03

3. UUID 사용 사례

UUID는 다양한 상황에서 유용합니다. 분산 시스템에서는 중앙 서버 없이 고유 ID를 생성할 수 있어 확장성이 뛰어납니다. 데이터베이스에서는 자동 증가 ID 대신 UUID를 기본 키로 사용하면 병합 충돌을 피할 수 있습니다. 마이크로서비스 아키텍처에서는 서비스 간 통신 추적에 사용됩니다. 파일 업로드 시 파일명 충돌 방지, 임시 토큰 생성, 이벤트 추적, 로그 상관관계 분석 등에도 널리 쓰입니다.

04

4. v1 vs v4 vs v7 선택 가이드

UUID 버전 선택은 요구사항에 따라 달라집니다. v1은 시간 순서가 중요하고 MAC 주소 노출이 괜찮다면 선택하세요. 하지만 MAC 주소로 생성 위치를 추적할 수 있어 프라이버시 문제가 있습니다. v4는 보안이 중요하고 순서가 필요 없다면 최선의 선택입니다. 완전 랜덤이라 예측 불가능하며 개인정보 노출이 없습니다. v7은 시간 정렬과 보안을 모두 원한다면 권장됩니다. 타임스탬프 기반 정렬로 데이터베이스 성능이 좋고 인덱스 단편화가 적습니다.

05

5. UUID 고유성 보장 원리

UUID의 충돌 확률은 천문학적으로 낮습니다. v4의 경우 122비트가 랜덤이므로 2^122 = 5.3 x 10^36개의 가능한 조합이 있습니다. 매초 10억 개를 생성해도 충돌 확률 50%에 도달하려면 85년이 걸립니다. v1은 타임스탬프(60비트)와 클록 시퀀스(14비트)로 시간 기반 고유성을 보장하며, MAC 주소(48비트)로 공간 기반 고유성을 보장합니다. v7은 Unix 타임스탬프(48비트)와 랜덤(74비트)을 결합하여 시간 순서와 고유성을 모두 만족합니다.

06

6. 데이터베이스에서 UUID 활용

UUID를 데이터베이스 기본 키로 사용하면 여러 장점이 있습니다. 분산 환경에서 중앙 ID 생성기 없이 각 노드가 독립적으로 ID를 만들 수 있어 확장성이 뛰어납니다. 데이터 병합 시 ID 충돌이 없으며, URL에 노출해도 순차적 추측이 불가능해 보안에 유리합니다. 하지만 단점도 있습니다. 16바이트로 정수형(4-8바이트)보다 크며, v4는 무작위라 인덱스 성능이 떨어질 수 있습니다. 이런 경우 v7을 사용하면 시간 순서로 정렬되어 B-tree 인덱스 성능이 향상됩니다.