我读过关于在MongoDB中分片集合的内容。 MongoDB允许我通过调用shardCollection
方法显式地对集合进行分片。在那里,我可以选择是否要求它进行范围共享或散列分片。
我的问题是,如果我没有调用 <button ngf-select="upload($file)"
ngf-pattern="'image/*'"
ngf-accept="'image/*'"
multiple
class="btn btn-success">
Add</button>
方法,我会说100个节点会发生什么?
MongoDB会保持集合的完整性并将它们分布在集群中吗?
MongoDB会将所有集合保存在一个节点中吗?
我完全不明白这是如何运作的吗?
答案 0 :(得分:1)
数据库可以混合使用分片和非分片集合。分片集合在集群中的分片上进行分区和分布。与MongoDB 3.4一样,每个数据库都有一个主分片,其中存储了未分片的集合。如果您的部署有许多数据库,这可能会导致某些未加密的集合的分布,但是对于未加密的数据没有平衡活动。有关预期行为的更多信息,请参阅MongoDB手册中的Sharding部分。
如果您对在分片数据库中分发未加密的集合感兴趣,可以在MongoDB问题跟踪器中查看/提升相关功能请求:SERVER-939: Ability to distribute collections in a single DB。