분류
1. 개요[편집]
UUID는 Universally Unique IDentifier 의 약어로, 뜻은 범용 고유 식별자이다.
2. 형태[편집]
cbc33704-e9c4-4120-bd3a-05a36058f982
8-4-4-4-12의 형태로 총 32자리의 16진수로 표현이 된다. 이 중에서 볼드체를 친 숫자는 UUID의 버전을 의미한다.
3. 버전[편집]
버전 1부터 8까지 존재하며 버전 별로 생성 방식이 다르다. 가장 흔히 쓰이는 버전 4는 무작위 생성 방식을 가지고 있다.
- 버전 1: MAC 주소와 타임스탬프를 사용해 고유성을 보장하는 UUID로, 생성 시점과 장치 정보를 포함한다.
- 버전 2: DCE 보안 목적의 UUID로, 실제로는 거의 사용되지 않으며 대부분의 구현체에서 생략된다.
- 버전 3: 128비트의 MD5 해시 함수를 사용해 네임스페이스와 이름으로부터 결정론적으로 UUID를 생성한다.
- 버전 4: 완전히 무작위로 생성되는 UUID로, 122비트를 랜덤하게 채워 매우 높은 고유성을 제공한다. the seed에서 채용한 버전의 UUID이다.
- 버전 5: 160비트의 SHA-1 해시 함수를 사용해 버전 3과 유사하게 작동하지만, 더 안전한 해시 알고리즘을 채택한다.
- 버전 6: 버전 1과 구조는 동일하나, 타임스탬프 비트 순서를 개선해 정렬과 색인이 용이하다.
- 버전 7: 밀리초 정밀도 타임스탬프와 랜덤 데이터를 결합해 분산 시스템의 키 생성에 최적화된 UUID이다.
- 버전 8: 커스터마이징할 수 있는 UUID로, 최소한의 버전/변형 제약만 존재한다.
4. Nil/Empty UUID[편집]
00000000-0000-0000-0000-000000000000으로 이뤄진 UUID도 존재한다.
5. 장점[편집]
- 소프트웨어에서 독립적으로 사용이 가능하다.
6. 단점[편집]
- UUID만으로는 무슨 의미인지 파악하기 힘들다.
7. 사용 예시[편집]
- the seed를 사용하는 위키에서 사용자와 문서 리비전에 UUID를 부여한다. 이 경우 버전은 4를 사용한다.