基于HBase的工业大数据存储实战物品总线分为四类

基于HBase的工业大数据存储实战物品总线分为四类

随着工业4.0时代的到来,工业互联网和企业的智能化、信息化都将不断推进,传统的工业实时数据库和关系数据库已经难以完全胜任工业大数据的存储,以HBase为代表的NoSQL数据库正在蓬勃发展,其完全分布式特征、高性能、多副本和灵活的动态扩展等特点,使得HBase在工业大数据的存储上拥有强大的优势,打破了流程工业生产中的数据壁垒效应,促进了工业生产水平和生产管理水平的提高。本期格物汇,就来给大家介绍HBase数据库及格创东智相关实战案例。

了解HBase

HBase是一个高可靠性、高性能、面向列、可伸缩的大型分布式持久性存储系统。它利用Hadoop HDFS作为其文件存储系统,并且通过MapReduce进行海量数据处理。与Google Bigtable不同,HBase使用Zookeeper作为协同服务,而不是Chubby。

与传统数据库相比,HBASE具备多重优势:1)线性扩展,可以通过增加节点来支持更多数据;2)数据存储在hdfs上,有很好的备份机制;3)通过zookeeper协调访问速度快。

HBase实战案例

为了更好地介绍HBase在人工智能场景下的使用,我们以某半导体显示企业为案例,分析格创东智大数据团队如何利用HBase设计出一个快速查找面板特征系统。

面板特征查询需求

这个公司有大量面板相关特征,每张面板对应3.2k字节大小,这些面板被分成很多组,每个组包含一系列面的每个面的ID属于某个组。目前业务需求主要包括两个方面:

根据组id查找该组下所有面的特征。

根据组id+面id查找某个具体面的特征。

原有方案:MySQL+OSS

之前由于业务量较小,用的是MySQL以及OSS(对象存储)。相关表主要有group表和face表。但是,由于每个group中包含玻璃数目极度不均匀(从1到10000),基于这些表设计需要将玻璃id与其对应关系保存在每行中,对于含有的玻璃数量较多的情况导致MySQL查询时间过长(10秒左右)。

Hbase解决方案

针对现有方案的问题,格创东智的大数据团队认为这是典型场景适合使用Hbase,因为:

Hbase支持动态列,可以创建万亿行百万列。

支持多版本记录所有修改。

2.0版本引入MOB(Medium-SizedObject)功能,可用于小文件,如图片短视频文档等,它具有低延迟读写一致检索能力强易扩展能力强。

结合应用场景两大查询需求,将glass_id作为rowkey,在创建时打开MOB功能:

create 'glass', {NAME=>'c', IS_MOB=>true, MOB_THRESHOLD=>2048}

性能测试对比

| 属性 | 对象存储云 | Hbase建模 |

|--------------|-------------|-------------|

| KVKV | | |

| 表格 | | |

| 稀疏表 | | |

| SQL | | |

| 全文索引 | | |

| 时空/时序 |- |- |- |- |- -|

|-图查询 |- |- |- -|

结论

总结来说,如果你的应用场景涉及大量结构化的小文件或二进制类型,而且你需要执行前缀查找或者过滤器操作,那么选择用对象仓库可能会是个不错选择。但如果你的应用还要求复杂查询,比如全文搜索或者高级图形处理,那么应该考虑使用像BigTable这样的NoSQL解决方案。在实际项目中,你可以根据自己的具体需求来决定是否采用这种模式。如果你想实现类似的事情,但又担心成本问题,你也可以考虑先部署一个小规模测试环境,看看是否满足预期,然后再决定是否全面投入。