sharding은 MongoDB의 수평적 확장 방법입니다 — 데이터를 여러 서버(shard)에 분산하여 데이터베이스가 단일 서버가 처리할 수 있는 것을 넘어선 데이터셋과 처리량을 다룰 수 있게 합니다. shard key로 데이터를 분할하며, MongoDB가 쿼리를 올바른 shard로 라우팅합니다.
왜 shard하나: 하나의 서버를 넘어 확장
단일 서버는 한계(저장, RAM, 쓰기 처리량)가 있음. 데이터/부하가 하나의 서버(강력한
것이라도)가 처리할 수 있는 것을 초과하면, SHARDING이 이를 분산:
→ 데이터가 여러 SHARD에 분할됨 (각각 replica set)
→ 각 shard가 데이터의 SUBSET을 보유 → 결합된 용량이 수평적으로 확장
→ 거대한 데이터셋과 높은 쓰기 처리량 처리
