我无法理解 Cassandra 中的复制因子。在文档中它说:“整个集群的副本总数通常被称为复制因子”。另一方面,在同一文档中,它说“NetworkTopologyStrategy 允许您指定每个数据中心需要多少个副本”。那么,如果我有 2 个具有 NetworkTopologyStrategy 的数据中心,复制因子为 2 意味着我将在每个数据中心有 2 个副本,或者在集群中总共有 2 个副本?
谢谢你。
我无法理解 Cassandra 中的复制因子。在文档中它说:“整个集群的副本总数通常被称为复制因子”。另一方面,在同一文档中,它说“NetworkTopologyStrategy 允许您指定每个数据中心需要多少个副本”。那么,如果我有 2 个具有 NetworkTopologyStrategy 的数据中心,复制因子为 2 意味着我将在每个数据中心有 2 个副本,或者在集群中总共有 2 个副本?
谢谢你。
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 个。
复制因子基本上是您想要拥有的副本数(额外副本)。
要记住的一件事是它总是声明“副本数不应超过节点数”。所以我有 2 个节点,你不应该有 3 个作为复制因子。