UUID(Universally Unique Identifier, 범용 고유 식별자)
컴퓨터 시스템 내에서 고유한 객체를 식별하기 위해 사용하는 값(
128 비트
(16 바이트
))중복될 확률은 0이 아니지만, 충분히 0에 가깝기 떄문에 고유성 보장
구조
123e4567-e89b-12d3-a456-426614174000
8 - 4 - 4 - 4 - 12 구조
하이픈(
-
) 4개와 16진수 32개. 총 36개 문자※ 저장할 떄는 하이픈(
-
) 제외
버전
가장 많이 사용하는 버전은 UUID 4
122비트를 모두 무작위로 생성(4비트는 버전 표기)
특징 및 단점
충돌 가능성이 낮아 일부 값만 랜덤하게 생성하고, 나머지는 고정된 값 사용 가능
ex) 앞 12 글자 타임스탬프
4바이트를 사용하는 식별자(데이터 베이스 auto increment)보다 검색, 추가, 삭제 속도가 느리다.
무작위로 생성한 글자들이기 떄문에 UUID를 통한 정보 식별이 어렵다.
사용 예시 - node.js 라이브러리 uuid
npm install uuid // uuid 생성 import { v4 as uuidv4 } from 'uuid'; uuidv4(); // '109156be-c4fb-41ea-b1b4-efe1671c5836' // 버전 4 옵션 let v4options = { random: [...]// 16개의 랜덤 바이트값(0-255)의 배열 rng: // random 변수를 대체할 16개의 랜덤 바이트값을 반환하는 함수 } uuidv4(v4options); // '109156be-c4fb-41ea-b1b4-efe1671c5836'
Reference
Last updated