범용 고유 식별자는 소프트웨어 구축에 쓰이는 식별자 표준으로, OSF에서 분산 컴퓨팅 환경의 일부로 표준화 하였다. 주로 분산 컴퓨팅 환경에서 사용되는 식별자이다.
UUID는 총 36개의 문자열(32개 문자와 4개의 하이픈)으로 구성되어 있고, 8-4-4-4-12 의 자릿 수로 구성되어 있다.
> 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d
버전마다 특정 자리와 특정 문자(Version, Variant Field)에는 의미가 있다고 하는데 공부하다보니 내가 굳이 거기까지 기억할 필요는 없는 것 같다.
고유 식별자로 사용되지만 꼭 중복 될 확률이 0%는 아니다. 다만 0%에 수렴할 뿐이다. 그렇기 때문에 단일로 PK키로 사용하진 말아야 할 것 같다.
UUID의 버전은 1~5 까지 있는 것 같고, 대부분의 개발자들이 많이 쓰는건 v4 인듯 하다.
- 버전 1 (시간 + MAC 주소)
- 버전 2 (시간 + DCE 보안)
- 버전 3 (시간 + MD5 해시)
- 버전 4 (시간 + 랜덤)
- 버전 5 (시간 + SHA-1 해시)
UUID의 장점
- UUID가 생성할 수 있는 340,282,366,920,938,463,463,374,607,431,768,211,456개의 키를 생성할 수 있기 때문에 중복은 쉽지 않다.
- 연속성이 없기 때문에 데이터를 유추하기 어렵다.
UUID의 단점
- 연속성이 없기 때문에 Indexing을 할 때 성능 저하 및 시간과 자원을 더 사용하게 된다.
- 보통의 순차증가키보다 공간을 더 많이 차지한다.
https://ko.wikipedia.org/wiki/%EB%B2%94%EC%9A%A9_%EA%B3%A0%EC%9C%A0_%EC%8B%9D%EB%B3%84%EC%9E%90
https://www.rfc-editor.org/info/rfc4122
'IT > general' 카테고리의 다른 글
[네트워크] 세션 - Session (0) | 2022.02.09 |
---|---|
[네트워크] 쿠키? (0) | 2022.02.09 |
로깅(Logging)? (0) | 2021.12.14 |
SSL(Secure Sockets Layer) (0) | 2021.12.07 |
[방화벽] 기본 포트 차단 (0) | 2021.11.22 |