基于HBase的工業(yè)大數(shù)據(jù)存儲實戰(zhàn)
隨著工業(yè)4.0時代的到來,工業(yè)互聯(lián)網(wǎng)和企業(yè)的智能化、信息化都將不斷推進(jìn),傳統(tǒng)的工業(yè)實時數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫已經(jīng)難以完全勝任工業(yè)大數(shù)據(jù)的存儲,以HBase為代表的NoSQL數(shù)據(jù)庫正在蓬勃發(fā)展,其完全分布式特征、高性能、多副本和靈活的動態(tài)擴(kuò)展等特點(diǎn),使得HBase在工業(yè)大數(shù)據(jù)的存儲上擁有強(qiáng)大的優(yōu)勢,打破了流程工業(yè)生產(chǎn)中的"數(shù)據(jù)壁壘"效應(yīng)的瓶頸,可以促進(jìn)工業(yè)生產(chǎn)水平和生產(chǎn)管理水平的提高。本期格物匯,就來給大家介紹HBase數(shù)據(jù)庫及格創(chuàng)東智相關(guān)實戰(zhàn)案例。
了解HBase
HBase是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng),利用HBase技術(shù)可在廉價PC Server上搭建起大規(guī)模結(jié)構(gòu)化存儲集群。HBASE的目標(biāo)是存儲并處理大型的數(shù)據(jù),更具體來說是僅需使用普通的硬件配置,就能夠處理由成千上萬的行和列所組成的大型數(shù)據(jù)。
HBASE是GoogleBigtable的開源實現(xiàn),但是也有很多不同之處。比如:Google Bigtable使用GFS作為其文件存儲系統(tǒng),HBASE利用HadoopHDFS作為其文件存儲系統(tǒng);Google運(yùn)行MAPREDUCE來處理Bigtable中的海量數(shù)據(jù),HBASE同樣利用Hadoop MapReduce來處理HBASE中的海量數(shù)據(jù);Google Bigtable利用Chubby作為協(xié)同服務(wù),HBASE利用Zookeeper作為協(xié)同服務(wù)。
與傳統(tǒng)數(shù)據(jù)庫的相比,HBASE具備多重優(yōu)勢:
1)線性擴(kuò)展,隨著數(shù)據(jù)量增多可以通過節(jié)點(diǎn)擴(kuò)展進(jìn)行支撐;
2)數(shù)據(jù)存儲在hdfs上,備份機(jī)制健全;
3)通過zookeeper協(xié)調(diào)查找數(shù)據(jù),訪問速度快。
HBase實戰(zhàn)案例
為了更好的介紹 HBase 在人工智能場景下的使用,下面我們以某半導(dǎo)體顯示企業(yè)為案例,給大家分析格創(chuàng)東智大數(shù)據(jù)團(tuán)隊如何利用 HBase 設(shè)計出一個快速查找面板特征的系統(tǒng)。
目前,該公司的業(yè)務(wù)場景里面有很多面板相關(guān)的特征數(shù)據(jù),每張面板數(shù)據(jù)大概 3.2k。這些面板數(shù)據(jù)又被分成很多組,每個面板特征屬于某個組。組和面板的數(shù)據(jù)分布如下:
——43%左右的組含有1張面板數(shù)據(jù);
——47%左右的組含有 2 ~9張面板數(shù)據(jù);
——其余的組面板數(shù)范圍為 10 ~ 10000張。
現(xiàn)在的業(yè)務(wù)需求主要有以下兩類:
——根據(jù)組的 id 查找該組下面的所有面板數(shù)據(jù);
——根據(jù)組 id +面板id 查找某個面板的具體數(shù)據(jù)。
原有方案:MySQL+OSS
之前業(yè)務(wù)數(shù)據(jù)量比較小的情況使用的存儲主要為 MySQL 以及 OSS(對象存儲)。相關(guān)表主要有面板組表group和面板表face。表的格式如下:
group表:
group_idsize12
glass表:
glass_idgroup_idfeature"TB7B3695BA05"1"CASBA"
其中 feature(特征)大小為3.2k,是二進(jìn)制數(shù)據(jù) base64 后存入的,這個就是真實的面板特征數(shù)據(jù)。現(xiàn)在面板組 id 和面板id 對應(yīng)關(guān)系存儲在MySQL 中,對應(yīng)上面的 group 表;面板 id 和面板相關(guān)的特征數(shù)據(jù)存儲在 OSS 里面,對應(yīng)上面的 face 表。
因為每個面板組包含的玻璃特征數(shù)相差很大(1 ~ 10000),所以基于上面的表設(shè)計,我們需要將面板組以及每張面板特征id存儲在每一行,那么屬于同一個面板組的數(shù)據(jù)在MySQL 里面上實際上存儲了很多行。比如某個組id對應(yīng)的特征數(shù)為10000,那么需要在MySQL 里面存儲 10000 行。
我們?nèi)绻枰鶕?jù)面板組 id 查找該組下面的所有面板,那么需要從 MySQL 中讀取很多行的數(shù)據(jù),從中獲取到組和面板對應(yīng)的關(guān)系,然后到 OSS 里面根據(jù)面板id獲取所有相關(guān)的特征數(shù)據(jù)。
這樣的查詢導(dǎo)致鏈路非常長。從上面的設(shè)計可看出,如果查詢的組包含的面板張數(shù)比較多的情況下,那么我們需要從 MySQL 里面掃描很多行,然后再從 OSS 里面拿到這些特征數(shù)據(jù),整個查詢時間在10秒左右,遠(yuǎn)遠(yuǎn)不能滿足現(xiàn)有業(yè)務(wù)快速發(fā)展的需求。
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
即日-11.30免費(fèi)預(yù)約申請>>> 燧石技術(shù)-紅外熱成像系列產(chǎn)品試用活動
-
11月8日立即預(yù)約>> 筑夢啟光 礪行致遠(yuǎn) | 新天激光數(shù)字化產(chǎn)研基地奠基儀式
-
11月29日立即預(yù)約>> 【上海線下】設(shè)計,易如反掌—Creo 11發(fā)布巡展
-
11月30日立即試用>> 【有獎試用】愛德克IDEC-九大王牌安全產(chǎn)品
-
即日-12.26火熱報名中>> OFweek2024中國智造CIO在線峰會
-
限時免費(fèi)下載立即下載 >>> 2024“機(jī)器人+”行業(yè)應(yīng)用創(chuàng)新發(fā)展藍(lán)皮書
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市