cassandra

cassandra是无中心节点的列式数据库

集群管理:
     使用gossip算法,最终每个节点都知道集群中的所有节点信息,新增一个节点,新节点发送上线消息,
     其他节点之后后,向邻居节点传播这个消息,邻居又向他的邻居传递,最终大家都知道了

数据路由:
     使用一致性hash算法,每一条数据和节点都有一个hash值,都处于一个hash环上
     写数据:
          客户端连接到任意一个节点,这个节点就是这次写请求的协调者,协调者计算数据的hash,看这个hash值属于哪个节点管辖,把这个数据转发给这个节点(这个是数据的第一副本),协调者还会根据副本策略把数据同步到多个其他节点(这个是第二、第三 ...第N 副本了)
     读数据:
          客户端连接到任意一个节点,这个节点就是这次读请求的协调者,协调者计算数据的hash,看这个hash值属于哪个节点管辖,向这个主机发送读数据请求,不同的备份策略下,协调者也可能会向备份节点发送读数据请求,获取结果返回给客户端

数据存储模型:
       使用列式存储,和hbase类似
       写入、删除、修改数据时,是在文件后追加数据操作,并不真正(或者在内存中写入了)写入、删除、修改数据,是顺序IO ,效率很高

系统可用性:
       数据会被备份,除非副本机器全部宕机,不然总能找到数据
       任意节点知道系统所有节点,能完成任意的数据路由,所以有节点宕机,对系统可用性没影响(除非大规模宕机,导致存活的节点压力剧增)

数据一致性:
       多副本之间一致性,使用NRW模型
       W:写成功的节点数
       R:读成功的节点数
       N: 副本数量
       满足W + R > N 这个要求,就能保证数据强一致性

系统性能:
       写、修改性能较好
             因为写数据都是顺序IO,性能较高
       读性能正常
             因为要读多个副本,导致性能稍低
       以上这些性能描述都不是定量的结论,只是和其他NOSQL相比较的相对性能

cassandra 系统分析 架构的更多相关文章

  1. Cassandra的架构

    第5章 Cassandra 的架构 5.1 system keyspace Cassandra有一个称为system的内部keyspace,用于存储关于集群的元数据.包括:节点令牌,集群名,用于支持动 ...

  2. Cassandra内部架构

    Cassandra是一个开源的.分布式.无中心节点.弹性可扩展.高可用.容错.一致性协调.面向列的NoSQL数据库 Cassandra集群(Cluster) Cluster Data center(s ...

  3. Cassandra联手Spark 大数据分析将迎来哪些改变?

    2014Spark峰会在美国旧金山举行,与会数据库平台供应商DataStax宣布,与Spark供应商Databricks合作,在它的旗舰产 品 DataStax Enterprise 4.5 (DSE ...

  4. 通过cassandra-cli客户端了解cassandra的内部数据结构

    和cassandra数据库交互的方式有两种,一种是通过类似于cassandra-cli命令的thrift api,或者通过cassandra提供的cql(cassandra query lanugag ...

  5. Cassandra 学习二

    Cassandra的架构 Cassandra的设计目的是处理跨多个节点的大数据工作负载,而没有任何单点故障.Cassandra在其节点之间具有对等分布式系统,并且数据分布在集群中的所有节点之间. 1 ...

  6. Cassandra数据库Java訪问

    针对的时Cassandra 2.0 数据库 Java本地client訪问Cassandra,首先建立Javaproject,使用Maven进行管理. 引入依赖: <dependency> ...

  7. Cassandra 在 360 的实践与改进

    分享嘉宾:王锋 奇虎360 技术总监 文章整理:王彦 内容来源:Cassandra Meetup 出品平台:DataFunTalk 注:欢迎转载,转载请留言. 导读:2010年,Dropbox 在线云 ...

  8. 什么是Cassandra数据库

    在本文中,我们将介绍Cassandra名字的含义.Cassandra的发展简史.Cassandra这项技术的特点及优势,以及对于这项技术的未来展望. 本文将用浅显易懂的方式,帮助您将对Cassandr ...

  9. 活动精彩实录 | 王峰:Cassandra在360的多场景应用及未来趋势

    点击此处观看完整活动视频 大家好,我是360的王峰,我今天主要通过Cassandra在多场景下的应用来介绍一下Cassandra在360落地的情况. 我会从以下这几个方面进行介绍.首先介绍下Cassa ...

随机推荐

  1. Eclipse中jsp、js文件编辑时,卡死现象解决汇总(转)

    使用Eclipse编辑jsp.js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲.将所有用过的方法罗列如下:   1.取消验证 win ...

  2. jquery实现搜索框从中间向两边扩展(左右放大)

    显示效果: 隐藏效果: 前端核心代码如下: <div class="search-icon col-md-2 col-sm-2 col-xs-4 col-md-offset-5 col ...

  3. SpringBoot基于easyexcel导出和写入Excel

      easyexcel是阿里巴巴旗下开源项目,主要用于Excel文件的导入和导出处理,今天我们利用SpringBoot和easyexcel实战演示如何导出和写入Excel文件. 一.加入我们需要的ea ...

  4. swtich多个case使用同一操作

    switch (expression) { case 'status01': case 'status02': case 'status03': alert('resultOne'); break; ...

  5. [CISCN 2019 初赛]Love Math

    0x00 知识点 PHP函数: scandir() 函数:返回指定目录中的文件和目录的数组. base_convert() 函数:在任意进制之间转换数字. dechex() 函数:把十进制转换为十六进 ...

  6. Python自学之路---Day13

    目录 Python自学之路---Day13 常用的三个方法 匹配单个字符 边界匹配 数量匹配 逻辑与分组 编译正则表达式 其他方法 Python自学之路---Day13 常用的三个方法 1.re.ma ...

  7. phpmyadmin拿网站shell

    开门见山 1. 找到一个赌博网站,发现存在php探针界面,在下面输入密码尝试用弱口令进行连接,尝试是否成功 失败的结果是这样. 2. 成功! 3. 连接成功的,点击phpMyAdmin管理,进行弱口令 ...

  8. 高级变量类型(列表,元组,字典,字符串,公共方法,变量高级)for循环

    Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) 真 True 非 0 数 -- 非零即真 假 False 0 复数型 (co ...

  9. CodeForces 1000A Codehorses T-shirts(STL map、思维)

    https://codeforces.com/problemset/problem/1000/A 题意: 有n个人,给出每个人的衣服的尺码,现在,将这n件衣服的尺码换成另外的n种尺码,如果有尺码一样的 ...

  10. POJ 1200 Crazy Search 字符串的Hash查找

    第一次涉及HASH查找的知识 对于字符串的查找有很多前人开发出来的HASH函数,比较常用的好像是ELF 和 BKDR. 这道题没想到突破点是在于其nc值,告诉你组成字符串的字母种类. 还有用26进制, ...