uuid 예제

버전 3, 4 및 5의 표준 UUD의 임의 특성과 표준 버전 1 및 2 내의 필드 순서는 UUD를 기본 키로 사용할 때 데이터베이스 지역성 또는 성능에 문제가 발생할 수 있습니다. 예를 들어, 2002년 Jimmy Nilsson은 키로 사용되는 버전 4 UUID가 시스템 시간에 따라 임의가 아닌 접미사를 포함하도록 수정되었을 때 Microsoft SQL Server의 성능이 크게 향상되었다고 보고했습니다. 이 소위 “COMB”(결합 된 시간 GUID) 접근 방식은 UUIDs가 비표준으로 만들어졌으며 닐슨이 인정했듯이 복제 될 가능성이 훨씬 더 높았지만 Nilsson은 응용 프로그램 내에서 고유성만 필요했습니다. [31] [사용 중단 경고: 요구(`uuid`)의 사용은 더 이상 사용되지 않으며 이 모듈의 버전 3.x 이후에는 지원되지 않습니다. 대신 아래 예제와 같이 요구(`uuid/[v1|v3|v3|v4|v4|v5]`)를 사용합니다.] 예를 들어, 적어도 하나의 충돌의 50% 확률을 갖기 위해 생성해야 하는 임의 버전-4 UUID의 수는 2.71퀸틸리온이며 다음과 같이 계산됩니다:[14] 숫자 M의 4비트는 UUID 버전을 나타내고 1-3개의 가장 중요한 비트는 숫자 N은 UUID 변형을 나타냅니다. 이 예에서 M은 1이고 N은 (10xx2) UUID가 변형-1, 버전-1 UUID임을 의미합니다. 즉, 시간 기반 DCE/RFC 4122 UUID입니다. 예를 들어, 00112233-4455-6677-8899-aabbccddeeff는 바이트 00 11 22 33 4 55 66 78 99 aa bb cc dd ee ff. 32 헥사데만 자릿수의 문자열 중 하나에서 UUID를 생성하여 16개의 문자열을 , bytes_le 인수로 작은 엔디안 순서로 16 바이트의 문자열, 6 정수의 튜플 (32 비트 time_low, 16 비트 time_mid, 16 비트 time_hi_version, 8 비트 clock_seq_hi_variant, 8 비트 clock_seq_low, 48 비트 노드) int 인수로 단일 128비트 정수입니다.

육각 숫자 문자열이 지정되면 중괄호, 하이픈 및 URN 접두사가 모두 선택 사항입니다. 예를 들어 이러한 식은 모두 동일한 UUID를 생성합니다: 버전 4 UUID는 RFC 4122: 특정 위치에서 6비트가 특정 값으로 설정된 128개의 임의로 생성된 비트에 정의됩니다. 예를 들어, 정식 텍스트 표현에서 UUID의 16옥텟은 32개의 헥사데피(기본-16) 숫자로 표시되며, 하이픈으로 구분된 5개의 그룹으로 표시되며, 8-4-4-4-12 양식은 총 36자(32자 영숫자 문자 및 4하이펜)에 대해 표시됩니다. ). 예를 들어, uuid 모듈의 일반적인 사용 의 몇 가지 예입니다: 인터넷 엔지니어링 태스크 포스 (IETF) ITU-T Rec. X.667에 기술적으로 해당 표준 트랙 RFC 4122,[2] 게시 | ISO/IEC 9834-8. UUD는 분산 컴퓨팅 환경(DCE)의 일부로 개방형 소프트웨어 기반(OSF)에 의해 표준화됩니다. [3] [4] 버전 1 UUID는 타임스탬프와 생성된 컴퓨터의 MAC 주소를 사용하여 생성되는 보편적으로 고유한 식별자입니다.

UUID의 내부 레이아웃을 결정하는 UUID 변형입니다. 이것은 예약_NCS, RFC_4122, RESERVED_Microsoft 또는 reserved_FUTURE 의 상수 중 하나입니다. 버퍼 – (배열 | 버퍼) UUID 바이트를 작성할 어레이 또는 버퍼입니다. 하드웨어 주소를 48비트 양수 정수로 가져옵니다. 이 실행 처음, 그것은 별도 프로그램을 시작할 수 있습니다., 매우 느린 수 있습니다. 하드웨어 주소를 가져오려는 모든 시도가 실패하면 RFC 4122에서 권장하는 대로 8번째 비트가 1로 설정된 임의의 48비트 번호를 선택합니다. “하드웨어 주소”는 네트워크 인터페이스의 MAC 주소를 의미하며, 여러 네트워크 인터페이스가 있는 컴퓨터에서 이들 중 하나의 MAC 주소가 반환될 수 있습니다.