UUID(Universally Unique Identifier)는 전 세계에서 중복될 확률이 사실상 0인 128비트 식별자입니다. 데이터베이스 기본 키, 세션 토큰, 파일 ID 등에 널리 쓰이며, 여기서는 가장 일반적인 버전 4(랜덤 기반)를 생성합니다.

UUID란?

128비트(16바이트)로 이루어진 범용 고유 식별자입니다. 표준 형식은 xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx로, 총 36자(하이픈 포함)입니다. v4는 122비트가 무작위이므로 충돌 확률은 2^122분의 1입니다.

자주 묻는 질문 (FAQ)

Q. v1, v4, v7의 차이는?

v1은 시간+MAC 기반(시간순 정렬 가능, MAC 노출), v4는 순수 랜덤(가장 보편), v7은 유닉스 타임스탬프+랜덤(최신 표준, 정렬 가능). 대부분의 용도엔 v4가 충분합니다.

Q. 정말 충돌이 안 나나요?

초당 10억 개를 85년간 생성해야 1회 충돌 가능성이 50%가 됩니다. 현실에서 충돌 걱정은 안 하셔도 됩니다.

Q. DB 기본 키로 UUID vs 정수 ID?

분산 시스템·보안(추측 불가)에는 UUID가 유리합니다. 단, 128비트라 용량·인덱스 성능은 정수보다 떨어집니다. 성능 중요하면 UUIDv7 또는 ULID를 고려하세요.