본문 바로가기

프로젝트 & TIL/일별 공부 기록 (백엔드 스쿨)

84일차 - MongoDB Sharded Cluster

Sharded Cluster

- 모든 샤드는 레플리카 셋으로 구성되어 있다.

* 샤딩 : 하나의 큰 데이터를 여러 장비에 걸쳐서 데이터를 분할하는 과정. Scale-out을 위한 솔루션

* 샤드 : 분할된 데이터셋의 모음

- Shard, Router, Config Server로 구성됨

- 모든 컬렉션이 샤딩될 필요는 없다.

- 샤딩은 Shard Key를 선정해야 하고 해당 필드에는 인덱스가 만들어져 있어야 한다.

- 컬렉션 단위 > 청크 단위로 분할(샤딩)한다.

- Ranged Sharding, Hashed Sharding(균등한 분산 => 권장), Zone Sharding(주로 다른 방식과 함께 사용)

 

장점

- 용량의 한계를 극복할 수 있다.

- 데이터 규모, 부하가 크더라도 처리량이 좋다.

- 고가용성(HA) 보장

- 하드웨어에 대한 제약 해결

 

단점

- 관리가 비교적 복잡하다.

- Replica Set과 비교해서 쿼리가 느리다.

=> Write에 대한 부하가 클 때는 샤디드 클러스터를 사용해야 할 수 있다.