UUID가 뭔가요
데이터베이스 ID가 숫자가 아니라 긴 문자열인 경우가 있습니다. 550e8400-e29b-41d4-a716-446655440000 이런 식이에요. UUID라고 하는데 왜 쓰는 건가요. 고유 식별자의 개념과 활용법을 알려드릴게요.
UUID란
Universally Unique Identifier의 약자입니다. 전 세계에서 유일한 값을 만들어줍니다. 128비트로 구성되어 있습니다. 하이픈으로 구분된 32개의 16진수 문자입니다. 중앙 관리 없이도 고유한 값을 생성할 수 있습니다.
왜 쓰나요
여러 서버에서 동시에 ID를 만들어도 충돌이 안 납니다. 분산 시스템에서 특히 유용합니다. 순차적인 숫자는 예측이 가능해서 보안에 취약합니다. UUID는 추측하기 어렵습니다. 데이터를 합칠 때도 ID 충돌 걱정이 없습니다.
생성 방법
UUID 생성기에서 바로 만들 수 있습니다. 클릭 한 번으로 새로운 UUID가 생성됩니다. 프로그래밍 언어마다 라이브러리가 있습니다. 자바스크립트는 crypto.randomUUID를 쓰면 됩니다. 파이썬은 uuid 모듈이 있습니다.
버전이 있어요
UUID에는 여러 버전이 있습니다. v1은 시간과 MAC 주소 기반입니다. v4는 완전 랜덤입니다. v4가 가장 많이 쓰입니다. 보안 목적에는 v4가 적합합니다. 정렬이 필요하면 v7을 고려해보세요.
단점도 있어요
숫자 ID보다 용량이 큽니다. 데이터베이스에서 인덱싱 성능이 떨어질 수 있습니다. 사람이 기억하기 어렵습니다. 디버깅할 때 불편할 수 있습니다. 상황에 따라 적절히 선택하세요.
활용 예시
사용자 ID나 주문 번호에 씁니다. 파일명을 고유하게 만들 때도 유용합니다. 세션 토큰이나 임시 링크에 활용합니다. 비밀번호 생성기와 개발 도구들도 함께 활용해보세요.