Nosql RavenDB和shard再平衡

Nosql RavenDB和shard再平衡,nosql,ravendb,sharding,Nosql,Ravendb,Sharding,RavenDB如何处理数据的碎片再平衡/重新分配 var shards=新字典{ {“亚洲”,新文档库{Url=”http://localhost:8080“}}, {“中东”,新文档库{Url=”http://localhost:8081“}}, {“美国”,新文档库{Url=”http://localhost:8082“}}, }; 例如,在上面从他们的教程中摘录的内容中,包含亚洲的服务器受到了影响,因为仅中国就有超过10亿人。因此,我需要将这些数据分为Asia1(中国)和Asia2(其余)

RavenDB如何处理数据的碎片再平衡/重新分配

var shards=新字典{
{“亚洲”,新文档库{Url=”http://localhost:8080“}},
{“中东”,新文档库{Url=”http://localhost:8081“}},
{“美国”,新文档库{Url=”http://localhost:8082“}},
};

例如,在上面从他们的教程中摘录的内容中,包含亚洲的服务器受到了影响,因为仅中国就有超过10亿人。因此,我需要将这些数据分为Asia1(中国)和Asia2(其余)。重新平衡现有数据的最佳方式是什么

我是否需要查询原始文档存储中的所有Asia并手动将其移动到新的shard?有没有更快的办法?像这样的努力是否需要一些休息时间?是否需要重建新索引?

Alwyn, 通常情况下,您将添加一个Asia-2服务器,并更改切分功能以在Asia-2服务器中创建一个全新的Asia项目。 您可以通过在ShardResolutionsStrategy中重写GenerateSharedFor来实现这一点。
它不需要停机或任何新的索引。

那么现有数据会发生什么情况呢?它们需要移动到新的碎片上,您是否只是运行更新来相应地转换它们?