0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于HBase的工业大数据存储实战

格创东智 2018-12-27 22:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群


本文作者:格创东智大数据工程师王子超(转载请注明作者及来源)




随着工业4.0时代的到来,工业互联网和企业的智能化、信息化都将不断推进,传统的工业实时数据库和关系数据库已经难以完全胜任工业大数据的存储,HBase为代表的NoSQL数据库正在蓬勃发展,其完全分布式特征、高性能、多副本和灵活的动态扩展等特点,使得HBase在工业大数据的存储上拥有强大的优势,打破了流程工业生产中的"数据壁垒"效应的瓶颈,可以促进工业生产水平和生产管理水平的提高。本期格物汇,就来给大家介绍HBase数据库及格创东智相关实战案例。


了解HBase

HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBASE的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。

HBASE是GoogleBigtable的开源实现,但是也有很多不同之处。比如:Google Bigtable使用GFS作为其文件存储系统,HBASE利用HadoopHDFS作为其文件存储系统;Google运行MAPREDUCE来处理Bigtable中的海量数据,HBASE同样利用Hadoop MapReduce来处理HBASE中的海量数据;Google Bigtable利用Chubby作为协同服务,HBASE利用Zookeeper作为协同服务。

与传统数据库的相比,HBASE具备多重优势

1)线性扩展,随着数据量增多可以通过节点扩展进行支撑;

2)数据存储在hdfs上,备份机制健全;

3)通过zookeeper协调查找数据,访问速度快。

HBase实战案例

为了更好的介绍 HBase 在人工智能场景下的使用,下面我们以某半导体显示企业为案例,给大家分析格创东智大数据团队如何利用 HBase 设计出一个快速查找面板特征的系统。


目前,该公司的业务场景里面有很多面板相关的特征数据,每张面板数据大概 3.2k。这些面板数据又被分成很多组,每个面板特征属于某个组。组和面板的数据分布如下:

——43%左右的组含有1张面板数据;

——47%左右的组含有 2 ~9张面板数据;

——其余的组面板数范围为 10 ~ 10000张。


现在的业务需求主要有以下两类:

——根据组的 id 查找该组下面的所有面板数据;

——根据组 id +面板id 查找某个面板的具体数据。

原有方案:MySQL+OSS

之前业务数据量比较小的情况使用的存储主要为 MySQL 以及 OSS(对象存储)。相关表主要有面板组表group和面板表face。表的格式如下:


group表:

group_idsize
12


glass表:

glass_idgroup_idfeature
"TB7B3695BA05"1"CASBA"


其中 feature(特征)大小为3.2k,是二进制数据 base64 后存入的,这个就是真实的面板特征数据。现在面板组 id 和面板id 对应关系存储在MySQL 中,对应上面的 group 表;面板 id 和面板相关的特征数据存储在 OSS 里面,对应上面的 face 表。

因为每个面板组包含的玻璃特征数相差很大(1 ~ 10000),所以基于上面的表设计,我们需要将面板组以及每张面板特征id存储在每一行,那么属于同一个面板组的数据在MySQL 里面上实际上存储了很多行。比如某个组id对应的特征数为10000,那么需要在MySQL 里面存储 10000 行。

我们如果需要根据面板组 id 查找该组下面的所有面板,那么需要从 MySQL 中读取很多行的数据,从中获取到组和面板对应的关系,然后到 OSS 里面根据面板id获取所有相关的特征数据。


这样的查询导致链路非常长。从上面的设计可看出,如果查询的组包含的面板张数比较多的情况下,那么我们需要从 MySQL 里面扫描很多行,然后再从 OSS 里面拿到这些特征数据,整个查询时间在10秒左右,远远不能满足现有业务快速发展的需求。


HBase解决方案:

MySQL + OSS的设计方案有两个问题:第一,原本属于同一条数据的内容由于数据本身大小的原因无法存储到一行里面,导致后续查下需要访问两个存储系统;第二,由于MySQL不支持动态列的特性,所以属于同一个面板组的数据被拆成多行存储。


针对这两个问题,格创东智的大数据团队进行了分析,认为这是HBase 的典型场景,原因如下:

——HBase 拥有动态列的特性,支持万亿行,百万列;

——HBase 支持多版本,所有的修改都会记录在 HBase 中;

——HBase 2.0 引入了MOB(Medium-Sized Object)特性,支持小文件存储。


HBase 的 MOB 特性针对文件大小在 1k~10MB 范围的,比如图片,短视频,文档等,具有低延迟,读写强一致,检索能力强,水平易扩展等关键能力。


格创东智的大数据团队使用这三个功能重新设计上面 MySQL + OSS 方案。结合应用场景的两大查询需求,将面板组 id 作为 HBase 的 Rowkey,在创建表的时候打开 MOB 功能,如下:

create'glass',{NAME=>'c',IS_MOB=>true,MOB_THRESHOLD=>2048}

