UUID란?
UUID(Universally Unique Identifier)은 RFC 9562(이전 RFC 4122)에 의해 표준화된 128비트 식별자입니다. UUID는 중앙 권한 없이도 전역적으로 고유하도록 설계되었습니다. UUID v4는 122비트의 암호화된 무작위 데이터를 사용하므로 충돌이 천문학적으로 발생하지 않습니다. 중복 확률은 대략 212²(약 5.3 × 10³⁶) 중 1입니다. UUID v7는 처음 48비트에 Unix timestamp를 삽입하고 이어서 임의의 데이터를 삽입하여 고유하고 시간순으로 정렬 가능한 식별자를 생성합니다. 이는 데이터베이스 기본 키에 이상적입니다. Nil UUID(모두 0)는 비어 있거나 누락된 식별자를 나타내는 데 사용되는 특수 센티널 값입니다.
UUID 생성기를 사용하는 방법
- 1UUID 버전을 선택하세요: v4(무작위), v7(타임스탬프 기반) 또는 Nil.
- 2한 번에 1~100개의 UUID를 생성하려면 개수 슬라이더를 조정하세요.
- 3대문자 16진수 문자가 필요한 경우 대문자로 전환하세요.
- 4설정 생성 또는 변경을 클릭하면 UUID가 즉시 생성됩니다.
- 5복사 버튼을 사용하여 개별 UUID를 복사하거나 한 번에 모두 복사합니다.
UUID의 주요 활용 사례
데이터베이스 기본 키
UUID v7를 분산 데이터베이스의 기본 키로 사용하세요. 이 키는 고유하고 생성 시간별로 정렬 가능하며 중앙 시퀀스 생성기가 필요하지 않습니다.
API 요청 추적
마이크로서비스 및 로깅 시스템 전반에 걸친 엔드투엔드 추적을 위해 각 API 요청에 UUID를 할당합니다.
세션 및 토큰 식별자
예측 불가능성이 중요한 세션 ID, CSRF 토큰 또는 임시 액세스 토큰에 대한 UUID v4 값을 생성합니다.
파일 및 리소스 이름 지정
충돌을 방지하고 순차적 이름에서 정보 유출을 방지하려면 UUID를 사용자 업로드의 고유한 파일 이름으로 사용하세요.
테스트 데이터 생성
테스트 데이터베이스, 모의 API 또는 고정 파일을 채우기 위한 고유 식별자 배치를 빠르게 생성합니다.
자주 묻는 질문
UUID v4와 v7의 차이점은 무엇인가요?
UUID v4는 순전히 무작위입니다. 122비트의 무작위 데이터입니다. UUID v7는 처음 48비트에 밀리초 단위의 정밀도 Unix timestamp를 포함하여 고유성을 유지하면서 시간순으로 정렬할 수 있도록 합니다. v7는 인덱스 지역성을 향상시키기 때문에 데이터베이스 기본 키에 선호됩니다.
UUID v4 값이 충돌할 수 있나요?
이론적으로는 그렇습니다. 그러나 확률은 무시할 수 있습니다. 122개의 임의 비트를 사용하면 단일 충돌 가능성이 50%가 되도록 하려면 약 2.7 × 101⁸ UUID를 생성해야 합니다(생일 문제). 실용적인 목적을 위해 그들은 독특합니다.
Nil UUID는(는) 어떤 용도로 사용되나요?
Nil UUID(00000000-0000-0000-0000-000000000000)은 UUID 사양에 정의된 특수 센티널 값입니다. 이는 null 또는 0와 유사하게 애플리케이션에서 'no value' 또는 'not set'을 나타내는 데 일반적으로 사용됩니다.
생성된 UUID는 저장되거나 기록됩니까?
아니요. 모든 UUID 생성은 웹 암호화 API를 사용하여 브라우저에서 로컬로 발생합니다. 어떤 서버에도 데이터가 전송되지 않습니다.