代码之家  ›  专栏  ›  技术社区  ›  Anakin001

拥有多个数据中心时的Cassandra复制因素

  •  10
  • Anakin001  · 技术社区  · 13 年前

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

    非常感谢。

    2 回复  |  直到 13 年前
        1
  •  12
  •   phatfingers    13 年前

    使用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个节点。

        2
  •  3
  •   cu111    13 年前

    复制因素基本上是您想要拥有的复制副本(附加副本)的数量。

    需要记住的一点是,它总是说“副本的数量不应超过节点的数量”。所以,如果你有2个节点,你不应该有3个作为复制因子。