UUID 생성기 v4
브라우저의 암호학적 난수 생성기로 UUID v4 식별자를 원하는 개수만큼 만듭니다.
이 도구가 하는 일
UUID는 128비트 크기의 식별자로, 중앙에서 번호를 발급받지 않고도 서로 겹치지 않는 값을 만들 수 있도록 설계되었습니다. 8-4-4-4-12 형태의 32자리 16진수로 표기하며 하이픈을 포함해 36자입니다.
여러 버전 중 가장 널리 쓰이는 것은 v4입니다. v4는 난수를 기반으로 생성되며, 122비트의 무작위 값을 사용하기 때문에 현실적인 규모에서 충돌을 걱정할 필요가 없습니다. 이 도구는 브라우저의 암호학적 난수 API를 사용해 값을 생성하므로 예측 가능한 패턴이 생기지 않습니다.
UUID의 장점은 데이터베이스에 접근하지 않고도 클라이언트나 여러 서버에서 동시에 식별자를 만들 수 있다는 것입니다. 분산 시스템, 오프라인 우선 애플리케이션, 여러 서비스가 데이터를 합치는 구조에서 특히 유용합니다.
언제 사용하나요
테스트 데이터의 고유 키가 필요할 때, 파일 이름이나 요청 추적 ID를 만들 때, 데이터베이스에 넣기 전에 미리 식별자를 확보해야 할 때, 여러 서버가 각자 식별자를 생성해야 하는 구조를 설계할 때 사용합니다.
입력과 출력 예시
개수 3
3f2504e0-4f89-41d3-9a0c-0305e82c3301
7b8c1d2e-...
(매번 다른 값)
실행할 때마다 새로운 무작위 값이 생성됩니다.
UUID 구조
8-4-4-4-12 자리 16진수, 하이픈 포함 36자
세 번째 그룹의 첫 글자가 4이면 버전 4임을 나타냅니다.
주의사항
UUID를 기본 키로 사용할 때는 성능을 고려해야 합니다. v4는 무작위 값이라 정렬 순서가 없어서, 인덱스가 순차적으로 쌓이지 않고 페이지 분할이 자주 발생합니다. 대량 삽입이 많은 테이블에서는 시간 순서를 포함하는 UUID v7이나 ULID 같은 대안을 검토하는 것이 좋습니다. 또한 UUID는 추측하기 어렵다는 성질이 있지만 이것을 인증 수단으로 삼으면 안 됩니다. 접근 권한은 별도로 검증해야 합니다.
자주 묻는 질문
UUID가 중복될 가능성이 있나요?
이론적으로는 있지만 현실적으로는 무시할 수 있는 수준입니다. 122비트 난수 공간이라 초당 수십억 개를 생성해도 충돌 확률은 극히 낮습니다.
기본 키로 써도 되나요?
가능하지만 무작위 값이라 인덱스 성능에 불리할 수 있습니다. 삽입이 많은 테이블이라면 정렬 가능한 UUID v7이나 ULID를 검토하십시오.