我很难理解Cassandra中的复制因子。 在文档中,它说:“群集中的副本总数通常被称为复制因子”。 另一方面,在同一文档中,它说“NetworkTopologyStrategy允许您指定每个数据中心需要多少个副本”。 那么,如果我有两个使用NetworkTopologyStrategy的数据中心,复制因子为2意味着我将在每个数据中心拥有2个副本,或者整个群集中有2个副本?
谢谢。
答案 0 :(得分:11)
使用NetworkTopologyStrategy时,您可以使用strategy_options:{data-center-name}={rep-factor-value}
而不是全局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个。
答案 1 :(得分:3)
复制因子基本上是您希望拥有的副本数量(附加副本)。
要记住的一件事是它始终声明“复制品数量不应超过节点数”。所以我有2个节点你不应该有3个复制因子。