• 一条数据的HBase之旅,简明HBase入门教程3:适用场景


    【摘要】 这篇文章继HBase数据模型之后,介绍HBase的适用场景,以及与一些关键场景有关的周边技术生态,最后给出了本文的示例数据

    华为云上的NoSQL数据库服务CloudTable,基于Apache HBase,提供全托管式集群服务,集成了时序数据库OpenTSDB与时空数据库GeoMesa,在TB/PB级别的海量数据背景下,可提供ms级查询以及千万级TPS,点我了解详情

    适用场景

    在介绍完了HBase的数据模型以后,我们可以回答本文一开始的前两个问题:

    1. 什么样的数据适合用HBase来存储?

    2. 既然HBase也是一个数据库,能否用它将现有系统中昂贵的Oracle替换掉?

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

    • 以实体为中心的数据

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

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

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

      • 图数据(关系类数据)

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

    • 以事件为中心的数据

      • 监控数据

      • 时序数据

      • 实时位置类数据

      • 消息/日志类数据

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

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

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

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

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

    作者:Jaison

  • 相关阅读:
    Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) C 倒序并查集
    hdu 5573 Binary Tree 构造
    hdu 5514 Frogs 容斥思想+gcd 银牌题
    hdu 5536 Chip Factory 字典树+bitset 铜牌题
    LA 7263 Today Is a Rainy Day bfs+暴力 银牌题
    hdu 5834 Magic boy Bi Luo with his excited tree 树形dp+转移
    hdu 5869 Different GCD Subarray Query BIT+GCD 2016ICPC 大连网络赛
    LA 7043 International Collegiate Routing Contest 路由表 字典树离散化+bitset 银牌题
    校验注解工具类
    java-创建对象实例
  • 原文地址:https://www.cnblogs.com/huaweicloud/p/11861426.html
Copyright © 2020-2023  润新知