샤드 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 백만 문서라고 가정합니다.
샤딩 명령에 의해 생성되고 분산된 된 초기 청크에 대한 자세한 내용은 빈 컬렉션을 참조하세요.
밸런서 및 샤드 간 청크 자동 배포에 대한 자세한 내용은 클러스터 밸런서 및 청크 마이그레이션을 참조하세요.
청크 수동 마이그레이션에 대한 자세한 내용 은 샤드 클러스터에서 청크 마이그레이션을 참조하세요.