【问题标题】:Pinning collections/chunks to specific shards/nodes将集合/块固定到特定的分片/节点
【发布时间】:2012-06-27 12:45:54
【问题描述】:

MonogDB 的自动分片将集合或块(即集合的一部分)分发到不同的节点/分片。是否可以配置哪些节点用于特定的集合或块?

示例: 假设我们有集合 C1、C2 和 C3 以及节点/分片 N1、N2。

是否可以将分片配置为 C1 将始终存储在 N1 上?

是否可以配置分片以使 C3 的块 A 始终存储在 N1 上?

我知道键范围存储在一个特殊的配置数据库中,并且平衡器进程会修改此数据以分配负载。但是,手动修改这些数据是否安全?

【问题讨论】:

    标签: mongodb sharding


    【解决方案1】:

    强烈建议不要自行编辑配置数据。您最终可能会损坏数据库。

    没有办法将块固定到分片。它被称为自动分片是有原因的:)

    理论上,您可以关闭平衡器,将数据移动到您想要的位置并修改块配置。但是在这种情况下,你不能打开自动平衡(或者它会移动你的“固定”块)。

    目前所有未分片的集合都驻留在数据库的主分片上。所有分片集合均匀(或多或少)分布在所有分片中。 a ticket 关于将未分片的集合移动到其他分片,但不清楚何时(或是否)会实施。

    【讨论】:

      【解决方案2】:

      我有同样的问题,没有找到明确的解决方案,但似乎 10Gen 正在朝这个方向做一些事情:

      https://jira.mongodb.org/browse/SERVER-4621 还有这个: https://jira.mongodb.org/browse/SERVER-939

      第二个将于 11 月到期,所以我想我们可能会在 2.6 版中看到它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-09
        • 2020-01-29
        • 1970-01-01
        • 2018-10-17
        • 1970-01-01
        • 2019-03-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多