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

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

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

了解HBase

HBase是一个高可靠性、高性能、面向列、可伸缩的大规模结构化存储系统,它利用Hadoop HDFS作为其文件存储系统。与Google Bigtable有很多不同之处,比如:Bigtable使用GFS,而HBASE利用Hadoop HDFS;Bigtable运行MAPREDUCE处理海量数据,而HBASE同样利用MapReduce;Bigtable使用Chubby作为协同服务,而HBASE利用Zookeeper。

与传统数据库相比,HBASE具备多重优势:

1)线性扩展,可以通过节点扩展进行支撑;

2)数据存储在hdfs上,备份机制健全;

3)通过zookeeper协调查找数据,访问速度快。

HBase实战案例

为了更好地介绍如何在人工智能场景下使用基于NO-SQL(Hbase)技术,我们以某半导体显示企业为案例分析如何设计快速查找面板特征系统。该公司业务场景中存在大量面板相关特征,每张面板约3.2k字节,这些面板又被分组,每个面板属于一个组。现有的业务需求主要包括:

根据组ID查找该组下的所有面板;

根据组ID+面板ID查找某个具体面的数据;

原有方案是MySQL+OSS(对象存储)。然而,由于每个群集包含玻璃数量巨大(1~10000),这导致MySQL表中需要创建许多行来保存对应关系。在查询过程中,从MySQL读取大量行并从OSS获取特征造成链路延长,对于包含较多玻璃数目的查询来说时间可能达到10秒以上,这无法满足快速发展要求。

使用解决方案:重新设计

为了解决这个问题,我们采用了以下步骤:

理解现状:我们首先确定当前的问题是由于 MySQL 表中过度拆分了相同逻辑单元(即一张玻璃)到不同的物理记录。

选择合适工具:考虑到我们的需求可以完美契合 NoSQL 数据库尤其是 Hbase 的优点。

设计表结构:

将 Group ID 作为 RowKey,并启用 MOB 功能,以便支持小文件操作,如图片或文档等。

将 Glass ID 作为 Column Name,同时允许Column Family 动态添加新列以支持各种 Glass ID。

编码实现:

在 Put 操作时,将 Glass Feature 保存成小文件并插入至 Hbase 中。

当用户请求根据 Group ID 查找所有 Glass 时,只需从 Hbase 中读取一次,即可获得所需信息,无需像之前那样扫描 MySQL 表再访问 OSS 对象仓库。

总结

通过重新设计方案,我们成功地解决了原始方案中的两个问题:避免跨越两种不同的后端系统,以及减少复杂查询时间。此次改进不仅提高了性能,还使得整个应用更加简洁易维护。这也验证了一种常见观点,即对于具有高度变异性的属性(例如Glass数量),使用 NoSQL 类型的持久层,如 Apache Cassandra 或 Apache CouchDB 可能会带来更好的表现。