基于HBase的工业大数据存储实战Profibus现场总线在物品追踪中的应用
随着工业4.0时代的到来,工业互联网和企业的智能化、信息化都将不断推进,传统的工业实时数据库和关系数据库已经难以完全胜任工业大数据的存储,以HBase为代表的NoSQL数据库正在蓬勃发展,其完全分布式特征、高性能、多副本和灵活的动态扩展等特点,使得HBase在工业大数据的存储上拥有强大的优势,打破了流程工业生产中的数据壁垒效应,促进了生产水平和管理水平的大幅提升。本期格物汇,就来给大家介绍HBase数据库及格创东智相关实战案例。
了解HBase
HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。它利用Hadoop HDFS作为其文件存储系统,将海量数据处理成结构化格式,从而实现快速查询与高效分析。与Google Bigtable相比,虽然两者都是基于Bigtable设计,但有显著差异:前者采用Apache Hadoop生态系统,而后者依赖于Google自家的技术栈。
与传统数据库不同,HBASE具备以下优势:
线性扩展,可以通过节点增加来支持更大的数据量。
数据备份健全,在Distributed File System(如HDFS)中进行。
通过ZooKeeper协调服务,加快访问速度。
HBase实战案例
为了更好地理解如何在Profibus现场总线环境下应用HBase,我们可以考虑一个物品追踪场景。假设我们有一个物流公司,它需要跟踪大量产品从制造到客户的手续过程。在这个过程中,每个产品都会被赋予一个唯一标识符,并且会产生大量元数据,如位置信息、温度记录等。
原有方案
由于早期业务规模较小,我们使用MySQL+OSS(对象存储)的方案来管理这些信息。然而,这种方法存在两个主要问题:
MySQL不支持动态列,因此每个组可能包含数十或数百张面板,这导致了大量冗余行在MySQL中。
查询操作涉及跨越两种不同的存储解决方案,即MySQL和OSS,这不仅影响了查询效率,还增加了复杂性。
HBase解决方案
针对上述问题,我们引入了基于Profibus现场总线的大型项目,并运用到了新的设计思路:
使用Face表替换原有的group表和glass表,同时启用MOB(Medium-Sized Object)功能以优化小文件读写性能。
将面板ID作为列名,而不是创建额外行。这意味着所有属于同一组面的面板都可以直接位于同一行内,不再需要拆分成多行保存。
这种新设计简化了之前复杂查询过程,使得根据组ID查找所有面板或者根据组ID+面板ID查找具体面板变得更加迅速有效。此外,由于整个表现在单一库中,无需频繁交叉访问不同类型的事务,也极大地提高了整体系统效率。