[CS] UUID란

Hyunjun Kim·2025년 7월 18일
0

Computer_Science

목록 보기
9/19

UUID란 무엇인가

UUID는 Universally Unique Identifier의 약자로, 전 세계에서 고유한 ID를 생성하기 위한 표준이다.
128비트 크기의 값으로 구성되며, 중앙 서버 없이도 고유한 ID를 생성할 수 있다는 장점이 있다.


1. UUID의 특징

  • 128비트(16바이트) 고정 길이 식별자

  • 하이픈(-)으로 구분된 8-4-4-4-12 형식의 문자열
    예시: 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d

  • 중앙 서버 없이도 생성 가능
    네트워크나 시간, 무작위(random) 방식으로 만들어지므로 빠르고 유연하다.

  • 충돌 확률이 매우 낮음
    예: UUID v4 기준 1조 개 중 10억 분의 1 수준


2. UUID 구조

UUID는 총 5개의 필드로 구성된다. (RFC 4122 기준)

필드명크기설명
time-low32비트타임스탬프 하위
time-mid16비트타임스탬프 중간
time-high-and-version16비트타임스탬프 상위 + 버전
clock-seq16비트클락 시퀀스
node48비트네트워크 노드 정보 또는 랜덤값

3. UUID의 버전 종류

버전생성 방식특징
v1시간 + MAC 주소생성 시점, 장비 추적 가능
v3네임스페이스 + MD5입력값 기반 (결과 동일)
v4무작위(Random)가장 널리 쓰이며 보안성 우수
v5네임스페이스 + SHA-1v3과 유사하나 더 안전한 해시

보안성과 성능을 고려할 경우, 버전 4(UUID v4)가 가장 일반적으로 사용된다.


4. UUID 생성 방법

Java

import java.util.UUID;
UUID.randomUUID().toString();

JavaScript

import { v4 as uuidv4 } from 'uuid';
uuidv4();

Python

import uuid
uuid.uuid4()

5. 사용 사례

  • 데이터베이스의 고유 키 값
  • 사용자 또는 세션 식별자
  • 분산 시스템에서 중복 없는 ID 생성

UUID는 충돌 가능성이 극히 낮고, 네임스페이스나 시간정보 없이도 고유 식별자를 만들 수 있기 때문에 다양한 시스템에서 널리 사용된다.

참고

toss payment 개발자 센터 : https://docs.tosspayments.com/resources/glossary/uuid

profile
Data Analytics Engineer 가 되

0개의 댓글