10

我无法理解 Cassandra 中的复制因子。在文档中它说:“整个集群的副本总数通常被称为复制因子”。另一方面,在同一文档中,它说“NetworkTopologyStrategy 允许您指定每个数据中心需要多少个副本”。那么,如果我有 2 个具有 NetworkTopologyStrategy 的数据中心,复制因子为 2 意味着我将在每个数据中心有 2 个副本,或者在集群中总共有 2 个副本?

谢谢你。

4

2 回答 2

12

strategy_options:{data-center-name}={rep-factor-value}使用 NetworkTopologyStrategy 时,您可以使用而不是 global指定基于每个数据中心的复制因子strategy_options:replication_factor={rep-factor-value}

这是改编自http://www.datastax.com/docs/1.0/references/cql/CREATE_KEYSPACE的具体示例

CREATE KEYSPACE Excalibur WITH strategy_class = 'NetworkTopologyStrategy'
  AND strategy_options:DC1 = 2 AND strategy_options:DC2 = 2;

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

于 2012-09-22T17:23:28.250 回答
3

复制因子基本上是您想要拥有的副本数(额外副本)。

要记住的一件事是它总是声明“副本数不应超过节点数”。所以我有 2 个节点,你不应该有 3 个作为复制因子。

于 2012-09-23T20:06:49.993 回答