RavenDb Sharding Hilo存储模式

时间:2015-05-12 07:20:18

标签: ravendb

我的理解是RavenDb的设计使得如果一个碎片发生故障,其他碎片可以毫无问题地运行。

但是最近我实现了ShardingResolutionStrategy并找到了MetadataShardIdFor方法。对于每种文档类型,我们可以指定用于存储的分片。

因此,如果我做对了,如果存储特定文档类型的Hilo的分片已关闭,我们就无法在其他分片中创建此类型的新文档(至少自动生成的ID不起作用)。或者可能是我错了,Hilo以某种神奇的方式在碎片之间复制?

1 个答案:

答案 0 :(得分:1)

Sharding旨在独立,但为了创建一致的ID,我们需要能够从一致的商店创建它们。

因此,我们将分割数据的概念分为多个节点和HA。 典型情况是元数据分片是独立的,并且与在所有分片节点上共享的复制数据库一起运行。以这种方式,如果丢失元数据分片,则只需切换。

这有利于RavenDB分片&复制是正交的