2012-06-27 63 views
0

MonogDB的自動分片將集合或塊(即集合的一部分)分發到不同的節點/分片。是否可以配置哪些節點用於特定集合或塊?將集合/塊固定到特定的分片/節點

例如: 假設我們有C1,C2和C3集合以及節點/碎片N1,N2。

分片是否可以配置爲C1總是保存在N1上?

分片的配置方式是否可以將C3的塊A始終保存在N1上?

我知道密鑰範圍存儲在一個特殊的配置數據庫中,並且一個平衡器進程修改這些數據來分配負載。但是,手動修改這些數據是否安全?

回答

0

強烈推薦而不是自己編輯配置數據。你最終可能會破壞數據庫。

無法將塊固定到碎片。這就是所謂的自動分片的原因:)

理論上,您可以關閉平衡器,將數據移動到您想要的位置並修改塊配置。但在這種情況下,您無法啓用自動平衡功能(或者它會移動您的「固定」塊)。

當前所有未加固的集合都駐留在數據庫的主分片上。所有分片集合均勻分佈(或多或少)分佈在所有分片中。有關於將未粘結的集合移動到其他分片的a ticket,但尚不清楚它將在何時(或如果)它將被實現。