具有多个数据中心时的Cassandra复制系数

具有多个数据中心时的Cassandra复制系数,cassandra,Cassandra,我很难理解卡桑德拉的复制因子。 文档中说:“集群中副本的总数通常被称为复制系数”。 另一方面,在同一文档中,它说“NetworkTopologyStrategy允许您指定每个数据中心中需要多少副本”。 因此,如果我有两个具有NetworkTopologyStrategy的数据中心,复制系数为2意味着每个数据中心将有2个副本,或者集群中总共有2个副本 谢谢。在使用NetworkTopologyStrategy时,您可以使用策略选项:{data center name}={rep factor va

我很难理解卡桑德拉的复制因子。 文档中说:“集群中副本的总数通常被称为复制系数”。 另一方面,在同一文档中,它说“NetworkTopologyStrategy允许您指定每个数据中心中需要多少副本”。 因此,如果我有两个具有NetworkTopologyStrategy的数据中心,复制系数为2意味着每个数据中心将有2个副本,或者集群中总共有2个副本


谢谢。

在使用NetworkTopologyStrategy时,您可以使用
策略选项:{data center name}={rep factor value}
而不是全局
策略选项:replication\u factor={rep factor value}
指定每个数据中心的复制系数

下面是一个具体的例子,改编自


在该示例中,任何给定列将总共存储在4个节点上,每个数据中心中有2个节点。

复制因子基本上是您希望拥有的副本(附加副本)数量


需要记住的一点是,它始终声明“副本的数量不应超过节点的数量”。因此,我认为您有2个节点,但不应该有3个作为复制因子。

您的回答不明确。您已经声明复制因子是附加副本的数量,但这意味着如果您有2个节点,复制因子不应大于1。这是正确的吗?@Andrew正是我所想的,它模棱两可。复制因子是额外拷贝数的说法是错误的。实际上,它是集群中存在的表的每一行的总拷贝数。
CREATE KEYSPACE Excalibur WITH strategy_class = 'NetworkTopologyStrategy'
  AND strategy_options:DC1 = 2 AND strategy_options:DC2 = 2;