从关系数据库的视角观察ElasticSearch和Hbase的读写,
若ElasticSearch是AK47,那Hbase就是马克沁。
运行环境:同一台笔记本电脑,虚拟的3节点的Centos(Linux)环境
数据:一百万条数据的高表测试。(电脑弱,就做个试验)
结论:
全件写入:Hbase快
全件遍历:ES快
单行读出:都在0.5秒内
详细:
一、Hbase
1.用Python操作Hbase
2.Python写入100万行耗时,37分
3.Python读出100万行耗时,22秒。 单行读出,0.2秒。
二、ElasticSearch
1.用Java操作ElasticSearch ,100万行写入耗时,76 分
2.用Java操作ElasticSearch ,100万行件数统计耗时,0.5秒
3.用Java操作ElasticSearch ,单行读出耗时,0.5秒
总结
ElasticSearch读出数据时的性能优越,可用于旧项目改造时,一部分业务数据庞大时,该模块用ElasticSearch的分布式重写。别的业务还用即存的关系数据库,不需要修改整个系统的布局。并且ElasticSearch可在Windows中安装。Hbase基于Hadoop是无所不能的。
若即存的业务系统没有庞大的用户,高并发的需求,不产生海量数据,有需要一定重做分布式业务系统吗。
个人观点,抛砖引玉,希望您能更上层楼。