Cassandra VS HBase
|
HBase(dfs三副本,syncwal) |
Cassandra(N=3,W=2,R=2, batch commitlog) |
|
|
CAP |
CP |
CA |
|
数据存储模型 |
LSM |
LSM |
|
数据写入网络开销 |
Rpc 没有压缩,1份原始数据,占用大约3倍流量 |
Rpc 有压缩,1份原始数据,占用大概([三份数据写入流量,一份coordinator流量]4*0.2)倍网络流量(1:5压缩比,三份) |
| 内存使用效率 |
|
|
|
sql支持 |
None,有第三方phoenix实现,操作不透明,业务场景简单的场景下推荐使用原生客户端 |
CQL,primarykey机制稍复杂,支持二级索引,但是性能不高,官方不推荐使用 |
|
数据模型 |
稀疏表 |
cql,有限兼容sql |
|
Compaction开销 |
1. 计算量1倍,网络3倍压缩数据量 2. flush文件偏小,一般需要多做一层compaction,最大会有几G级别的hfile文件 |
|
|
水平扩展开销 |
1. 一次性加入机器,水平扩展完成,需要一定的时间通过compaciton做数据本地化,写性能可以做到瞬间扩展 |
1. 一台一台加入,数据需要通过Streaming模块从原节点流向新节点,加入比较缓慢 |
|
可用性【短时间单机宕机场景】 |
1. 需要几分钟级别的故障恢复时间,故障恢复期间,宕机服务器上原来提供服务的region暂时不可用 |
1. 单机宕机,不影响读写,写操作会通过hinted handoff写入其他节点,恢复后再写回;读操作从其他节点获取 |
|
数据一致性 |
1. 保证一致 |
|
|
跨机房复制 |
1. 类似binlog的异步复制 |
1. 设置多DC,可以通过写入策略调整是多机房同步写入还是类异步写入 |
|
写入性能(同步wal模式) |
1. 忽略内存操作,写三个dn节点的pipeline,并行写入 |
(r=2, w=2, n=3) 1. 忽略内存操作,并行写2节点成功即可 |
|
读性能(冷数据) |
1. 一个节点磁盘io操作 2. 磁盘io数目一般10个以内 |
(r=2, w=2, n=3)
|
|
运维成本 |
|
|
| TTL |
|
|
| 多版本 |
|
|
| 前缀扫描 |
|
|
Cassandra VS HBase的更多相关文章
- 能够满足这样要求的哈希算法有很多,其中比较著名并且应用广泛的一个哈希算法,那就是MurmurHash 算法。尽管这个哈希算法在 2008 年才被发明出来,但现在它已经广泛应用到 Redis、MemCache、Cassandra、HBase、Lucene 等众多著名的软件中。
能够满足这样要求的哈希算法有很多,其中比较著名并且应用广泛的一个哈希算法,那就是MurmurHash 算法.尽管这个哈希算法在 2008 年才被发明出来,但现在它已经广泛应用到 Redis.MemCa ...
- NoSQL四种——kv存储(memcache,Riak),列存储(Cassandra,Hbase),文档类(mongoDB,CouchDB),图数据库(neo4j)
见:https://software.intel.com/sites/default/files/Configuration_and_Deployment_Guide_for_Cassandra_on ...
- [转载] HBase vs Cassandra:我们迁移系统的原因
转载自http://www.csdn.net/article/2010-11-29/282698 我的团队近来正在忙于一个全新的产品——即将发布的网络游戏www.FightMyMonster.com. ...
- NoSQL: Cassandra, HBase, RocksDB
转自: http://www.linkedin.com/pulse/nosql-cassandra-hbase-rocksdb-siddharth-anand I've had the pleasur ...
- [转载] Cassandra入门 框架模型 总结
转载自http://asyty.iteye.com/blog/1202072 一.Cassandra框架二.Cassandra数据模型 Colum / Colum Family, SuperColum ...
- Hbase和Oracle的对比
转自:http://www.cnblogs.com/chay1227/archive/2013/03/17/2964020.html 转自:http://blog.csdn.net/allen879/ ...
- spark + cassandra +postgres +codis 大数据方案
1.环境: 1.1.cassandra 集群: 用于日志数据存储 1.2.spark集群: 用户后期的实时计算及批处理 1.3.codis 集群: 用于缓存一些基本数据如IP归属地,IP经纬度等,当日 ...
- hbase学习(一)hbase简介
1.hadoop生态系统 2.hbase简介 非关系型数据库知识面扩展 cassandra.hbase.mongodb.redis couchdb,文件存储数据库 Neo4j非关系型图数据库 3.hb ...
- cassandra框架模型之二——存储机制 CommitLog MemTable SSTable
四.副本存储 Cassandra不像HBase是基于HDFS的分布式存储,它的数据是存在每个节点的本地文件系统中. Cassandra有三种副本配置策略: 1) SimpleStrategy (Rac ...
随机推荐
- [BZOJ 1058] 报表统计
Link: BZOJ 1058 传送门 Solution: 为了这道题今天下午一直都在和常数大战…… 1.对于询问1,我们记录每个数末位置的数$T[i]$和初始位置$S[i]$ 用平衡树维护所有差值, ...
- CodeForces - 875D High Cry
题面在这里! 直接考虑每个位置成为最右边的最大值的位置,统计不合法区间,补集转化一下就好啦. 复杂度O(N * 30) #include<bits/stdc++.h> #define ll ...
- 【Floyd】噪音恐惧症
[UVA10048]噪音恐惧症 题面略 试题分析:直接Floyd一下维护u到v的路径最大值最小就可以了,1A 代码: #include<iostream> #include<cstr ...
- 【计算几何】【圆反演】计蒜客17314 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 G. Finding the Radius for an Inserted Circle
题意:给你三个半径相同的圆,它们切在一起,然后让你往缝里一个一个地塞圆,问你塞到第k个的半径是多少. 就把上面那两个圆的切点当成反演中心,然后会反演成这个样子,两个平行直线和一个圆. 然后就是往那个圆 ...
- trim()函数 mysql中的强大字符串过滤函数
mysql中功能强大的trim()函数. 去除两边空格: mysql> select trim(' hello world '); +-----------------------+ | tri ...
- Jenkins用HTTP Request Plugin插件进行网站的监控/加探针(运维监控)
使用的插件: [HTTP Request Plugin] 思路: 说明:只能是网站是否正常打开,而不能是这个网站业务是否正常,如果是后者,则需要写特定的接口进行请求处理. 1.通过插件,发送GET请求 ...
- 移动端调试神器(eruda)
在日常的移动端开发时,一般都是试用chrome浏览器的移动端模式进行开发和调试,只有在chrome调试完成,没有问题了才会上到真机测试,移动端开发的一大问题就在于此, 各种品牌各种型号手机,手机中各种 ...
- mysql-operator 尝试与研究
安装指南 先下载到本地 git clone https://github.com/kubernetes/charts.git 安装helm 参考: http://www.cnblogs.com/eri ...
- Intents and Intent Filters
An Intent is a messaging object you can use to request an action from another app component. Althoug ...
- ylbtech-LanguageSamples-UserConversions(用户定义的转换)
ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-UserConversions(用户定义的转换) 1.A,示例(Sample) 返回顶部 ...