본문 바로가기
개발/DB

[DB] UUID를 PK(Primary Key)로 사용하는 이유?

by zuzuu 2022. 1. 17.
반응형

 

UUID란?

Universally unique identifier
네트워크 상에서 고유성이 고장되는 ID를 만들기 위한 표준 규약으로 랜덤하게 생성되는 값이며, 중복될 확률이 0%는 아니지만 매우 희박하다.



DB 관련 서적을 보거나 서치를 하면 PK를 auto_increment로 사용하는 경우가 많고, 이렇게 사용하는게 좋다고들 얘기한다.


PK를 auto_increment로 사용하는 것은 좋지만 이 PK값이 URL 혹은 공개된 곳에 노출된다면? 

이 값은 단순하게 증가하는 값이라 유추하기 쉽고, 이로 인해 다른 데이터에 쉽게 접근할 수 있다.
즉, 예측 가능한 모델이 되므로 크롤링이나 인젝션 공격에 더 취약하다.

따라서 쉽게 유추할 수 없도록 UUID를 PK로 사용하게 되는 것!

 

728x90
반응형

댓글