Chapter 7 분산 시스템을 위한 유일 ID 생성기 설계
auto_increment 속성이 설정된 관계형 데이터베이스의 기본 키를 쓰면 되지 않을까?
→ 분산 환경에서는 통하지 않는다.
- DB 서버 한대로는 요구를 감당할 수 없고
- 여러 DB 서버를 쓰는 경우 delay를 낮추기 어렵다.
1단계 문제 이해 및 설계 범위 확정
- ID는 유일해야 하고, 정렬 가능해야 함 (새로운 ID가 항상 커야함)
- 항상 1만큼 커질 필요는 없는 숫자여야 함 (64bit)
- 초당 10,000 ID를 생성할 수 있어야 함
2단계 개략적 설계안 제시 및 동의 구하기
다중 마스터 복제 (multi-master replication)

단점
- 여러 데이터 센터에 걸쳐 규모를 늘리기 어렵다?
- ID의 유일성은 보장되겠지만 그 값이 시간 흐름에 맞추어 커지도록 보장할 수는 없다.
- 서버를 추가하거나 삭제할 때도 잘 동작하도록 만들기 어렵다?
UUID (Universally Unique Identifier)
- 컴퓨터 시스템에 저장되는 정보를 유일하게 식별하기 위한 128비트짜리 수
- 중복이 발생할 확률을 50%로 끌어 올리려면? 초당 10억 개의 UUID를 100년 동안 계속해서 만들어야 한다.
- 서버 간 조율 없이 독립적 생성 가능