-
UUID (Universally Unique Identifier)?Development/ETC. 2020. 9. 10. 10:23
UUID란?
UUID는 Universally Unique Identifier의 약어이고 범용 고유 식별자라고 한다.
UUID는 128bit로 이루어진 시스템을 구부하는 식별자 표준입니다. Microsoft에서 생성된 소프트웨어에서는 GUID라는 용어로 쓰이고 있다.
주로 분산 컴퓨팅 환경에서 사용하고 있으며, 분산된 환경에서 시스템을 관리하기 위한 고유 식별 번호가 필요 할때 중앙에서 식별 번호를 발급하게 되면 간단하지만 동시다발적이고 독립적으로 개발되고 있는 시스템들의 경우 중앙관리시스템은 불가능하다. 이를 해결하기 위해 개발주체가 스스로 이름을 짓도록 하되 고유성을 충족할 수 있는 방법이 필요하게 되면서 UUID를 표준으로 지정하고 사용하고 있다.
UUID가 중복될 확률은 0이 아니지만 무시해도 될만큼 확률이 매우 낮다.
(지나가다 운석에 맞아 죽을 확률보다 낮다고 하던데 운석에 맞아 죽을 확률이 얼만지는 모르겠...)표현 방법
UUID는 16옥텟 (128비트) 의 수이다. 32개의 16진수로 표현되며 하이픈을 포함하여 총 36개의 문자로 이루어져 있고, 8-4-4-4-12 라는 5개의 그룹을 하이픈으로 구분한다.
550e8400-e29b-41d4-a716-446655440000
340,282,366,920,938,463,463,374,607,431,768,211,456개의 사용 가능한 UUID가 있는데 어떻게 읽어야 할지는 모르겠다.
UUID 레코드 레이아웃
이름 길이(바이트) 길이(16진수 숫자) 내용 time_low 4 8 시간의 low 32비트를 부여하는 정수 time_mid 2 4 시간의 middle 16비트를 부여하는 정수 time_hi_and_version 2 4 최상이 비트에서 4비트 "version", 그리고 시간의 high 12비트 clock_seq_hi_and_res clock_seq_low 2 4 최상위 비트에서 1-3 비트, 그리고 13-15비트 클럭 시퀀스 node 6 12 48비트 노드 id Version
- version 1 (date-time and MAC 주소)
- version 2 (date-time and MAC 주소 + DEC 보안)
- version 3 (namespace + MD5 해시)
- version 4 (랜덤)
- version 5 (namespace + SHA-1 해시)
'Development > ETC.' 카테고리의 다른 글
.Net Core 의존성 주입 (DI) (0) 2021.03.20 프레임워크와 라이브러리의 차이점을 아시나요? (0) 2020.10.24 fatal error C1083: Cannot open include file: 'MNN_generated.h': No such file or directory(feat. MNN) (0) 2020.07.01 cl.exe is not able to compile a simple test program(feat. MNN Demo) (0) 2020.06.30 opencv_world430d.dll이(가) 없어 코드 실행을 진행할 수 없습니다.(opencv_world430d.dll was not found) (2) 2020.06.13 댓글