UUID 생성기
고유한 UUID(Universally Unique Identifiers) 생성
UUID란 무엇입니까?
UUID(Universally Unique Identifier)는 전체에서 고유하도록 설계된 128비트 식별자입니다.
공간과 시간. RFC 4122, UUIDs follow the format xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
where M indicates the version and N indicates the variant.
형식을 따릅니다. 이 도구는 암호화된 보안 난수를 사용하여 버전 4(임의) UUID를 생성합니다. 와 122개의 무작위 비트, 충돌 가능성은 천문학적으로 적습니다. 10억 비트를 생성할 수 있습니다. 100년 동안 초당 UUID를 생성했지만 여전히 단일 중복 가능성은 50% 미만입니다.
UUID 버전 설명
타임스탬프 및 MAC 기반 주소. 시간별로 정렬할 수 있지만 장치 ID가 표시됩니다.
네임스페이스에서 생성됨 MD5를 사용하여 이름을 지정합니다. 동일한 입력은 항상 동일한 UUID를 생성합니다.
무작위로 생성됩니다. 가장 일반적인 고유 식별자에 대한 선택입니다. 정보 유출이 없습니다.
v3와 유사하지만 SHA-1을 사용합니다. 선호 이름 기반 UUID의 경우 v3 이상입니다.
Unix 타임스탬프가 포함된 새로운 표준입니다. 정렬 가능하고 무작위이며 MAC 주소를 공개하지 않습니다.
일반적인 사용 사례
🗄️ 데이터베이스 기본 키
UUID를 사용하면 데이터베이스 조정 없이 클라이언트측에서 ID를 생성할 수 있습니다. 다음에 이상적입니다. 여러 노드가 동시에 레코드를 생성해야 하는 분산 시스템.
🔐 세션 및 토큰 ID
보안 세션 식별자, API 토큰 및 임시 액세스 코드. 무작위성이 만든다 추측할 수 없으므로 열거 공격을 방지합니다.
📁 파일 및 리소스 이름 지정
업로드, 캐시 키 또는 임시 파일에 대한 고유한 파일 이름을 생성합니다. 이름 지정 방지 중앙 집중식 이름 지정 서비스가 필요 없이 충돌이 발생합니다.
🔄 분산 시스템
마이크로서비스 전반에 걸쳐 요청을 추적하기 위한 이벤트 ID, 메시지 ID, 상관 관계 ID. 각각 서비스는 독립적으로 ID를 생성할 수 있습니다.
자주 묻는 질문
UUID가 중복되나요?
실제로는 그렇지 않습니다. v4 UUID에는 21²²의 가능한 값(5.3 × 10³⁶)이 있습니다. 50%의 확률을 가지려면 충돌이 발생하면 약 2.7 × 101⁸ UUID, 즉 2.7경을 생성해야 합니다.
UUID를 사용해야 할까요, 아니면 자동 증가 ID?
단일 데이터베이스를 사용하는 간단한 앱에는 자동 증가를 사용합니다. 분산을 위해 UUID 사용 시스템, ID가 클라이언트 측에서 생성되는 경우 또는 순차적 노출을 원하지 않는 경우 주문(보안).
UUID는 다음에 적합합니까? 데이터베이스 성능?
무작위 UUID로 인해 B-트리 인덱스 조각화가 발생할 수 있습니다. UUID v7(시간 순서) 사용을 고려하거나 더 나은 성능을 위해 varchar(36) 대신 바이너리(16)로 저장합니다. 일부 데이터베이스에는 네이티브 UUID 유형.
차이점은 무엇인가요? UUID와 GUID 사이?
본질적으로 동일합니다. GUID(Globally Unique Identifier)는 Microsoft의 용어입니다. UUID용. 둘 다 동일한 사양을 따르는 128비트 식별자를 참조합니다.
UUID 형식 참조
대시 없음: 550e8400e29b41d4a716446655440000
중괄호: {550e8400-e29b-41d4-a716-446655440000}
URN: urn:uuid:550e8400-e29b-41d4-a716-446655440000
대문자: 550E8400-E29B-41D4-A716-446655440000