
[Primary Key 생성 전략] #6. 유니크 정렬 숫자 (Snowflake, TSID 등)
·
dev zone/database
# 0. 들어가며 UUID는 랜덤성이 강해서 데이터베이스 성능에 악영향을 줄 수 있습니다. 그리고 이를 해결하기 위해 정렬 가능한 숫자로 된 유니크한 ID를 생성하는 방식이 등장했습니다. 이전의 문자열과 다른점은 숫자타입으로 좀 더 사용성을 높였습니다. 대표적인 방법으로 Snowflake, TSID, FlakeID 등이 있으며, 이 방식은 시간 기반 정렬이 가능하고, 중복 없는 고유한 ID를 제공합니다. # 1. Snowflake 알고리즘의 원리 (타임스탬프 + 머신 ID + 시퀀스) Snowflake는 Twitter에서 개발한 유니크한 정렬 숫자 ID 생성 방식입니다. ID를 64비트 숫자로 표현하여 UUID보다 작고, 정렬이 가능합니다. 앞부분은 시간 정보를 포함하므로 ID가 시간 순서대로 정렬..