【发布时间】:2016-02-27 08:52:39
【问题描述】:
我有一个场景,我不知道 MongoDb 中集合的结构和字段是什么。每个用户也会有多个单个数据库(例如多租户数据库)。
我将在生产中部署复制分片集群。为了扩展和更好的机器优化,我在创建每个 DB 期间基于每个 DB 应用分片,并且同一 DB 下的每个集合将被分片到不同的分片.现在在这种情况下,我不确定哪个键是最佳选择,因为将在每个 DB 下创建的集合的结构和字段将是未知的。由于 DB 的结构,Collection 是未知的,我无法预测大部分时间将使用哪种类型的查询。所以我想选择一个满足所有分片键选择标准的分片键,例如:基数、查询隔离、单调递增、写入缩放、易除。
在这种情况下,解决方案是什么?
如果我选择该集合下的所有字段作为分片键以及散列 _id 字段作为复合键怎么办?
【问题讨论】:
标签: mongodb mongodb-java