새 프로젝트에서 데이터베이스 기본키를 뭘로 할지 고민이다. 1, 2, 3 자동증가 숫자로 할지, UUID로 할지. UUID가 뭔지부터 알아봤다.
UUID가 뭔지
Universally Unique Identifier. 전 세계적으로 고유한 128비트 식별자다. 550e8400-e29b-41d4-a716-446655440000 이런 형태로 생겼다.
UUID 생성기에서 버튼 누르면 즉시 새 UUID가 만들어진다. 중복될 확률이 사실상 0이라서 충돌 걱정 없이 쓸 수 있다.
왜 숫자 대신 UUID를 쓰나
- 분산 시스템: 여러 서버에서 동시에 ID 생성해도 충돌 없음
- 보안: 1, 2, 3 숫자는 추측 가능하지만 UUID는 예측 불가
- 데이터 병합: 다른 DB 합칠 때 ID 충돌 없음
고유 식별자가 필요한데 중앙 서버 없이 만들어야 할 때 UUID가 답이다.
UUID v4가 가장 많이 쓰인다
UUID v4는 완전 랜덤으로 생성된다. 122비트 랜덤 + 6비트 버전/변형 정보. 랜덤 UUID라고도 부른다.
다른 버전도 있다:
- v1: 타임스탬프 + MAC 주소 기반
- v3, v5: 네임스페이스 + 이름 해시
- v4: 완전 랜덤 (가장 많이 사용)
대량 생성
테스트 데이터 만들 때 UUID 여러 개가 필요하다. UUID 대량 생성으로 최대 1,000개까지 한번에 생성할 수 있다.
형식 선택
UUID 표시 형식을 선택할 수 있다:
- 기본: 550e8400-e29b-41d4-a716-446655440000
- 하이픈 제거: 550e8400e29b41d4a716446655440000
- 중괄호: {550e8400-e29b-41d4-a716-446655440000}
- URN: urn:uuid:550e8400-e29b-41d4-a716-446655440000
UUID 형식 변환으로 필요한 형태로 바꿀 수 있다. 대문자/소문자 선택도 가능하다.
GUID랑 같은 건가
GUID는 마이크로소프트에서 부르는 이름이다. GUID 생성이랑 UUID 생성은 같은 거다. 윈도우에서는 GUID라고 부르고 그 외에서는 UUID라고 부른다.
텍스트 파일로 다운로드
대량 생성한 GUID 생성기 결과를 TXT 파일로 다운로드할 수 있다. 테스트 데이터 준비할 때 편하다.
UUID 복사 버튼으로 클립보드에 바로 복사하는 것도 된다.
정리
분산 시스템, 보안이 필요한 ID, 데이터 병합 시나리오에서 UUID 생성기가 유용하다. v4로 랜덤 생성하면 충돌 걱정 없이 쓸 수 있고, 형식도 필요에 맞게 바꿀 수 있다.