海量日志数据存储用 elasticsearch 和 hbase 哪个好? - 知乎 - 阿尔法汪

单纯从技术的角度来说其实没有好坏之分,技术选型需要结合实际的业务场景来定。从问题描述上看大致可以从几个方面来考虑:

1)数据量

每天5G数据量,按存储1年的数据来考虑,大概是1.8T,es和hbase都能支持,并且两者都可以通过扩展集群来加大可存储的数据量。随着数据量的增加,es的读写性能会有所下降,从存储原始数据的角度来看,hbase要优于es

2)数据更新

es数据更新是对文档进行更新,需要先将es中的数据取出,设置更新字段后再写入es。hbase是列存储的,可以方便地更新任意字段的值。

3)查询复杂度

hbase支持简单的行、列或范围查询,若没有对查询字段做二级索引的话会引发扫全表操作,性能较差。而ES提供了丰富的查询语法,支持对多种类型的精确匹配、模糊匹配、范围查询、聚合等操作,ES对字段做了反向索引,即使在亿级数据量下还可以达到秒级的查询响应速度。

4)字段扩展性

hbase和es都对非结构化数据存储提供了良好的支持。es可以通过动态字段方便地对字段进行扩展,而hbase本身就是基于列存储的,可以很方便地添加qualifier来实现字段的扩展


Original url: Access
Created at: 2018-11-28 16:08:05
Category: default
Tags: none

请先后发表评论
  • 最新评论
  • 总共0条评论