Replication Factor实现数据备份

来源:互联网 发布:原单 知乎 编辑:程序博客网 时间:2024/06/05 14:17

集群配置完成后,插入数据,数据会分散到A、B节点上,也就是说:A节点存储的数据+B节点存储的数据=全部数据。

如果希望两个节点都存储全部数据,也就是说成为备份服务器,可以在创建keyspace的时候设置

[sql] view plaincopy
  1. 'replication_factor''2'  

如下:

[sql] view plaincopy
  1. CREATE KEYSPACE replic_test WITH replication = {  
  2.   'class''SimpleStrategy',  
  3.   'replication_factor''2'  
  4. };  

Replication Factor(RF) :Cluster中每个数据的副本的数量(包含数据本身)。在Cassandra中每个replica的地位都是一样的,读写操作都是对所有的而言的,没有primary or master replica的概念。

通常,RF不会超过Node的数量,但是可以先增加RF然后向Cluster中添加需要数量的Node。当RF的数量大于Node数时,write 操作将会被reject掉,read操作将会在满足consitency level的情况下可以继续。

简而言之,replication factor指的是对于每一行数据将被复制到不同节点作为副本的节点数量。如果replication factor是3,则在ring中的三个节点将会拥有每行数据的副本,而这些副本对clients是透明的。replication factor本质上允许你决定为了获得一致性能够话费的性能。读和写的一致性等级是基于replication factor的。