유틸리티

UUID란, 고유 ID가 필요할 때 v4 생성기를 쓰는 이유

데이터베이스 테이블에 고유 ID를 넣어야 하는데, 순번(auto increment)을 쓰면 서버가 여러 대일 때 충돌이 생긴다. UUID 생성은 이런 문제를 해결하는 가장 간단한 방법이다. 서버끼리 통신하지 않아도 각자 만든 ID가 겹치지 않는다.

UUID가 뭔가

UUID(Universally Unique Identifier)는 128비트 길이의 고유 식별자다. 32자리 16진수와 4개의 하이픈으로 구성된다.

550e8400-e29b-41d4-a716-446655440000

전 세계에서 동시에 생성해도 같은 값이 나올 확률은 사실상 0이다. 이론적으로 중복이 발생하려면 약 2.71 × 10^18개를 만들어야 50% 확률에 도달한다.

UUID v4를 가장 많이 쓰는 이유

버전생성 방식특징
v1타임스탬프 + MAC 주소시간 순서 보장, MAC 주소 노출 위험
v4완전 랜덤가장 널리 사용, 예측 불가
v5네임스페이스 + 이름의 SHA-1같은 입력이면 같은 UUID 생성

v4는 외부 정보(MAC 주소, 시간)에 의존하지 않고 순수 난수로 만들어지기 때문에 보안 면에서 가장 안전하다. 대부분의 프레임워크와 데이터베이스가 v4를 기본으로 지원한다.

실무에서 UUID를 쓰는 곳

  • DB 기본키: 분산 시스템에서 서버 간 ID 충돌 방지
  • API 요청 추적: 각 요청에 UUID를 붙여 로그 추적
  • 파일 이름: 업로드 파일의 중복 방지용 고유 이름
  • 세션/토큰: 사용자 세션 식별자로 활용

빠르게 생성하는 법

터미널에서 uuidgen 명령어를 쳐도 되지만, 여러 개를 한꺼번에 만들어야 할 때는 UUID 생성기가 편하다. 최대 1,000개까지 일괄 생성되고, 하이픈 제거·중괄호 포함·대문자 등 형식도 선택할 수 있다. 결과를 텍스트 파일로 다운로드해서 테스트 데이터로 바로 쓸 수 있다.