基于HBase的工业大数据存储实战物品追踪与管理中的常用现场总线技术探究
随着工业4.0时代的到来,工业互联网和企业的智能化、信息化都将不断推进,传统的工业实时数据库和关系数据库已经难以完全胜任工业大数据的存储,以HBase为代表的NoSQL数据库正在蓬勃发展,其完全分布式特征、高性能、多副本和灵活的动态扩展等特点,使得HBase在工业大数据的存储上拥有强大的优势,打破了流程工业生产中的数据壁垒效应,促进了生产水平和管理水平的大幅提升。本期格物汇,就来给大家介绍HBase数据库及格创东智相关实战案例。
了解HBase
HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。它利用Hadoop HDFS作为其文件存储系统,将海量数据处理成结构化格式,从而实现快速查询与分析。Google Bigtable是Google公司开发的一种分布式键值对数据库,而HBASE则是Bigtable的一个开源版本,但两者之间存在差异,如使用文件系统不同(GFS vs HDFS)、处理方式不同(MapReduce vs 内部优化)以及协同服务不同(Chubby vs ZooKeeper)。
与传统数据库相比,HBASE具有以下优势:
线性扩展:随着数据量增加,可以通过节点扩展进行支撑。
高可靠性:通过复制机制保证了高可用性。
快速访问:利用ZooKeeper协调服务提高了查询速度。
实战案例
为了更好地理解如何应用于人工智能场景,我们将以某半导体显示企业为案例,探讨如何利用HBase设计一个快速查找面板特征系统。
该公司业务场景中包含大量面板相关特征,每张面板约3.2k字节,这些面板被分组,每个面板属于一个组。组内面的数量分布如下:
43%左右包含1张面的组;
47%左右包含2至9张面的组;
剩余较少数目的组含10至10000张脸;
现有需求主要包括两个方面:
根据群ID查找该群下的所有脸;
根据群ID加上脸ID查找具体一张脸;
原有方案采用MySQL+OSS,并且表格设计简单明了,有group表用于记录每个群所对应的事务,以及face表用于保存每个事务详细信息。不过,由于每个群拥有的事务数量差异巨大(从1到10000),导致在MySQL中需要创建大量行才能保存全部信息。这造成了当要根据Group ID找到所有的事务或根据Group ID + Face ID搜索某条事务时,对MySQL执行大量扫描操作,从而影响查询效率并延长响应时间达到10秒以上,这无法满足业务增长要求。
HBASE解决方案
针对这两个问题,即不能有效整合相同内容使其只需访问一次;第二不能适配非固定长度列的问题,我们考虑使用基于Apache Hbase项目构建的一个新的解决方案,它结合了一些先进技术如稀疏表和MOB (Medium-Sized Object) 功能来提高效率并简化设计过程。我们可以在这个新框架下建立名为glass 的表,其中定义如下:
create 'glass', {NAME=>'c', IS_MOB=>true, MOB_THRESHOLD=>2048}
这里我们启用MOB功能,因为我们的玻璃特征大小通常小于或者接近2048字节。在这个新模型中,我们不再依赖对象存储云,而是直接使用hbase来管理这些小型对象。此外,我们还可以利用hbase提供的一系列丰富功能,如K-V键值对模式、全文索引等,以进一步提升性能并支持复杂查询需求。
总结来说,本文详细介绍了基于Apache Hbase项目构建的人工智能应用场景,以及如何通过动态列、MOB功能等技术手段优化现有的商业模式,为用户提供更加快速准确的地理位置服务,同时减少成本并提高资源利用率,为未来更多类型的人工智能应用奠定坚实基础。