유틸리티

UUID란? 고유 식별자 생성 원리와 활용법

데이터베이스에 레코드를 추가할 때마다 고유한 ID가 필요하다. 숫자를 1부터 순서대로 매기면 간단하지만, 서버가 여러 대이거나 분산 시스템이라면 번호가 겹칠 위험이 있다. 이런 상황에서 쓰는 게 UUID다.

UUID가 뭔가

UUID(Universally Unique Identifier)는 128비트 길이의 고유 식별자다. 중앙 서버 없이도 어디서든 생성할 수 있고, 충돌 확률이 사실상 0에 가깝다.

형식 550e8400-e29b-41d4-a716-446655440000
8-4-4-4-12 자리의 16진수, 하이픈으로 구분된 총 36자다.

UUID v4는 암호학적 난수로 생성되는 가장 보편적인 버전이다. 가능한 조합의 수가 약 5.3 × 10³⁶개여서, 초당 10억 개씩 만들어도 중복이 나올 확률이 거의 없다.

어디에 쓰이나

데이터베이스 기본 키(PK)
자동 증가 정수(Auto Increment) 대신 UUID를 쓰면 서버 간 데이터 병합이 쉬워진다.
API 요청 추적
각 요청에 UUID를 부여하면 로그에서 특정 요청의 흐름을 추적할 수 있다.
파일명 충돌 방지
사용자가 업로드한 파일명이 겹칠 때, UUID로 저장하면 덮어쓰기를 방지할 수 있다.
세션/토큰 ID
사용자 인증 세션이나 일회용 토큰에 UUID를 사용하면 예측이 불가능해 보안이 강화된다.

형식별 차이

형식예시쓰이는 곳
기본 (하이픈 포함)550e8400-e29b-...대부분의 표준
하이픈 제거550e8400e29b...파일명, 짧은 ID
중괄호{550e8400-e29b-...}Windows COM/GUID
URNurn:uuid:550e8400-...XML, SOAP

테스트 데이터를 만들거나 대량의 ID가 필요할 때, UUID 생성기에서 형식을 고르고 개수를 입력하면 최대 1,000개까지 한 번에 생성된다. 텍스트 파일로 다운로드할 수도 있어서 스크립트에 바로 활용할 수 있다.

직접 코드를 짜서 생성해도 되지만, 빠르게 몇 개 뽑아야 할 때는 웹 도구가 편하다.