snowflake

DataBase

[DB] 상황에 맞는 Unique ID 생성 방법

😏 서론 개발을 하면서, 유니크한 값을 사용할 일이 많습니다. 예를 들어 PK가 있을 수도 있고, 쿠폰번호가 있을 수도 있고, 결제번호가 될수도 있습니다. 유니크한 값을 만드는 방식들은 어떤 게 있고, 어떤 상황에 어떤 방식을 사용하는 게 좋을지 정리를 해보겠습니다. 😎 본론 먼저 3가지의 유니크 ID를 생성 종류에 대해서 알아보고 각각 어떨 때 적용하면 좋을지에 대해 개인적인 생각을 적어보겠습니다! 1. RDBMS 의 Auto Increment 디비에서 자동으로 만들어주는 자동증가 값으로 PK 용도로 사용된다. 장점 구현이 매우 간단하다. 숫자 증가기 때문에 재정렬이 필요 없다. 순서가 보장된다. 물리삭제가 되지 않는 특성의 테이블의 경우 마지막 row id 값만으로도 대략 테이블 데이터의 수를 파악할..

Project

[Ticketing] 유저 PK 대신 유니크 ID 만들어 사용하게 된 계기 (유니크 ID 생성)

🥸 서론 현재 진행 중인 Ticketing 프로젝트는 시스템이 분리되어있다는 가정 하에 진행된 프로젝트입니다. 여기서 결제시스템에서는 어떤 유저가 결제했는지에 대한 정보가 있어야 합니다. 처음 설계 당시에는 유저 PK 값을 넣어서 사용하려 했지만, 몇 가지 문제가 있어서 대체 유니크키 생성을 결정하게 되었고, 그 내용을 정리해보려 합니다. 😎 본론 기존 ERD 구조입니다. 여기서 Payment 에서 User의 pk 값을 가지고 있죠. 고민의 시작인 API의 간단한 Sequence Diagram 입니다. 여기서 결제 목록 요청을 할 때 각 유저의 고유한 값을 Payment에서 가지고 있어야 유저의 결제 목록을 응답해줄 수 있습니다. 여기서 기존엔 User의 PK를 사용했는데, 왜 고민했는지 Email, U..

Hyo Kim
'snowflake' 태그의 글 목록