이번에 MSA에 맞게 DB를 설계하면서 PK(Primary Key)로 UUID를 사용하였는데, 그렇게 된 김에 ID, UID, UUID에 대해 간략하게 글을 적어보려고 한다
어떤 차이가 있고 어떨 때 사용하는 것인지 자세히 알아보도록 하자
DB에서 데이터는 PK, 즉 고유 키값으로 식별을 한다
해당 값은 절대로 중복될 수 없고 데이터 그 자체를 나타내는 값이다
그렇다보니 데이터 타입을 Int, Long으로 두고 auto_increment 옵션을 사용하여 절대로 중복되지 않는 식별 정책을 자주 사용하게 된다
위와같은 것을 Identify, 즉 식별자라도 한다
하지만 정말 이 방법밖에 없을까? 단점은 없는 걸까?
물론 다른 방법도 있다. 이에 대해 간단히 알아보도록 하자
DB에서 id로 사용되는 식별자는 주로 다음의 3가지가 있다
Identifier의 약자로 가장 기본적인 식별자이다
주로 숫자형 타입을 가지며, 테이블 레코드, 객체 주소 등 보편적인 식별에 주로 사용된다
User Identifier의 약자로 말 그대로 사용자를 식별하기 위한 용도이다
Unique User Identifier의 약자로 국제적으로 고유한 식별자를 말한다