PK타입 UUID
53
작성한 질문수 1
물리적 모델링에서 PK의 타입을 선택할 때 대부분 BIGINT를 사용하고 용량 차이도 크지않다는 강의가 매우 좋았습니다.
그런데 논리적 모델링에서 PK로 UUID도 사용한다고 들었는데 UUID는 128바이트로 16바이트로 정수 PK보다 2배 더 크고 식별하기도 힘들것이라고 생각되는데 사용한 경험이 있으실까요?
아니면 어떠한 상황에서 장점이 있는지 궁금합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 김문진님.
UUID를 PK로 사용하는 경우는 특정 요구사항에 의해 일반적으로 사용됩니다. UUID는 전역적으로 고유한 값을 생성하기 때문에 여러 시스템이 분산된 환경에서 서로 겹치지 않는 고유한 식별자를 필요로 할 때 특히 유리합니다. 이러한 특징 때문에 다양한 시스템 사이에서 데이터를 통합하거나 마이크로서비스 아키텍처에서 유효할 수 있습니다.
UUID의 주된 장점은 고유성을 보장하면서도, 여러 데이터베이스에 걸쳐 데이터 병합 시 충돌 없이 동일한 PK 체계를 사용할 수 있다는 점입니다. 또한, 네트워크를 통해 데이터를 전송하며 사용하는 경우나 보안상의 이유로 숫자가 연속적으로 증가하는 패턴 없이 불규칙적인 식별자를 필요로 하는 경우에도 적합합니다.
그러나, 말씀하신 바와 같이 UUID는 128비트(16바이트)로 bigint 타입(8바이트)보다 크기 때문에 저장소 용량과 인덱싱 성능에 영향을 미칠 수 있습니다. 따라서 데이터베이스의 크기와 성능 요구 사항, 그리고 시스템의 아키텍처를 고려하여 PK 타입을 선택하는 것이 중요합니다.
다음 링크에서 관계형 데이터베이스에서 UUID를 사용하는 예시와 이에 대한 고려사항을 확인해 보실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
아주 작은 정오표 전달드립니다.
0
52
2
실제로 작은 기업에서 기획 롤
1
27
1
order_product 까마귀발
0
44
2
[DB설계] 탈퇴 유저의 구독 정보 유지 및 이메일 마스킹 관련 질문입니다.
0
53
1
자연키 vs 대리키 실무질문
0
28
1
1:N 관계에서 중간테이블 (연관엔티티)
0
57
2
일대일 fk 위치
0
43
1
제 3 정규형 vs BCNF 정규형 차이점?
0
106
3
BCNF 질문
0
78
2
연관 엔티티 네이밍 규칙
0
53
1
진짜 강의 듣는거 너무 고문
0
139
1
28강 sql 파일 어딨나여?
0
94
1
2NF의 엄밀한 정의
0
74
1
comment 채번을 사용해야 하는 이유에 대한 설명이 필요합니다.
0
124
3
학습중인 수업자료를 받아볼 수 있을까요??
0
103
2
수업자료 pdf파일관련 건의 - 제목 링크위치 개선
0
88
2
서비스 운영 중 잘못된 테이블 설계 발견시 수정 시점에 대한 질문
1
107
2
실무적인 설계로 접근했을 때 제 2정규형 항상 만족?
0
82
1
슈퍼/서브 타입 joined 전략
0
74
2
created_at 관련 구현과 DB ENUM에 대해
0
75
1
M:N 관계의 연관 엔티티 설계 순서
0
81
2
데이터 역사성 훼손 문제
0
67
2
실무팁 - 등록자,수정자 컬럼 관리 관련 질문입니다.
0
84
1
구글이 이메일 변경을 허용하는 이유
0
126
1





