Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ /

샤드 cluster에 청크 생성

대부분의 경우 샤딩된 클러스터 는 사용자 개입 없이 자동으로 청크를 생성/ 분할 및 배포합니다. 그러나 제한된 수의 경우 MongoDB 가 필요한 처리량 을 지원 만큼 충분한 청크를 생성하거나 데이터를 빠르게 배포할 수 없습니다.

예를 예시, 불균형한 클러스터 에 대량의 데이터를 수집하려는 경우 또는 샤드 키가 단조롭게 증가하거나 감소하는 경우와 같이 데이터 수집으로 인해 데이터 불균형이 발생할 수 있습니다. 이러한 경우 빈 샤딩된 컬렉션 의 청크를 미리 분할하면 처리량 에 도움이 될 수 있습니다.

또는 비어 있거나 존재하지 않는 컬렉션 을 샤딩 하기 전에 구역 및 구역 범위 를 정의하여 샤드 컬렉션 작업은 정의된 구역 범위에 대한 청크와 샤드 키 값의 전체 범위 를 포함하는 추가 청크를 생성하고 다음을 수행합니다. 구역 범위에 따른 초기 청크 분포. 자세한 내용은 빈 컬렉션을 참조하세요.

경고

빈 컬렉션에 대한 청크만 사전 분할합니다. 채워진 컬렉션에 대해 청크를 수동으로 분할하면 예측할 수 없는 청크 범위와 크기뿐만 아니라 비효율적이거나 비효율적인 밸런싱 동작이 발생할 수 있습니다.

빈 청크를 수동으로 분할하려면 split 명령을 실행할 수 있습니다.

예시

email 필드를 샤드 키로 사용하여 myapp.users 컬렉션의 문서에 대한 청크를 생성하려면 mongosh에서 다음 작업을 사용합니다.

for ( var x=97; x<97+26; x++ ){
for ( var y=97; y<97+26; y+=6 ) {
var prefix = String.fromCharCode(x) + String.fromCharCode(y);
db.adminCommand( { split: "myapp.users", middle: { email : prefix } } );
}
}

여기서는 컬렉션 크기가 100 백만 문서라고 가정합니다.

다음도 참조하세요.

돌아가기

데이터 분할