MonogDB的自动分片将集合或块(即集合的一部分)分发到不同的节点/分片。是否可以配置哪些节点用于特定的集合或块?
实施例: 假设我们有集合C1,C2和C3以及节点/分片N1,N2。
是否可以以C1始终存储在N1上的方式配置分片?
是否可以以C3的块A总是存储在N1上的方式配置分片?
我知道密钥范围存储在特殊的配置数据库中,并且平衡器进程会修改此数据以分配负载。但是,手动修改此数据是否安全?
答案 0 :(得分:0)
强烈建议不自行编辑配置数据。你最终可能会破坏数据库。
无法将碎片固定到碎片上。它被称为自动分片,原因是:)
理论上,您可以关闭平衡器,将数据移动到您想要的位置并修改块配置。但在这种情况下,您无法打开自动平衡(或者它会移动您的“固定”块)。
目前,所有未加密的集合都驻留在数据库的主分片上。所有分片集合均匀(或多或少)分布在所有分片上。关于将未加密的集合移动到其他分片有a ticket,但是不清楚它何时(或是否)将被实现。
答案 1 :(得分:0)
我遇到了同样的问题,并没有找到明确的解决方案,但似乎10Gen正在朝着这个方向做点什么:
https://jira.mongodb.org/browse/SERVER-4621 还有这个: https://jira.mongodb.org/browse/SERVER-939
第二个应于11月到期,所以我想我们可能会在2.6版本中看到这一点。