基于HBase的工业大数据存储实战物品can总线通信详解
随着工业4.0时代的到来,工业互联网和企业的智能化、信息化都将不断推进,传统的工业实时数据库和关系数据库已经难以完全胜任工业大数据的存储,以HBase为代表的NoSQL数据库正在蓬勃发展,其完全分布式特征、高性能、多副本和灵活的动态扩展等特点,使得HBase在工业大数据的存储上拥有强大的优势,打破了流程工业生产中的数据壁垒效应,促进了生产水平和管理水平的大幅提升。本期格物汇,就来给大家介绍HBase数据库及格创东智相关实战案例。
了解HBase
HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。它利用Hadoop HDFS作为其文件存储系统,将海量数据处理成结构化格式,从而实现快速查询与高效分析。与Google Bigtable相比,虽然两者都是基于Bigtable设计,但有显著差异:前者采用Chubby协同服务,而后者则使用Zookeeper;前者运行MAPREDUCE处理海量数据,而后者也采用相同技术进行处理。
与传统数据库相比,HBASE具备多重优势:
线性扩展,即随着数据量增多可以通过节点扩展进行支撑。
数据存储在hdfs上,备份机制健全。
通过zookeeper协调查找数据,访问速度快。
HBase实战案例
为了更好地展示如何运用HBase在人工智能场景下,我们以某半导体显示企业为案例,对于该公司面板特征的大规模查找问题进行解决方案探讨。
原有方案
原有的业务需求主要涉及两个方面:
根据组id查找该组下的所有面板;
根据组id+面板id查找某个面板具体信息;
之前使用的是MySQL+OSS(对象存储)方案,其中包括group表用于记录组信息,以及face表用于保存每张玻璃对应特征值。由于不同组中玻璃数量极其不均匀,大部分情况下只包含少数几张玻璃,因此这种设计导致大量冗余行,并且查询过程复杂,不利于满足业务快速增长所需提高查询效率。
HBase解决方案
针对上述问题,由格创东智的大数据团队提出了一种新的设计思路,该团队认为这正是适合应用Hbase的一个典型场景,因为:
Hbase支持动态列,可以有效减少冗余行;
支持版本控制,便于追踪历史变更;
引入MOB(Medium-SizedObject)功能,可优化小文件读写能力;
表设计调整
结合应用场景中两个主要查询需求,将每个玻璃ID作为列名。在创建glass表时打开MOB功能,如下所示:
create 'glass', {NAME=>'c', IS_MOB=>true, MOB_THRESHOLD=>2048}
这样一来,只需要一张表即可替换原来三张表,同时充分利用了Hbase的一些优点,比如支持小文件直接读取,加速了检索速度。此外,这样的设计简洁明了,也便于维护管理,并降低成本开销。
性能测试对比
尽管对象存储云提供了一系列建模能力,如K/V键值对模式、大型表、小型稀疏表以及SQL执行等,但实际操作中发现,在复杂查询场景下,它们无法达到与分布式NoSQL数据库类似如Apache HBASE相同级别甚至远超之上的性能提升。此外,与传统关系型数据库相比,无论是在高并发环境还是低访问频率情形,都能够享受更低成本及资源消耗。这使得选择合适工具至关重要,以确保最佳效果实现。
总结来说,本文旨在阐释如何利用现代NoSQL技术——特别是Apache HBASE——来优化现有的商业应用中的关键业务流程。通过一个关于半导体显示行业内寻找产品特征的问题,我们展示了如何从传统关系型数据库迁移到一个更加高效、灵活且易于扩展的事务alike NoSQL解决方案。这不仅改善了用户界面的响应时间,还简化了整个系统架构,为未来的增长提供必要基础设施。