上面我们创建了名为 glass 的表,IS_MOB属性说明列簇 c 将启用 MOB 特性,MOB_THRESHOLD是 MOB 文件大小的阈值,单位是字节,这里的设置说明文件大于 2k 的列都当做小文件存储。大家可能注意到上面原始方案中采用了 OSS 对象存储,那我们为什么不直接使用 OSS 存储面板特征数据呢,如果有这个疑问,可以看看下面表的性能测试:


对比属性对象存储云 HBase
建模能力KVKV、表格、稀疏表、SQL、
全文索引、时空、时序、图查询
查询能力前缀查找前缀查找、过滤器、索引
性能优,特别对小对象有更低的延迟;在复杂
查询场景下,比对象存储有10倍以上的性能提升
成本按流量,请求次数计费,托管式,在高并发,高吞吐场景有更低的成本
适合访问频率低的场景
扩展性
适用对象范围通用<10MB


StringCF_DEFAULT="c";根据上面的对比,使用 HBase MOB特性来存储小于10MB的对象相比直接使用对象存储有一些优势。
我们现在来看看具体的表设计,使用面板id作为列名。我们只使用了HBase 的一张表就替换了之前方面的三张表!虽然我们启用了 MOB,但是具体插入的方法和正常使用一样,代码片段如下:

Putput=newPut(groupId.getBytes());
put.addColumn(
CF_DEFAULT.getBytes(),glassId1.getBytes(),feature1.getBytes());
put.addColumn(
CF_DEFAULT.getBytes(),glassId2.getBytes(),feature2.getBytes());
……
put.addColumn(
CF_DEFAULT.getBytes(),glassIdn.getBytes(),featuren.getBytes());
table.put(put);

用户如果需要根据面板组id获取所有面板数据,可以使用下面方法:

Getget=newGet(groupId.getBytes());
Resultre=table.
get(get);

这样我们可以拿到某个组id对应的所有面板数据。如果需要根据组id+面板id查找某个面板的具体数据,看可以使用下面方法:

Getget=newGet(groupId.getBytes());
get.addColumn(CF_DEFAULT.getBytes(),glassId1.getBytes())
Resultre=table.
get(get);

经过上面的改造,在2台 HBaseWorker 节点内存为32GB,核数为8,每个节点挂载四块大小为 250GB 的 SSD 磁盘,并写入100W 行,每行有1W列,读取一行的时间在100ms-500毫秒左右。在每行有1000个face的情况下,读取一行的时间基本在20-50毫秒左右,相比之前的10秒提升200~500倍。

从下面这张对比表,我们可以清楚的看到HBase方案的巨大优势。

对比属性对象存储MySQL+对象存储HBase MOB
读写强一致YNY
查询能力
查询响应时间
运维成本
水平扩展YYY


现在,我们已经将面板特征数据存储在Cloudera HBase 之中,这个只是数据应用的第一步,如何将隐藏在这些数据背后的价值发挥出来?这就得借助于数据分析,在这个场景就需要采用机器学习的方法进行操作。我们可以借助大数据分析工具Spark 对存储于 HBase 之中的数据进行分析,而且 Spark 本身支持机器学习的。最后,用户就可以通过访问 HBase 里面已经挖掘好的特征数据进行其他的应用了。



