您好,登录后才能下订单哦!
这篇文章给大家分享的是有关elasticsearch和hbase怎么选择的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
这两个不应该拿来做对比。看一下各自的介绍:
Elasticsearch is a search server based on Lucene. (wiki:Elasticsearch)
HBase is an open source, non-relational, distributed database modeled after Google'sBigTable and written in Java.(wiki:Apache HBase)
一个是搜索引擎,一个是数据库。
在分布式环境中,两者得到广泛使用,但发挥的作用是不一样的。具体要怎么使用怎么配合,要看实际业务了。但 es 并不局限于搜索引擎,做数据库也是个不错的选择,可以跟 spark 很好的结合用来做数据分析。
从基本功能来说这两个确实有相似性,但是根据业务需求不同,我觉得有几点可以考虑:
1. 查询复杂度:HBase支持简单的行或者range查询,比如给一个PK查该行的数据,或者给一个begin/end查这个范围的数据,如果想完成更复杂的功能就不太容易。而ES支持的查询比较丰富,或者说这些查询都带有一点复杂计算的味道了。比如你有个论坛,你想查帖子里面是否包含敏感词,如果采用HBase就比较麻烦,使用HBase你可以将帖子存进来、读出去,但是要查内容里面的东西,只能一点点过滤;而ES是可以比较方便的帮助你完成这个功能的;
2. 数据量:按道理说两者都是支持海量数据的,但是据我个人感觉,HBase可能更容易支持更多的数据,因为其一开始设计就是解决海量问题的;而ES是后来慢慢增强其存储扩展性的;那么也就是说,HBase上手起来扩展性不太会阻碍你使用;ES可能要多费点劲。
3. 剩下的就是比较远的考虑,比如维护性,HBase基于Hadoop那一套,组件多,维护起来代价也不低,而ES自成体系,维护起来稍微好点;当然这个是相对的,绝对来说都不会容易。比如新功能开发,比如成本控制等等。。。
我个人觉得,es注重的还是检索,hbase擅长的是读写操作,所以还需要看见你的应用场景
hbase存多读少,不适合高并发查询,适合存数据;
es是全文检索,适合日志分析日志统计之类。
如果主要做实时、动态的计数,则推荐ES。
如果主要跑些月报表什么的,则推荐Hbase。
感谢各位的阅读!关于“elasticsearch和hbase怎么选择”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。