MongoDB 如何在集群中分布数据
How does MongoDB distribute data across a cluster
我在 MongoDB 中读到过关于对集合进行分片的内容。 MongoDB 让我通过调用 shardCollection
方法显式地分片集合。在那里我可以选择是要范围共享还是散列分片。
我的问题是,如果我没有调用 shardCollection
方法会发生什么,我说有 100 个节点?
MongoDB 会保持集合的完整性并将它们分发到集群中吗?
会MongoDB将所有集合保存在一个节点中吗?
我完全不明白这是怎么回事吗?
数据库可以混合使用分片和非分片集合。分片集合被分区并分布在集群中的分片上。在 MongoDB 3.4 中,每个数据库都有一个主分片,其中存储未分片的集合。如果您的部署有多个数据库,这可能会导致未分片集合的一些分布,但未分片数据没有平衡 activity。有关预期行为的更多信息,请参阅 MongoDB 手册中的 Sharding 部分。
如果您对分片数据库中未分片集合的分布感兴趣,可以在 MongoDB 问题跟踪器中 watch/upvote 提出相关功能请求:SERVER-939: Ability to distribute collections in a single DB.
我在 MongoDB 中读到过关于对集合进行分片的内容。 MongoDB 让我通过调用 shardCollection
方法显式地分片集合。在那里我可以选择是要范围共享还是散列分片。
我的问题是,如果我没有调用 shardCollection
方法会发生什么,我说有 100 个节点?
MongoDB 会保持集合的完整性并将它们分发到集群中吗?
会MongoDB将所有集合保存在一个节点中吗?
我完全不明白这是怎么回事吗?
数据库可以混合使用分片和非分片集合。分片集合被分区并分布在集群中的分片上。在 MongoDB 3.4 中,每个数据库都有一个主分片,其中存储未分片的集合。如果您的部署有多个数据库,这可能会导致未分片集合的一些分布,但未分片数据没有平衡 activity。有关预期行为的更多信息,请参阅 MongoDB 手册中的 Sharding 部分。
如果您对分片数据库中未分片集合的分布感兴趣,可以在 MongoDB 问题跟踪器中 watch/upvote 提出相关功能请求:SERVER-939: Ability to distribute collections in a single DB.