基本概念

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

QUORUM: 是一个可以计算的数字,对数据一致性起重要作用

Node: 主要用来存储数据

Data Center: 数据中心

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

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

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

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

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

写操作一致性

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

通常使用Cassandra,我们选择QUORUM级别,表示有半数副本收到请求的时候,返回客户端响应,这样保证插入的数据,可以肯定被查询到

读操作一致性级别

QUORUM级别

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

quorum = (sum_of_replication_factors / 2 ) + 1

假如现在有一个数据中心共3个副本节点,如果想确保读写一致性可以使用下面公式:

(nodes_written + node_read) > replication_factor

Cassandra 数据一致性的更多相关文章

  1. Cassandra中的数据一致性

       Cassandra中数据一致性指的是数据行在各个复制节点(replicas)上的更新和同步程度.通过提供tunable consistency,Cassandra扩展了eventual cons ...

  2. 分布式系统中一些主要的副本更新策略——Dynamo/Cassandra/Riak同时采取了主从式更新的同步+异步类型,以及任意节点更新的策略。

    分布式系统中一些主要的副本更新策略. 1.同时更新 类型A:没有任何协议,可能出现多个节点执行顺序交叉导致数据不一致情况. 类型B:通过一致性协议唯一确定不同更新操作的执行顺序,从而保证数据一致性 2 ...

  3. HBase Cassandra Riak HyperTable

    Cassandra                                                              HBase 一致性 Quorum NRW策略 通过Goss ...

  4. Cassandra 备份 - 1 - 节点镜像恢复

    之前比较关注如何使用Cassandra,但是真正想大规模使用前提还是需要搞清楚备份机制,确保数据安全. 本文主要内容来自文档 "Cassandra2.2"的翻译.最后部分为真实操作 ...

  5. Cassandra1.2文档学习(15)—— 配置数据一致性

    参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/dml_config ...

  6. cassandra新增、更新、删除数据。

    package client; import java.io.UnsupportedEncodingException; import java.nio.ByteBuffer; import java ...

  7. [转载] HBase vs Cassandra:我们迁移系统的原因

    转载自http://www.csdn.net/article/2010-11-29/282698 我的团队近来正在忙于一个全新的产品——即将发布的网络游戏www.FightMyMonster.com. ...

  8. cassandra 并发技术介绍

    摘要 本文主要介绍cassandra线程技术,cassandra的实现是基于java的,所以线程技术使用的也是jdk包提供的线程类.cassandra是分布式数据库,整个并发架构是基于阶段事件驱动架构 ...

  9. Cassandra 原理介绍

    Cassandra最初源自Facebook,结合了Google BigTable面向列的特性和[Amazon Dynamo](http://en.wikipedia.org/wiki/Dynamo(s ...

随机推荐

  1. SpringBoot常用注解有哪些?

    @Service: 注解在类上,表示这是一个业务层bean@Controller: 注解在类上,表示这是一个控制层bean@Repository: 注解在类上,表示这是一个数据访问层bean@Comp ...

  2. Python密码登录程序的思考--学与习

    # 初学者的起步,对于开始的流程图结构还不太熟悉 #   思考: 1,write()与writelines()的区别,前者确定为字符串,后者为序列(列表,字典.元组等),自动为你迭代输入#      ...

  3. java 换包

    1.进入目录:cd /opt/cw_isc/ 2.查看:ls 3.查看进程:ps -ef|grep aw-sc-package-all.jar 4.杀死进程kill -9 3982 5.查看进程:ps ...

  4. java 编码设计细节

    1.hibernate注解 @Validated({ APIGetsGroup.class })@NotBlank(message = "{cameraReceive.captureId.e ...

  5. spring boot-9.对springMVC的支持

    1.thymeleaf spring boot 推荐的模板引擎是thymeleaf.spring boot 的自动配置已经默认配置好了themleaf,只要导入themleaf的Starter就可以了 ...

  6. node项目自动化部署--基于Jenkins,Docker,Github(2)配置节点

    上一篇文章中准备工作已经完成的差不多了 这一篇主要讲解 Jenkins 上面的相关配置 为了让代码部署到所有的子节点上 所以我们首先需要在 Jenkins 中添加我们希望代码部署到的节点 配置节点 首 ...

  7. Microsoft BarCode Control 16.0属性

    Labview(2018)可通过Active调用Microsoft BarCode Control 16.0来生成条形码, 参考资料如下: 生成效果: 二维码: 条形码: 执行程序发现修改线条宽度不影 ...

  8. numpy数组转置与轴变换

    numpy数组转置与轴变换 矩阵的转置 >>> import numpy as np >>> arr=np.arange(15).reshape((3,5)) &g ...

  9. [ZJOI2007]时态同步 题解

    题面 这道题是一道比较水的XXOI题: 我们可以发现,反着思考题目就变为了让所有叶子节点同时发出信号,然后这些信号同时到达根节点: 可以证明,这样答案不会改变: 那么我们可以自下而上dfs(),设f[ ...

  10. 洛谷 P3857 彩灯 题解

    题面 对于每一个开关,我们可以看成一个0/1串,初始是一个全部为0的串,要求经过这些开关的操作后,出现的不同的0/1串的个数 建模就是存在一些数,这些数异或起来是0(等价于没有操作).那么需要求一个集 ...