【问题标题】:MongoDB Shard key SelectionMongoDB 分片键选择
【发布时间】:2016-02-27 08:52:39
【问题描述】:

我有一个场景,我不知道 MongoDb 中集合的结构和字段是什么。每个用户也会有多个单个数据库(例如多租户数据库)。

我将在生产中部署复制分片集群。为了扩展和更好的机器优化,我在创建每个 DB 期间基于每个 DB 应用分片,并且同一 DB 下的每个集合将被分片到不同的分片.现在在这种情况下,我不确定哪个键是最佳选择,因为将在每个 DB 下创建的集合的结构和字段将是未知的。由于 DB 的结构,Collection 是未知的,我无法预测大部分时间将使用哪种类型的查询。所以我想选择一个满足所有分片键选择标准的分片键,例如:基数、查询隔离、单调递增、写入缩放、易除。

在这种情况下,解决方案是什么?

如果我选择该集合下的所有字段作为分片键以及散列 _id 字段作为复合键怎么办?

【问题讨论】:

    标签: mongodb mongodb-java


    【解决方案1】:

    一旦您创建了一个分片键,您就无法对其进行编辑。 因此,请继续将数据注入集合中,一旦您清楚地了解了字段,您就可以随时对集合进行分片。

    重新平衡在分片后自动发生。

    【讨论】:

      猜你喜欢
      • 2020-05-11
      • 1970-01-01
      • 1970-01-01
      • 2018-09-15
      • 1970-01-01
      • 2017-03-10
      • 2020-03-27
      • 2014-11-06
      • 1970-01-01
      相关资源
      最近更新 更多