왜 분산이 필요한가

한 서버가 모든 읽기·쓰기·저장을 맡으면
병목도 한곳에 모입니다.

분산 데이터베이스는 기능을 늘리는 것이 아니라, 서로 다른 운영 한계를 각기 다른 방식으로 나눠 맡기는 구조입니다.

공유된 출발점: 단일 DB 서버

요청 처리, 장애 대응, 저장 공간, 지역 응답까지 모두 한 노드에 걸리면 확장 방향이 하나로 고정됩니다.

읽기 집중 쓰기 집중 단일 장애점 원거리 지연
병목
단일 서버에서 드러나는 문제
분산으로 나누는 방식
읽기 처리량
조회 요청이 몰림
같은 데이터 조회가 한 CPU·메모리에만 몰려 피크 시간마다 읽기 병목이 생깁니다.
레플리케이션
복제본 여러 대로 읽기 요청을 분산합니다.
쓰기와 저장량
데이터가 계속 커짐
모든 쓰기와 데이터 증가가 한 디스크 용량·IOPS에 갇혀 확장이 수직 증설에만 의존합니다.
샤딩
데이터를 나눠 쓰기 부하와 저장 공간을 여러 서버로 분산합니다.
가용성
장애 한 번이 전체 영향
서버 1대가 곧 단일 장애점이라 장애 시 서비스 전체가 함께 멈출 수 있습니다.
레플리케이션
같은 데이터를 복제해 장애 시 다른 복제본이 대체할 수 있게 합니다.
지역 지연
사용자와 서버가 멀리 떨어짐
먼 지역 사용자도 같은 서버까지 왕복해야 해서 네트워크 거리 자체가 지연이 됩니다.
멀티 리전 복제
사용자와 가까운 위치에 데이터를 두어 응답 시간을 줄입니다.
핵심 정리
분산 데이터베이스는 한 거대한 서버를 더 키우는 방식이 아니라, 읽기, 쓰기·저장, 가용성, 지역 응답을 서로 다른 구조로 분해해 운영 한계를 늦추는 설계입니다.