声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 智能制造
    +关注

    关注

    48

    文章

    6294

    浏览量

    80158
  • 工业互联网
    +关注

    关注

    28

    文章

    4397

    浏览量

    96410
  • Hbase
    +关注

    关注

    0

    文章

    27

    浏览量

    11739
  • 工业大数据
    +关注

    关注

    0

    文章

    72

    浏览量

    8200
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    黑M-狂野大数据5期|网盘无密Mp4+大数据直播课-狂野大数据

    科技重构数据生产力:狂野大数据直播实战全解析 随着数字化时代的快速发展,大数据已经渗透到我们生活的方方面面。无论是商业、教育,还是医疗、政府服务,
    的头像 发表于 04-06 11:13 206次阅读

    NetApp数据恢复—NetApp FAS-8200存储卷丢失故障数据恢复实战

    某企业部署NetApp FAS-8200存储设备,共计配置96块磁盘,构建两组互为镜像的存储池。存储池内划分逻辑卷并映射至ESXi虚拟化平台作为数据
    的头像 发表于 04-02 10:43 117次阅读
    NetApp<b class='flag-5'>数据</b>恢复—NetApp FAS-8200<b class='flag-5'>存储</b>卷丢失故障<b class='flag-5'>数据</b>恢复<b class='flag-5'>实战</b>

    轻松入门大数据 一站式完成核心能力构建 | 更新完结

    一站式掌握:大数据查询优化实战技巧 在大数据时代,数据量从GB级跃升至TB级甚至PB级,查询性能成为数据平台的核心竞争力。一个原本秒级响应的
    的头像 发表于 03-23 14:05 404次阅读

    中科曙光亮相2025数据存储业大

    11月19日,2025数据存储业大会在广州召开,大会由中国电子工业标准化技术协会主办,中电标协数据存储
    的头像 发表于 11-21 17:32 1195次阅读

    北京工业大学开源鸿蒙技术俱乐部正式揭牌成立

    2025年10月29日上午,由OpenAtom OpenHarmony(以下简称“开源鸿蒙”)项目群技术指导委员会和北京工业大学计算机学院共同举办的“北京工业大学开源鸿蒙技术俱乐部成立大会暨智能物联
    的头像 发表于 11-04 09:23 1347次阅读
    北京<b class='flag-5'>工业大</b>学开源鸿蒙技术俱乐部正式揭牌成立

    组态大数据平台是什么?有什么功能?

    组态大数据平台是融合 组态技术 与 大数据处理能力 的综合性平台,通过图形化、可配置的方式实现数据采集、存储、分析、可视化及远程控制,适用于工业
    的头像 发表于 10-30 11:29 323次阅读
    组态<b class='flag-5'>大数据</b>平台是什么?有什么功能?

    工业数据云平台有哪些好用的?

    )。 华为云:华为云工业互联平台专注于工业数字化转型,提供工业物联网、边缘计算和工业大数据分析等服务。其应用场景广泛,涵盖制造业、能源、交通等领域。华为云凭借强大的生态系统和持续的技术
    的头像 发表于 10-20 17:25 698次阅读
    <b class='flag-5'>工业</b><b class='flag-5'>数据</b>云平台有哪些好用的?

    工业大舵机和普通舵机的区别?

    工业大舵机和普通舵机在设计定位、性能参数、应用场景等多方面存在显著差异,以下是具体对比: 核心性能参数 精度控制 工业大舵机 :配备高精度位置传感器(如磁阻式绝对值编码器),精度可达 0.1 度以下
    的头像 发表于 09-25 10:41 1146次阅读

    深圳站报名火热进行中!睿擎工业平台线下实战 Workshop,亲手实战4小时解锁工业级开发!|活动预告

    想一站式实战QT图形开发、EtherCAT通信、RPMSG多核交互?睿擎工业平台深度实战Workshop深圳站报名火热进行中!这是一场专为工业开发者打造的沉浸式
    的头像 发表于 09-14 10:04 1445次阅读
    深圳站报名火热进行中!睿擎<b class='flag-5'>工业</b>平台线下<b class='flag-5'>实战</b> Workshop,亲手<b class='flag-5'>实战</b>4小时解锁<b class='flag-5'>工业</b>级开发!|活动预告

    御控工业物联网大数据解决方案:排水设备远程监控与大数据统计系统

    御控工业物联网推出排水设备远程监控与大数据统计系统,通过物联网、大数据、云计算等技术构建“感知-传输-分析-决策”闭环管理体系,助力排水行业数字化转型。
    的头像 发表于 09-12 10:04 803次阅读

    最后召集!明日睿擎工业平台Workshop上海站开启!现场体验工业设备实战开发,最终席位即将关闭!

    明天(9月4日)下午1点,睿擎工业平台深度实战Workshop上海站将准时开启!所有技术设备已调试完毕,开发套件、全套资料均已就位,仅剩最后少量席位,报名通道将于今日24:00正式关闭。并非所有
    的头像 发表于 09-03 14:47 1012次阅读
    最后召集!明日睿擎<b class='flag-5'>工业</b>平台Workshop上海站开启!现场体验<b class='flag-5'>工业</b>设备<b class='flag-5'>实战</b>开发,最终席位即将关闭!

    工业大模型利用全流程数据采集推动显示行业生产制造升级

      显示产业作为电子信息产业的核心支柱,其技术迭代速度快、生产工艺复杂、质量要求严苛,对制造升级的需求尤为迫切。工业大模型的出现,为显示生产制造升级提供了全新的技术路径。依托显示生产全流程数据的深度
    的头像 发表于 07-28 10:37 778次阅读

    欧菲光荣获第七届“深圳工业大奖” 深圳工业界最高荣誉

    近日,第七届“深圳工业大奖”名单公示,经深圳工业大奖独立评审团成员认真审议、记名投票,分别评选产生第七届“深圳工业大奖”企业10家、工业家10位、项目10个。其中,欧菲光集团股份有限公
    的头像 发表于 07-15 18:07 1796次阅读

    工业大数据管理平台是什么?有什么功能?

    PLC跨网段通信网关是一种用于解决工业自动化领域中不同网络段内PLC(可编程逻辑控制器)设备通信问题的关键设备,其核心作用是实现不同网络协议、IP网段之间的数据交互与信息传输,下面从多个方面详细介绍
    的头像 发表于 06-13 15:43 483次阅读

    京东工业大模型Joy industrial重磅发布

    京东工业多年深耕工业数智供应链领域形成的经验积累和数据沉淀,通过“工业大模型+供应链场景应用”双引擎,构建从底层算力、算法、数据到应用的全栈
    的头像 发表于 05-28 17:12 1074次阅读