Hi Vince
You are correct — starting with MongoDB 6.0, we introduced a new sharding balancer policy based on data size rather than number of chunks. This means that chunks will only be split when they need to be moved. As a result, it’s completely expected to see only one chunk on a specific shard in certain cases.
Additionally, in MongoDB 7.0, we introduced the automerge feature, which is enabled by default. With automerge, the server can automatically merge adjacent chunks on the same shard, provided they meet the mergeability requirements. This explains why your previously split chunks may seem to “disappear” — they’re being merged automatically.
To summarize:
- With the balancer enabled, it utilizes the data size policy to split and move chunks as needed to ensure even data distribution.
- Once split chunks are moved and become eligible for merging, the server can automatically combine adjacent chunks on the same shard.
If you have any further questions or need additional clarification on this topic, feel free to ask—I’d be happy to help!