RavenDb Sharding和文档ID

时间:2013-06-23 17:04:05

标签: nosql ravendb sharding

当您在分片环境中使用RavenDB时,文档ID将包含分片ID,例如europe/companies/21。它还记录了on the RavenDB site

  

ModifyDocumentId :允许您存储文档中的分片ID   记录本身。默认实现是:(约定,shardId,   documentId)=> shardId + convention.IdentityPartsSeparator +   documentId

通过这样做,我猜RavenDB正在寻找智能查询技术,并且可以专门针对正确的分片,这很棒。但是,我有几个问题我无法回答:

  • 如果我需要将文档移动到新的碎片怎么样?这会更改使用密钥的密钥和中断网址here

  • 我可能只从一台服务器开始,然后我可能决定实施分片。因此,在这种情况下,密钥将更改(?)或智能查询将不起作用(?)。

关于这些问题的一般建议是什么?这些问题是如何解决的?

1 个答案:

答案 0 :(得分:1)

如果在分片之间移动文档,则需要修改分片功能以便了解它。如果文档可能驻留在多个分片上,RavenDB就可以了,您只需要确保它不会同时存在于多个分片上。

如果你只从一台服务器开始,我建议你在同一台服务器上的不同dbs上进行分片。