基于HBase的工业大数据存储实战现场总线技术第三版课后题答案应用于物品追踪系统

基于HBase的工业大数据存储实战现场总线技术第三版课后题答案应用于物品追踪系统

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

了解HBase

HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。它利用Hadoop HDFS作为其文件存储系统,将海量数据处理成结构化格式,从而实现快速查询与高效分析。与Google Bigtable相比,虽然两者都是基于Bigtable设计,但有显著差异:前者采用ZooKeeper协调服务,而后者使用Chubby;另外,它们支持不同类型的大规模数据集处理。

HBase优点

线性扩展:随着数据量增长,可以通过增加节点来提高处理能力。

数据持久性:通过将数据存储在HDFS中并且配置多个副本,为业务提供了坚固的事务安全保障。

高速访问:利用ZooKeeper进行协调服务,大大减少查询时间。

实战案例

为了更好地理解如何在人工智能场景下应用HBase,我们将以某半导体显示公司为案例。该公司需要设计一个能够快速查找面板特征系统。在此之前,他们使用MySQL+OSS(对象存储)方案,但由于每个面板组可能包含数千张面板,并且这些组之间存在大量重复,这种方案存在严重的问题:

MySQL表行数过多,不利于高速查询。

面板组id对应关系保存在MySQL中,而实际上属于同一组面的所有特征被分散保存在OSS中,对于需要根据面板id查找特定信息的情况造成不必要延迟。

解决方案改进

针对上述问题,格创东智团队提出了使用HBASE解决方案。这包括以下几个方面:

动态列 - HBASE支持万亿行百万列,每次写入可以同时更新多个列值,无需预先定义列名。

版本控制 - 每一次修改都会记录下来,便于追踪历史变更,并支持回滚操作。

MOB(Medium-Sized Object)功能 - 适用于小文件大小(1k~10MB)的文件,如图片或文档等,可以提供低延迟读写操作,以及检索能力强、易扩展等优势。

表设计调整

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

这里我们创建了一张名为'glass'的表,将IS_MOB属性设置为启用MOB功能,同时设定MOB_THRESHOLD为2048字节,即当文件大小超过这个阈值时,该字段会被视作小对象进行存储。

查询优化

对于原有需求:

根据group_id获取所有玻璃特征列表

根据group_id + glass_id获取单个玻璃具体特征

只需执行一次Get请求即可获得所需信息,因为整个库是按group_id组织结构的一致方式构建,这极大地简化了查询过程。此外,由于引入了MOB功能,小对象可以更加高效地读取,从而进一步加快了整个系统响应速度。此解决方案有效克服了原有架构中因大量重复以及跨越两个不同的基础设施(MySQL & OSS)导致的问题,同时也极大地提高了业务运营效率。