대용량 처리 이해/MongoDB

Sharded Cluster

훈지런 2023. 1. 28. 18:30

모든 Shard는 Replica Set으로 구성 되어있다.
따라서 HA보장

Sharding

하나의 큰 데이터를 여러 장비에 걸처서 분할하는 과정
따라서 Sharding의 목적은 HA가 아니고 분산처리임.

분산의 기준 : 샤드 키

장점 단점
∙ 용량의 한계를 극복할수 있다
∙ 데이터 규모와 부하가 크더라도 처리량이 좋다.
∙ 고가용성을 보장한다.
∙ 하드웨어에 대한 제약을 해결할 수 있다.
∙ 관리다 비교적 복잡하다
∙ Replica Set과 비교해서 쿼리가 느리다.
  • 분산처리를 하기때문에 용량을 계속 늘릴수있다. 스케일 업으로 처리못하는 부분을 스케일 아웃으로 처리가 가능하기 때문
  • 각 Shard가 나눠져 있기때문에 요청이 들어왔을때 라우팅해줘야 하는 과정이 있고 범위 검색시 여러 샤드에 걸쳐서 데이터를 수집하기 때문에 Replica Set에 비해 느리다.
  • 따라서 대량으로 늘어나는 데이터를 저장하고 write부하가 클때 유리하다.

Sharding vs Partitioning


Sharding Partitioning
하나의 큰 게이터를 여러 서브셋으로 나우러 여러 인스턴스에 저장하는 기술 하나의 큰 데이터를 여러 서브셋으로 나누어 하나의 인스턴스의 여러 테이블로 나누어 저장하는 기술

'대용량 처리 이해 > MongoDB' 카테고리의 다른 글

일관성 제어  (0) 2023.02.15
Aggregation  (0) 2023.01.29
Replica Set  (0) 2023.01.01
MongoDB 구조  (0) 2022.12.31
MongoDB 개요  (0) 2022.12.30