海量日志数据存储用 elasticsearch 和 hbase 哪个好

如题所述

第1个回答  2016-06-20
从基本功能来说这两个确实有相似性,但是根据业务需求不同,我觉得有几点可以考虑:
1. 查询复杂度:HBase支持简单的行或者range查询,比如给一个PK查该行的数据,或者给一个begin/end查这个范围的数据,如果想完成更复杂的功能就不太容易。而ES支持的查询比较丰富,或者说这些查询都带有一点复杂计算的味道了。比如你有个论坛,你想查帖子里面是否包含敏感词,如果采用HBase就比较麻烦,使用HBase你可以将帖子存进来、读出去,但是要查内容里面的东西,只能一点点过滤;而ES是可以比较方便的帮助你完成这个功能的;
2. 数据量:按道理说两者都是支持海量数据的,但是据我个人感觉,HBase可能更容易支持更多的数据,因为其一开始设计就是解决海量问题的;而ES是后来慢慢增强其存储扩展性的;那么也就是说,HBase上手起来扩展性不太会阻碍你使用;ES可能要多费点劲。当然,听说也有人写了ES基于Azure或者S3的存储插件,但是稳定性不知道如何;
3. 剩下的就是比较远的考虑,比如维护性,HBase基于Hadoop那一套,组件多,维护起来代价也不低,而ES自成体系,维护起来稍微好点;当然这个是相对的,绝对来说都不会容易。比如新功能开发,比如成本控制等等。。。本回答被提问者采纳
相似回答