基于HBase的工业大数据存储实战物品can报文解析实例
随着工业4.0时代的到来,工业互联网和企业的智能化、信息化都将不断推进,传统的工业实时数据库和关系数据库已经难以完全胜任工业大数据的存储,以HBase为代表的NoSQL数据库正在蓬勃发展,其完全分布式特征、高性能、多副本和灵活的动态扩展等特点,使得HBase在工业大数据的存储上拥有强大的优势,打破了流程工业生产中的数据壁垒效应,促进了生产水平和管理水平的大幅提升。本期格物汇,就来给大家介绍HBase数据库及格创东智相关实战案例。
了解HBase
HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。它利用Hadoop HDFS作为其文件存储系统,将海量数据处理成结构化格式,从而实现快速查询与分析。Google Bigtable是GoogleBigtable的一种开源实现,它在设计上有许多不同之处,比如使用GFS作为文件系统,而不是像HBASE那样使用HDFS;运行MAPREDUCE处理海量数据,也不像Google那样使用Chubby协同服务,而是使用Zookeeper。
与传统数据库相比,HBASE具备多重优势:
线性扩展:随着数据量增多可以通过节点扩展进行支撑。
数据备份:通过Zookeeper协调服务确保高可用性。
访问速度快:由于其高度优化的事务模型,可以提供极速读写能力。
HBase实战案例
为了更好地介绍如何利用HBase在人工智能场景下进行快速查找面板特征,我们将以某半导体显示企业为案例分析格创东智大数据团队如何设计出一个基于这个需求的大规模面板特征检索系统。
业务背景
该公司拥有大量面板相关特征数据,每张面板对应一组复杂且不同的参数,这些参数需要被精确地记录并能够迅速检索。此外,由于这些参数可能会随时间变化或根据新的技术标准更新,因此我们需要一个既能支持大量历史记录,又能保持当前最新状态同时提供即时查询能力的大型分布式数据库解决方案。
数据库选择
之前业务主要依赖MySQL以及OSS(对象存储)来管理这类大规模面的复杂关系。然而,由于每个面板组包含数量巨大的单独特征,并且这些特征可能跨越数十万甚至数百万行,这导致原本简单的事情变得异常耗时且成本很高。在这种情况下,我们发现传统关系型数据库不足以满足我们的需求,因为它们无法有效处理如此庞大的非结构化或半结构化数据集。
HBase解决方案
为了克服这些挑战,我们采用了以下策略:
使用唯一标识符(如ID)作为RowKey,这样就可以直接从表中获取所有属于同一组ID下的所有单独特征。
利用动态列功能,将所有与单独特征相关联但没有固定的字段名(如日期或者版本号)的额外信息直接附加到该行中。这允许我们轻松添加新字段而无需更改现有的表定义。
采用MOB(Medium-Sized Object)功能,该功能适用于小文件操作,如图像或文档等,同时也适用于较小尺寸的小对象,如JSON字符串或二进制编码后的字符串等。这意味着我们不再需要创建独立表来保存这些类型的小对象,而是可以直接将它们整合到主表中,使得整个查询过程更加简洁高效。
此外,我们还引入了一套基于Column Family(CF)的组织方式,其中每个Column Family对应于某个具体维度上的属性集合。这样做允许我们根据实际需求灵活调整哪些属性应该被放置在一起,以及如何有效地执行过滤器和前缀搜索,以便提高查询性能并减少冗余读取操作。
最后,在实际部署后,我们发现这一切努力付出了丰厚回报。不仅如此,还因为没有必要建立额外层级缓冲区,所以整个架构非常紧凑,有助于降低总体成本。此外,由于我们的实施使得用户能够更快捷地获取所需信息,无论是在开发还是运营方面,都取得了显著提升。在过去,即使最简单的问题也可能花费几秒钟才能得到答案,但现在,大部分问题只需几毫秒就能得到解答,这对于我们的业务至关重要。