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 ...
随机推荐
- 【二分】Urozero Autumn Training Camp 2016 Day 5: NWERC-2016 Problem C. Careful Ascent
二分Vx即可. #include<cstdio> #include<algorithm> using namespace std; #define EPS 0.00000000 ...
- 【贪心】POJ1328-Radar Installation
[思路] 以每一座岛屿为圆心,雷达范围为半径作圆,记录下与x轴的左右交点.如果与x轴没交点,则直接退出输出“-1”.以左交点为关键字进行排序,从左到右进行贪心.容易知道,离每一个雷达最远的那一座岛与雷 ...
- [NOIp2017提高组]逛公园
题目大意: 给你一个有向图,若用dis(u,v)表示从u到v的最短路长度,求从1到n的长度不超过dis(1,n)+k的路径数. 思路: 首先分别预处理出以1,n为起点的单.源最短路. 对于合法的边重构 ...
- (原创)Stanford Machine Learning (by Andrew NG) --- (week 5) Neural Networks Learning
本栏目内容来自Andrew NG老师的公开课:https://class.coursera.org/ml/class/index 一般而言, 人工神经网络与经典计算方法相比并非优越, 只有当常规方法解 ...
- Netty游戏服务器之五Unity3d登陆消息
今天我们来讲客户端Unity和服务器收发消息的具体过程. 首先,我们要在unity上搭建登陆界面的UI,这里呢,我用的是NGUI插件. 相信做过unity3d前端的都对这个非常的熟悉,最近官方的UGU ...
- java >>> 和 >>>=的区别
java >> 和 >>> 以及 >>>= 的区别 可能大家都知道java中>> 和 >>> 的区别,那这里我也啰嗦一下, ...
- 定制你自己的CRF模型
如何训练自己的CRF模型 Ansj从5.0版本之后支持训练自己的crf模型,在此之前虽然已经很早支持了CRF模型,但是在用户的自训练上要求苛刻,而且本身实现的CRF从性能到准确率都不如CRF++或者第 ...
- [转]SQL Server表分区
本文转自:http://www.cnblogs.com/knowledgesea/p/3696912.html 什么是表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里. 但是如果是分区 ...
- [转]SSIS数据转换组件_派生列、审核、字符映射转换和条件性拆分转换
本文转自:http://www.cnblogs.com/gudujianxiao/archive/2012/04/14/2446925.html 一 派生列 派生列转换通过对输入列进行类型转换或应用表 ...
- Linux环境Nginx安装与调试以及PHP安装
linux版本:64位CentOS 6.4 Nginx版本:nginx1.8.0 php版本:php5.5.28 1.编译安装Nginx 官网:http://wiki.nginx.org/Instal ...