cassandra 系统分析 架构
cassandra
cassandra是无中心节点的列式数据库
集群管理:
使用gossip算法,最终每个节点都知道集群中的所有节点信息,新增一个节点,新节点发送上线消息,
其他节点之后后,向邻居节点传播这个消息,邻居又向他的邻居传递,最终大家都知道了
数据路由:
使用一致性hash算法,每一条数据和节点都有一个hash值,都处于一个hash环上
写数据:
客户端连接到任意一个节点,这个节点就是这次写请求的协调者,协调者计算数据的hash,看这个hash值属于哪个节点管辖,把这个数据转发给这个节点(这个是数据的第一副本),协调者还会根据副本策略把数据同步到多个其他节点(这个是第二、第三 ...第N 副本了)
读数据:
客户端连接到任意一个节点,这个节点就是这次读请求的协调者,协调者计算数据的hash,看这个hash值属于哪个节点管辖,向这个主机发送读数据请求,不同的备份策略下,协调者也可能会向备份节点发送读数据请求,获取结果返回给客户端
数据存储模型:
使用列式存储,和hbase类似
写入、删除、修改数据时,是在文件后追加数据操作,并不真正(或者在内存中写入了)写入、删除、修改数据,是顺序IO ,效率很高
系统可用性:
数据会被备份,除非副本机器全部宕机,不然总能找到数据
任意节点知道系统所有节点,能完成任意的数据路由,所以有节点宕机,对系统可用性没影响(除非大规模宕机,导致存活的节点压力剧增)
数据一致性:
多副本之间一致性,使用NRW模型
W:写成功的节点数
R:读成功的节点数
N: 副本数量
满足W + R > N 这个要求,就能保证数据强一致性
系统性能:
写、修改性能较好
因为写数据都是顺序IO,性能较高
读性能正常
因为要读多个副本,导致性能稍低
以上这些性能描述都不是定量的结论,只是和其他NOSQL相比较的相对性能
cassandra 系统分析 架构的更多相关文章
- Cassandra的架构
第5章 Cassandra 的架构 5.1 system keyspace Cassandra有一个称为system的内部keyspace,用于存储关于集群的元数据.包括:节点令牌,集群名,用于支持动 ...
- Cassandra内部架构
Cassandra是一个开源的.分布式.无中心节点.弹性可扩展.高可用.容错.一致性协调.面向列的NoSQL数据库 Cassandra集群(Cluster) Cluster Data center(s ...
- Cassandra联手Spark 大数据分析将迎来哪些改变?
2014Spark峰会在美国旧金山举行,与会数据库平台供应商DataStax宣布,与Spark供应商Databricks合作,在它的旗舰产 品 DataStax Enterprise 4.5 (DSE ...
- 通过cassandra-cli客户端了解cassandra的内部数据结构
和cassandra数据库交互的方式有两种,一种是通过类似于cassandra-cli命令的thrift api,或者通过cassandra提供的cql(cassandra query lanugag ...
- Cassandra 学习二
Cassandra的架构 Cassandra的设计目的是处理跨多个节点的大数据工作负载,而没有任何单点故障.Cassandra在其节点之间具有对等分布式系统,并且数据分布在集群中的所有节点之间. 1 ...
- Cassandra数据库Java訪问
针对的时Cassandra 2.0 数据库 Java本地client訪问Cassandra,首先建立Javaproject,使用Maven进行管理. 引入依赖: <dependency> ...
- Cassandra 在 360 的实践与改进
分享嘉宾:王锋 奇虎360 技术总监 文章整理:王彦 内容来源:Cassandra Meetup 出品平台:DataFunTalk 注:欢迎转载,转载请留言. 导读:2010年,Dropbox 在线云 ...
- 什么是Cassandra数据库
在本文中,我们将介绍Cassandra名字的含义.Cassandra的发展简史.Cassandra这项技术的特点及优势,以及对于这项技术的未来展望. 本文将用浅显易懂的方式,帮助您将对Cassandr ...
- 活动精彩实录 | 王峰:Cassandra在360的多场景应用及未来趋势
点击此处观看完整活动视频 大家好,我是360的王峰,我今天主要通过Cassandra在多场景下的应用来介绍一下Cassandra在360落地的情况. 我会从以下这几个方面进行介绍.首先介绍下Cassa ...
随机推荐
- Eclipse中jsp、js文件编辑时,卡死现象解决汇总(转)
使用Eclipse编辑jsp.js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲.将所有用过的方法罗列如下: 1.取消验证 win ...
- java web 最方便的配置filter方法,filter到底怎么配置?
小白学习的艰辛历程! 我只说最新版本的eclipse自从servelt3.0以后 servelt 和filter 都不用到web.xml中配置,个人对servelt和filter理解不太深入,但是自从 ...
- RabbitMQ系列文章
详解 RabbitMQ 管理界面解析框架 (一) RabbitMQ系列(二)深入了解RabbitMQ工作原理及简单使用 RabbitMQ windows安装步骤 RabbitMQ管理页面各种属性详解 ...
- python 嵌套爬取网页信息
当需要的信息要经过两个链接才能打开的时候,就需要用到嵌套爬取. 比如要爬取起点中文网排行榜的小说简介,找到榜单网址:https://www.qidian.com/all?orderId=&st ...
- 基于Ambari的WebUI部署Hive服务
基于Ambari的WebUI部署Hive服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.部署Ambari服务 博主推荐阅读: https://www.cnblogs.com ...
- jQuery文档加载事件
$(document).ready(handler) $().ready(handler) (this is not recommended) $(handler) 相当于: $(document). ...
- HDU 5430:Reflect 欧拉函数
Reflect Accepts: 72 Submissions: 302 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/ ...
- 【LeetCode】N皇后I
[问题]n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给定一个整数 n,返回所有不同的 n 皇后问题的解决方案.每一种解法包含一个明确的 n 皇后问 ...
- Mobile-H5网页快速滚动和回弹
现在很多for Mobile的HTML5网页内都有快速滚动和回弹的效果,看上去和原生app的效率都有得一拼. 要实现这个效果很简单,只需要加一行css代码即可: -webkit-overflow-sc ...
- c#textBox控件限制只允许输入数字及小数点,是否为空
c#textBox控件限制只允许输入数字及小数点 转载 //判断按键是不是要输入的类型. if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) ...