Cassandra 数据一致性

 

基本概念

一致性: 在分布式系统中的全部数据备份,在同一时刻是否一样的值node

QUORUM: 是一个能够计算的数字,对数据一致性起重要做用服务器

Node: 主要用来存储数据分布式

Data Center: 数据中心blog

机柜(机架): 机房中放服务器的架子,一般一个机架上会放置多台服务器内存

Cluster: 一个Cluster包括多个数据中心string

CommitLog: 主要记录下客户端提交过来的数据以及操做。这个数据将被持久化到磁盘中以便数据没有被持久化到磁盘时能够用来恢复,当持久化完成后,CommitLog会被自动清除it

Memtable: 数据在CommitLog中记录完成后会写入Memtable,用户写数据在内存中的表现形式io

SSTable(sorted string table):: 数据持久化到磁盘,排好序存储的,Cassandra会把Memtable中的数据持久化到SSTable中,新的数据老是追加到文件末尾,一个列族一个SSTable文件table

 

写操做一致性

一致性级别指定当多少个副本几点成功写入数据后,通知客户端执行成功。最终一致性请求

一般使用Cassandra,咱们选择QUORUM级别,表示有半数副本收到请求的时候,返回客户端响应,这样保证插入的数据,能够确定被查询到

 

 

 

读操做一致性级别

 

 

QUORUM级别

QUORUM级别确保写到指定QUORUM数量的节点,计算公式:

quorum = (sum_of_replication_factors / 2 ) + 1

假如如今有一个数据中心共3个副本节点,若是想确保读写一致性能够使用下面公式:

(nodes_written + node_read) > replication_factor

相关文章
相关标签/搜索