如何使用RF1在多DC中实现复制

时间:2019-04-04 15:01:41

标签: cassandra

我正在考虑一个2 DC配置,每个DC中包含3个节点,RF = 1和NetworkTopology策略:

CREATE KEYSPACE IF NOT EXISTS my_ks WITH REPLICATION = 
    {'class' : 'NetworkTopologyStrategy', 'DC1' : 1, 'DC2' : 1 };

但是,由于我不确定Cassandra的行为方式,因此我担心数据的安全性。 考虑到“每个键空间定义了复制策略”,这是否意味着我将始终在DC1的一个节点中拥有一个数据副本,而在DC2的另一个节点中拥有一个数据副本?

2 个答案:

答案 0 :(得分:1)

  

如何通过RF1在多DC中实现复制

Cassandra是一个分布式数据库,因此,一个DC的RF1意味着数据的单个副本将存储在DC中,即每个节点将具有一部分完整数据。如果一个节点发生故障,您将丢失那部分数据。如果每个DC上都有两个DC,而每个DC上都有RF1,则在第二个DC内的所有节点上又分发了一份数据副本。

答案 1 :(得分:1)

是的,每行的DC1上有一个数据副本,DC2上有另一个副本。如果一个DC发生故障,它将确保您的数据始终可用,具体取决于一致性级别。

相关问题