UUID란? v4 생성과 활용
128비트 고유 식별자 UUID의 구조와 버전 4(v4)의 랜덤 생성 원리, DB 기본키·분산 시스템·요청 추적 같은 용도와 ULID 대안까지 정리했습니다. 생성기로 바로 만들어 보세요.
데이터베이스 기본키나 분산 시스템의 식별자, 요청 추적 ID를 정할 때 중앙 발급 서버 없이도 충돌 없는 고유값이 필요합니다. 이때 가장 널리 쓰이는 것이 UUID입니다. UUID의 구조와 가장 흔한 버전 4(v4)의 원리, 활용처를 정리하고 UUID 생성기로 직접 만들어 보는 방법을 알아봅니다.
한눈에 보기
- UUID는 128비트 길이의 범용 고유 식별자입니다.
- 표기는
8-4-4-12형태의 16진수 36자(하이픈 포함)입니다. - 버전 4(v4)는 대부분 랜덤으로 생성하며 충돌 확률이 극히 낮습니다.
- 중앙 발급자 없이도 각자 만들어 고유성을 확보할 수 있습니다.
- 용도: DB 기본키, 분산 시스템 식별자, 요청 추적 ID. UUID 생성기로 바로 만들 수 있습니다.
UUID의 구조
UUID(Universally Unique Identifier)는 128비트 값으로, 사람이 읽기 편하도록 16진수로 표기하고 하이픈으로 구역을 나눕니다. 전체 길이는 하이픈을 포함해 36자입니다.
550e8400-e29b-41d4-a716-446655440000
8 4 4 4 12
위처럼 8-4-4-12 자리수로 나뉘며, 각 자리는 16진수(0–9, a–f)로 채워집니다. 이 형식은 어떤 언어나 시스템에서도 동일하게 인식되므로, 서로 다른 환경 사이에서 식별자를 주고받기에 적합합니다.
버전 4(v4)는 어떻게 만들어지나
UUID에는 여러 버전이 있는데, 실무에서 가장 자주 쓰이는 것은 버전 4(v4) 입니다. v4는 일부 고정 비트를 제외한 대부분을 랜덤하게 채워 생성합니다.
값의 가짓수가 워낙 많아 서로 다른 곳에서 동시에 만들어도 같은 값이 나올 확률이 사실상 무시할 수 있을 만큼 낮습니다. 덕분에 별도의 중앙 발급 서버나 조율 없이도 각 서비스·기기가 독립적으로 식별자를 만들 수 있다는 점이 v4의 가장 큰 장점입니다. UUID 생성기에서 새로고침할 때마다 다른 값이 나오는 것을 확인할 수 있습니다.
어디에 쓰나
| 용도 | 설명 |
|---|---|
| DB 기본키 | 순번(auto increment) 대신 사용해, 미리 ID를 만들거나 시스템을 합쳐도 충돌이 없음 |
| 분산 시스템 식별자 | 여러 서버가 중앙 조율 없이 각자 고유 ID를 부여 |
| 요청 추적 ID | 로그·트레이스에 붙여 하나의 요청 흐름을 끝까지 추적 |
정렬이 필요하면 ULID 같은 대안도
v4 UUID는 랜덤이라 생성 순서대로 정렬되지 않고, 36자라 다소 길어 가독성이 떨어진다는 단점도 있습니다. 생성 시간순 정렬이나 더 짧은 표현이 중요한 경우라면 ULID 같은 대안을 검토할 수 있습니다. ULID는 시간 정보를 앞쪽에 담아 정렬이 자연스럽다는 특징이 있습니다. 용도에 맞게 선택하면 됩니다.
자주 묻는 질문
UUID는 정말 겹치지 않나요?
이론적으로 0은 아니지만, v4의 가능한 값이 매우 많아 현실적으로 충돌을 걱정하지 않아도 될 만큼 확률이 극히 낮습니다.
길이는 항상 같나요?
네. UUID는 128비트로, 16진수 표기로는 하이픈 포함 항상 36자입니다.
중앙 서버 없이 만들어도 되나요?
그것이 UUID의 핵심 장점입니다. 발급 조율 없이 각 시스템이 독립적으로 만들어도 고유성을 기대할 수 있습니다.
정렬이 중요한데 UUID가 맞을까요?
v4는 랜덤이라 정렬에 불리합니다. 시간순 정렬이나 짧은 표현이 필요하면 ULID 같은 대안을 고려해 보세요.
마무리
UUID는 중앙 발급자 없이도 고유성을 보장하는 128비트 식별자이며, 랜덤 기반의 v4가 가장 널리 쓰입니다. DB 기본키, 분산 식별자, 요청 추적 등 충돌 없는 ID가 필요한 곳마다 유용합니다. 정렬이 중요하다면 ULID도 함께 고려하세요. 당장 식별자가 필요하다면 UUID 생성기에서 v4 값을 만들어 보세요.
🧰 관련 도구
관련 글
Base64 인코딩이란? 원리와 사용 사례
Base64가 바이너리를 64개 ASCII 문자로 표현하는 원리, 33% 크기 증가, data URI·이메일 첨부 같은 용도와 보안 오해까지 정리했습니다. 인코더로 바로 변환해 보세요.
해시 함수(SHA-256)란? 용도와 특징
SHA-256 해시 함수의 단방향성, 쇄도 효과, 256비트 출력 같은 특징과 파일 무결성·비밀번호 저장·블록체인 용도를 정리했습니다. 해시 생성기로 바로 만들어 보세요.
정규식(Regex) 기초와 자주 쓰는 패턴
정규식 메타문자(. * + ? ^ $ [] () \d \w \s)와 g·i·m 플래그, 그리디 vs 게으른 매칭을 예제와 함께 정리했습니다. 정규식 테스터로 패턴을 바로 검증해 보세요.