查看其它 1 个回答空kong的回答

空kong空kong其它某单位

HBase 的数据模型比较简单,数据按照 RowKey 排序存放,适合 HBase 存储的数据,可以简单总结如下:

以实体为中心的数据

实体可以包括但不限于如下几种:

自然人/账户/手机号/车辆相关数据

用户画像数据(含标签类数据)

图数据(关系类数据)

描述这些实体的,可以有基础属性信息、实体关系 ( 图数据 ) 、所发生的事件 ( 如交易记录、车辆轨迹点 ) 等等。

以事件为中心的数据

监控数据

时序数据

实时位置类数据

消息 / 日志类数据

上面所描述的这些数据,有的是结构化数据,有的是半结构化或非结构化数据。 HBase 的 “ 稀疏矩阵 ” 设计,使其应对非结构化数据存储时能够得心应手,但在我们的实际用户场景中,结构化数据存储依然占据了比较重的比例。由于 HBase 仅提供了基于 RowKey 的单维度索引能力,在应对一些具体的场景时,依然还需要基于 HBase 之上构建一些专业的能力,如:

OpenTSDB 时序数据存储,提供基于 Metrics+ 时间 + 标签的一些组合维度查询与聚合能力

GeoMesa 时空数据存储,提供基于时间 + 空间范围的索引能力

JanusGraph 图数据存储,提供基于属性、关系的图索引能力

HBase 擅长于存储结构简单的海量数据但索引能力有限,而 Oracle 等传统关系型数据库 (RDBMS) 能够提供丰富的查询能力,但却疲于应对 TB 级别的海量数据存储, HBase 对传统的 RDBMS 并不是取代关系,而是一种补充。

保险 · 2019-12-26
浏览2955

回答者

空kong
其它某单位
擅长领域: 大数据数据库大数据平台

空kong 最近回答过的问题

回答状态

  • 发布时间:2019-12-26
  • 关注会员:3 人
  • 回答浏览:2955
  • X社区推广