| r17 vs r18 | ||
|---|---|---|
| ... | ... | |
| 21 | 21 | * '''버전 6''': '''버전 1'''과 구조는 동일하나, 타임스탬프 비트 순서를 개선해 정렬과 색인이 용이하다. |
| 22 | 22 | * '''버전 7''': 밀리초 정밀도 타임스탬프와 랜덤 데이터를 결합해 분산 시스템의 키 생성에 최적화된 UUID이다. |
| 23 | 23 | * '''버전 8''': 커스터마이징할 수 있는 UUID로, 최소한의 버전/변형 제약만 존재한다. |
| 24 | === 상세 === | |
| 25 | v1과 v6은 1970년 1월 1일 자정을 기준으로 한 타임스탬프를 사용하나 v7은 유닉스 시간을 기반으로 한다. | |
| 24 | 26 | |
| 27 | RFC 4122가 최초 발표되었을 당시에는 v1~5만 있었으나, 9562가 발표된 이후에는 v6~8이 추가되었다. | |
| 28 | ||
| 25 | 29 | == 기타 == |
| 26 | 30 | * 00000000-0000-0000-0000-000000000000으로 구성된 Nil/Empty UUID 포맷이 존재한다. 역으로 2진수 기준 모든 비트가 1로 설정된 ffffffff-ffff-ffff-ffff-ffffffffffff로 구성된 Max UUID도 있으나, 후자는 RFC 4122의 대체판인 RFC 9562가 발표됨과 동시에 추가되었다. [[https://www.rfc-editor.org/rfc/rfc9562.html#name-max-uuid|RFC Editor의 RFC 9562 문서 (영문 주의)]] |
| 27 | 31 | * UUIDv4의 17번째 인수는 8, 9, a, b만 존재할 수 있다. 다시 말해 17번째 인수의 2비트는 [[2진수]] 기준 10으로 고정되어 124비트가 아닌 122비트만 사용되는 것이다. 따라서 '44444444-4444-4444-4444-444444444444' 이런 형식의 UUIDv4는 존재할 수 없다. --설령 가능하다고 해도 [[4자 금기]] 때문에 쓰지 않을지도?-- |
| ... | ... |