이게 뭔가요?
UUID(범용 고유 식별자)는 550e8400-e29b-41d4-a716-446655440000 형태의 128비트 식별자입니다. 이 도구는 그중 가장 널리 쓰이는 버전 4(무작위 기반) UUID를 원하는 개수만큼 만들어 줍니다. 대소문자, 하이픈 유무를 고를 수 있고, 전체를 한 번에 복사할 수 있습니다. 생성은 브라우저의 crypto API로 이뤄지므로 암호학적으로 안전한 난수를 사용합니다.
언제 쓰나요?
DB 레코드나 주문·세션의 기본 키가 필요할 때, 테스트 데이터에 겹치지 않는 ID를 채울 때, 파일명이나 요청 추적용 상관관계 ID(correlation ID)를 만들 때 씁니다. 중앙 서버의 조율 없이도 충돌 걱정 없이 ID를 만들 수 있다는 게 핵심 장점입니다.
실무에서 자주 틀리는 점
- 정렬·인덱스 성능. v4는 완전 무작위라 DB의 기본 키로 쓰면 인덱스가 조각나 삽입 성능이 떨어질 수 있습니다. 시간순 정렬이 중요하면 UUIDv7이나 ULID를 검토하세요.
- 보안 토큰으로 오용. UUID는 “고유”하지만 “추측 불가능한 비밀”로 설계된 게 아닙니다. 비밀번호 재설정 토큰 등에는 별도의 안전한 난수를 쓰는 편이 낫습니다.
- 대소문자 비교. UUID는 대소문자를 구분하지 않는 게 원칙이라, 문자열로 비교할 때 한쪽만 대문자면 불일치가 납니다.
- 하이픈 처리. 저장은 하이픈 없이 하고 표시만 하이픈을 넣는 시스템이 섞이면 조회가 어긋납니다.
실무에서 — 주문 테이블 PK를 UUID v4로 잡았다가, 데이터가 쌓이면서 삽입이 느려지는 걸 겪었다. 완전 무작위라 인덱스가 계속 쪼개진 탓이었다. 시간순 정렬이 필요한 테이블이라 결국 ULID로 갈아탔고 삽입·범위 조회가 눈에 띄게 나아졌다. 그 전엔 하이픈을 빼고 저장하는 곳과 넣고 저장하는 곳이 섞여 조회가 안 맞는 일도 있었다.