DESIGN CHECK

분산 DB 설계는 병목이 드러난 뒤 단계적으로 넓힌다

처음부터 모든 것을 분산하기보다 읽기, 쓰기, 저장량, 장애 요구 중 무엇이 문제인지 먼저 좁힌다.

NeedRiskOperate
1읽기 병목?Replica, 캐시, 인덱스, read preference부터 검토
2쓰기/용량 병목?샤드 키와 hot shard 가능성을 먼저 검증
3장애 목표?RTO/RPO, failover, 백업/복구 리허설 정의
4일관성 요구?오래된 읽기 허용 범위, quorum, 트랜잭션 경계 결정

결론: 레플리케이션과 샤딩은 같이 쓰이지만, 해결하는 병목과 만들어내는 비용은 다르다.