청크

청크는 샤딩 컬렉션에서 각 샤드에 분산된 도큐먼트 데이터들의 논리적인 그룹이다.

샤딩 컬렉션

sh.enableSharing('my-db');
sh.shardCollection('my-db.mycollection', { username: 1 }); 

컬렉션을 샤드하면 샤딩이 완료되고, 이제 데이터는 분산되어 저장될 것이다.

분할과 마이그레이션

몽고DB 샤드 클러스터를 균형 있게 유지하기 위해 분할(splitting)와 마이그레이션 두가지 작업이 있다.

마이그레이션이 분할보다 훨씬 많은 비용이 발생한다. 만약, 삽입 연산이 잘 분산된다면 모든 샤드의 데이터 크기가 거의 동일한 비율로 증가하게 될 것이다. 이럴 경우 청크 수가 거의 동일한 비율로 증가하고 비용이 상대적으로 큰 마이그레이션 작업이 빈번하지 않게 이루어질 것이다.