我在理解Cassandra中的复制因子时遇到了麻烦。
在文档中它表示:“整个群集中的副本总数通常称为复制因子”。
另一方面,在同一文档中,它表示“NetworkTopologyStrategy允许您指定每个数据中心中需要多少个副本”。
因此,如果我有2个带有NetworkTopologyStrategy的数据中心,那么复制因子2意味着每个数据中心将有2个副本,或者群集中总共有2个副本?
谢谢你。
最佳答案
使用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个节点。
关于具有多个数据中心时的Cassandra复制因子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12544844/