db.collection.getShardDistribution()
정의
db.collection.getShardDistribution()
중요
Mongo쉬 방법
이 페이지에서는
mongosh
메서드를 설명합니다. 이는 Node.js와 같은 언어별 드라이버에 대한 설명서가 아닙니다.MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 설명서를 참조하세요.
샤딩된 컬렉션 에 대한 데이터 배포 통계를 출력합니다.
구문
getShardDistribution()
메서드의 형식은 다음과 같습니다.
db.collection.getShardDistribution()
출력
참고
getShardDistribution()
의 동작이 MongoDB Shell 버전 2.3.3 에서 변경되었습니다.
MongoDB Shell 버전 2.3.3 부터
getShardDistribution()
에는 일반 샤딩된 데이터만 포함되며 고아 문서는 고려되지 않습니다.MongoDB Shell 버전 2.3.3 이전에는
getShardDistribution()
이(가) 일반 샤딩된 데이터와 삭제 보류 중인 고아 문서를 모두 고려합니다. 컬렉션 에 고아 문서가 포함되어 있는 경우getShardDistribution()
는 일반 데이터 측면에서 컬렉션 이 균형을 이루고 있더라도 컬렉션 이 불균형 상태임을 나타낼 수 있습니다. 분리된 데이터를 포함하는 샤드 는 다른 샤드에 비해 더 많은 문서와 더 큰 데이터 크기를 갖지만 청크 수는 동일합니다.
샘플 출력
다음은 샤드 컬렉션의 배포에 대한 샘플 출력입니다.
Shard shard01 at shard01/localhost:27018 { data: '38.14MB', docs: 1000003, chunks: 2, 'estimated data per chunk': '19.07B', 'estimated docs per chunk': 500001 } --- Shard shard02 at shard02/localhost:27019 { data: '38.14B', docs: 999999, chunks: 3, 'estimated data per chunk': '12.71B', 'estimated docs per chunk': 333333 } --- Totals { data: '76.29B', docs: 2000002, chunks: 5, 'Shard shard01': [ '50 % data', '50 % docs in cluster', '40B avg obj size on shard' ], 'Shard shard02': [ '49.99 % data', '49.99 % docs in cluster', '40B avg obj size on shard' ] }
출력 필드
Shard shard01 at <host-a> { data: <size-a>, docs: <count-a>, chunks: <number of chunks-a>, 'estimated data per chunk': <size-a>/<number of chunks-a>, 'estimated docs per chunk': <count-a>/<number of chunks-a> } --- Shard shard02 at <host-b> { data: <size-b>, docs: <count-b>, chunks: <number of chunks-b>, 'estimated data per chunk': <size-b>/<number of chunks-b>, 'estimated docs per chunk': <count-b>/<number of chunks-b> } --- Totals { data: <stats.size>, docs: <stats.count>, chunks: <calc total chunks>, Shard shard01: [ <estDataPercent-a> % data, <estDocPercent-a> % docs in cluster, stats.shards[ <shard-a> ].avgObjSize avg obj size on shard ], Shard shard02: [ <estDataPercent-b> % data, <estDocPercent-b> % docs in cluster, stats.shards[ <shard-b> ].avgObjSize avg obj size on shard ] }
출력 정보는 다음과 같이 표시됩니다.
<shard-x>
샤드 이름이 저장된 문자열입니다.<host-x>
호스트 이름이 포함된 문자열입니다.<size-x>
측정 단위를 포함하여 데이터의 크기를 포함하는 숫자입니다(예:b
,Mb
).<count-x>
샤드에 있는 문서 수를 보고하는 숫자입니다.<number of chunks-x>
샤드에 있는 청크의 수를 나타내는 숫자입니다.<size-x>/<number of chunks-x>
측정 단위를 포함하여 샤드에 대한 청크당 예상 데이터 크기를 반영하는 계산된 값입니다(예:b
,Mb
).<count-x>/<number of chunks-x>
샤드의 청크당 예상 문서 수를 반영하여 계산된 값입니다.<stats.size>
측정 단위를 포함하여 샤드 컬렉션에 있는 데이터의 전체 크기를 보고하는 값입니다.<stats.count>
샤드 컬렉션의 총 문서 수를 보고하는 값입니다.<calc total chunks>
모든 샤드의 청크 수를 보고하는 계산된 숫자입니다. 예를 들어 다음과 같습니다.<calc total chunks> = <number of chunks-a> + <number of chunks-b> <estDataPercent-x>
각 샤드에 대해 데이터 크기를 컬렉션의 전체 데이터 크기에 대한 백분율로 반영하는 계산된 값입니다. 예를 들어 다음과 같습니다.<estDataPercent-x> = <size-x>/<stats.size> <estDocPercent-x>
각 샤드에 대한 문서 수를 컬렉션의 총 문서 수의 백분율로 반영하는 계산된 값입니다. 예를 들면 다음과 같습니다.<estDocPercent-x> = <count-x>/<stats.count> stats.shards[ <shard-x> ].avgObjSize
측정 단위를 포함한 샤드의 평균 객체 크기를 반영하는 숫자입니다.