배치 결정 지도

DB 구조는 “서버 수”가 아니라, 병목을 어디로 떼어낼지의 선택입니다.

처음에는 단순성이 이기고, 트래픽이 커질수록 읽기, 쓰기, 지역성, 장애 대응을 서로 다른 위치로 분리합니다.

상황
단순 운영
읽기 병목
쓰기·지역 병목
출발점
중앙 DB 하나 이해와 운영이 쉽다. 장애 지점도 하나라 작을 때는 가장 싸다.
Primary + Replica 쓰기는 한 곳, 조회는 복제본으로 나눈다. 최신성 지연을 감수한다.
Shard 여러 개 데이터 자체를 키 기준으로 나눠 저장한다. 라우팅 규칙이 필요하다.
좋아지는 것
일관성 판단이 쉽다 한 서버 안에서 트랜잭션과 제약 조건을 끝까지 확인한다.
조회 트래픽을 분산 대시보드, 목록, 검색처럼 읽기 많은 경로를 따로 뺀다.
저장량과 쓰기량을 분산 한 장비가 감당하던 데이터와 쓰기 부담을 여러 노드로 나눈다.
새로 생기는 부담
성장 한계 수직 확장 이후에는 읽기·쓰기 모두 같은 지점에 몰린다.
복제 지연 Replica가 보는 값은 Primary보다 늦을 수 있다.
분산 조인·재분배 어느 샤드에 묻고 합칠지까지 애플리케이션과 운영이 떠안는다.
판단 순서

단순성이 먼저 깨지는 지점을 찾습니다. 조회가 먼저 아프면 복제, 저장량과 쓰기가 먼저 아프면 샤딩, 전역 지연이 먼저 아프면 지역 분산을 붙입니다.