2

RavenDB はデータのシャードのリバランス/再分散をどのように処理しますか?

var shards = new Dictionary {
{"Asia", new DocumentStore {Url = "http://localhost:8080"}},
{"Middle East", new DocumentStore {Url = "http://localhost:8081"}} ,
{"アメリカ", 新しい DocumentStore {Url = "http://localhost:8082"}},
};

たとえば、上記のチュートリアルからの抜粋では、中国だけでも 10 億人を超えるため、アジアを含むサーバーが影響を受けます。そのため、そのデータを Asia1 (中国) と Asia2 (その他) に分割する必要があります。既存のデータを再調整する最善の方法は何ですか?

元のドキュメント ストア内のすべてのアジアに対してクエリを実行し、それらを手動で新しいシャードに移動する必要がありますか? もっと速い方法はありますか?このような取り組みにはダウンタイムが伴いますか? 新しいインデックスを再構築する必要がありますか?

4

1 に答える 1

0

Alwyn さん、通常は、Asia-2 サーバーを追加し、シャーディング機能を変更して、Asia-2 サーバーにすべての新しい Asia アイテムを作成します。これを行うには、ShardResolutionStrategy で GenerateShardIdFor をオーバーライドします。ダウンタイムや新しいインデックスは必要ありません。

于 2012-12-09T12:31:04.570 に答える