이 방법은 데이터베이스의 auto increment를 사용하는 방법입니다. 다만 ID 값을 증가시킬 때 1만큼 증가시키는 것이 아니라, 분산 데이터 서버의 수만큼 증가시킵니다. 따라서 k개의 간격을 둔 데이터들끼리 한 서버에 저장되는 방식입니다. 하지만 이 방법은 다음과 같은 중대한 단점을 가지고 있습니다.
UUID는 유일성이 보장되는 ID를 만드는 또 하나의 간단한 방법입니다. UUID는 컴퓨터 시스템에 저장되는 정보를 유일하게 식별하기 위한 128짜리 수입니다. UUID 값은 충돌 가능성이 지극히 낮습니다. 위키피디아를 인용하면 중복 UUID는 서버 간 조율 없이 독립적으로 생성이 가능해, 규모 확장도 쉽습니다. 하지만 UUID는 다음과 같은 단점을 가집니다.
티켓 서버는 auto increment 기능을 갖춘 데이터베이스 서버, 즉, 티켓 서버를 중앙 집중형으로 하나만 사용하는 것이다. 티켓 서버는 유일성이 보장되는 오직 숫자로만 구성된 ID를 쉽게 만들 수 있고 구현이 쉬워서 중소 규모 애플리케이션에 적합하다. 하지만 티켓 서버의 단점은 다음과 같다.
트위터 스노플레이크 기법은 우리가 생성해야 하는 ID의 구조를 여러 절로 분할한다.
사인 비트 | 타임스탬프 | 데이터센터 ID | 서버 ID | 일련번호 |
---|