基于HBase的工业大数据存储实战物品追踪系统中的CAN总线通信协议应用
随着工业4.0时代的到来,工业互联网和企业的智能化、信息化都将不断推进,传统的工业实时数据库和关系数据库已经难以完全胜任工业大数据的存储,以HBase为代表的NoSQL数据库正在蓬勃发展,其完全分布式特征、高性能、多副本和灵活的动态扩展等特点,使得HBase在工业大数据的存储上拥有强大的优势,打破了流程工业生产中的数据壁垒效应,促进了生产水平和管理水平的大幅提升。本期格物汇,就来给大家介绍HBase数据库及格创东智相关实战案例。
了解HBase
HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。它利用Hadoop HDFS作为其文件存储系统,将海量数据处理成结构化格式,从而实现快速查询与高效分析。与Google Bigtable相比,虽然两者都是基于Bigtable设计,但有显著差异:前者采用Apache Hadoop生态系统,而后者依赖于Google自家的技术栈。
与传统数据库不同,HBASE具备以下优势:
线性扩展,可以通过节点增加来支持更大的数据量。
数据备份机制健全,通过Zookeeper协调服务保证访问速度。
高效读写操作,可以适应复杂业务场景。
应用场景:CAN总线通信协议
在物品追踪系统中,我们需要对大量物品进行实时监控和管理。这就要求我们的基础设施能够处理海量数据,并且能够提供低延迟、高吞吐量以及强一致性的读写能力。在这种情况下,我们可以使用CAN总线通信协议,它是一种广泛用于车辆控制网络中的串行通讯标准,由于其低成本、高可靠性以及简单易实现,这使得它成为许多嵌入式设备之间交换信息的一种理想选择。
例如,在一个半导体显示企业中,他们需要对数十万张面板进行跟踪,每张面板包含多个特征。这些特征可能包括颜色、尺寸、材质等,以便客户能够根据自己的需求筛选出合适的产品。此外,还有可能出现新的面板类型或特殊订单,因此我们需要一个灵活且易扩展的解决方案来满足这一需求。
我们可以使用HBase作为核心存储层,因为它不仅支持高度伸缩性,而且还能提供高速查询能力。由于每个面板组包含大量不同的玻璃特征(即所谓的小对象),我们可以利用MOB(Medium-Sized Object)功能优化性能,这样既节省了空间,又提高了查询速度。此外,由于所有修改都会记录在HBase中,我们也能获得历史版本信息,为用户提供更加丰富的情报支持。
实际操作步骤如下:
表设计:
使用face_id作为列名,这样每个单独面的特征都被分配到了不同的列上。
在创建表的时候打开MOB功能,如create 'glass', {NAME=>'c', IS_MOB=>true, MOB_THRESHOLD=>2048} 来确保小文件不会被过度分割导致性能问题。
插入操作:
使用Put对象添加新的行,并将feature值设置为字节数组形式,即feature.getBytes()。
将这个Put对象提交到表中以完成插入操作。
查询操作:
根据group_id获取所有相关面的特征,只需从Hbase中检索一次即可,不再像之前那样需要先查MySQL,然后再查OSS,大幅度减少了整个过程中的延迟时间并提高了效率。
删除/更新操作:
同样的逻辑,也只需直接在hbase表上进行即可,无需额外调用mysql或OSS接口,从而简化流程降低成本,同时保持同一处内置复制策略保证持久性稳定性对于实时监控来说是至关重要的事项之一。