
청크는 샤딩 컬렉션에서 각 샤드에 분산된 도큐먼트 데이터들의 논리적인 그룹이다.
sh.enableSharing('my-db');
sh.shardCollection('my-db.mycollection', { username: 1 });
컬렉션을 샤드하면 샤딩이 완료되고, 이제 데이터는 분산되어 저장될 것이다.
몽고DB 샤드 클러스터를 균형 있게 유지하기 위해 분할(splitting)와 마이그레이션 두가지 작업이 있다.
마이그레이션이 분할보다 훨씬 많은 비용이 발생한다. 만약, 삽입 연산이 잘 분산된다면 모든 샤드의 데이터 크기가 거의 동일한 비율로 증가하게 될 것이다. 이럴 경우 청크 수가 거의 동일한 비율로 증가하고 비용이 상대적으로 큰 마이그레이션 작업이 빈번하지 않게 이루어질 것이다.