uuid 예제

Posted on

예를 들어, 적어도 하나의 충돌의 50% 확률을 갖기 위해 생성해야 하는 임의 버전-4 UUID의 수는 2.71퀸틸리온이며 다음과 같이 계산됩니다.[14] 32헥사드숫자의 문자열, 16바이트의 문자열에서 UUID 를 만듭니다. 바이트 인수로 빅 엔디안 순서, bytes_le 인수로 작은 엔디안 순서로 16 바이트의 문자열, 6 정수의 튜플 (32 비트 시간_낮음, 16 비트 time_mid, 16 비트 time_hi_version, 8 비트 clock_seq_hi_variant, 8 비트 clock_seq_hi_variant, 8 비트 clock_seq_low , 48비트 노드)를 필드 인수또는 int 인수로 단일 128비트 정수로 합니다. 육각 숫자 문자열이 지정되면 중괄호, 하이픈 및 URN 접두사가 모두 선택 사항입니다. 예를 들어, 이러한 표현식은 모두 동일한 UUID를 생성합니다: 예를 들어, 00112233-4455-6677-8899-aabbccddeeff는 바이트 00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff. 버전 4 UUID는 RFC 4122: 특정 값으로 설정된 특정 위치에서 6비트가 있는 128개의 임의로 생성된 비트에 정의되어 있습니다. 예를 들어 uuid 모듈의 일반적인 사용 사례는 다음과 같습니다: 버전 3, 4 및 5의 표준 UUID의 임의 특성과 표준 버전 1 및 2 내의 필드 순서로 UUID가 있을 때 데이터베이스 지역성 또는 성능에 문제가 발생할 수 있습니다. 기본 키로 사용됩니다. 예를 들어, 2002년 Jimmy Nilsson은 키로 사용되는 버전 4 UUID가 시스템 시간에 따라 임의가 아닌 접미사를 포함하도록 수정되었을 때 Microsoft SQL Server의 성능이 크게 향상되었다고 보고했습니다. 이 소위 “COMB”(결합 된 시간 GUID) 접근 방식은 UUIDs가 비표준으로 만들어졌으며 닐슨이 인정했듯이 복제 될 가능성이 훨씬 더 높았지만 Nilsson은 응용 프로그램 내에서 고유성만 필요했습니다.

[31] [사용 중단 경고: 요구(`uuid`)의 사용은 더 이상 사용되지 않으며 이 모듈의 버전 3.x 이후에는 지원되지 않습니다. 대신 아래 예제와 같이 요구(`uuid/[v1|v3|v3|v4|v4|v5]`)를 사용합니다.] 4비트 의 숫자 M은 UUID 버전을 나타내고, 숫자 N의 1-3비트는 UUID 변형을 나타냅니다. 이 예에서 M은 1이고 N은 (10xx2) UUID가 변형-1, 버전-1 UUID임을 의미합니다. 즉, 시간 기반 DCE/RFC 4122 UUID입니다. 정식 텍스트 표현에서 UUID의 16 옥텟은 32개의 헥사드(기본-16) 숫자로 표시되며, 히펜으로 구분된 5개의 그룹으로 표시되며, 총 36자(영숫자 32자 및 4개의 하이픈)에 대해 8-4-4-4-12 형태로 표시됩니다.