吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于HBase的工業(yè)大數(shù)據(jù)存儲實戰(zhàn)

格創(chuàng)東智 ? 2018-12-27 22:17 ? 次閱讀


本文作者:格創(chuàng)東智大數(shù)據(jù)工程師王子超(轉載請注明作者及來源)




隨著工業(yè)4.0時代的到來,工業(yè)互聯(lián)網(wǎng)和企業(yè)的智能化、信息化都將不斷推進,傳統(tǒng)的工業(yè)實時數(shù)據(jù)庫和關系數(shù)據(jù)庫已經(jīng)難以完全勝任工業(yè)大數(shù)據(jù)的存儲,HBase為代表的NoSQL數(shù)據(jù)庫正在蓬勃發(fā)展,其完全分布式特征、高性能、多副本和靈活的動態(tài)擴展等特點,使得HBase在工業(yè)大數(shù)據(jù)的存儲上擁有強大的優(yōu)勢,打破了流程工業(yè)生產(chǎn)中的"數(shù)據(jù)壁壘"效應的瓶頸,可以促進工業(yè)生產(chǎn)水平和生產(chǎn)管理水平的提高。本期格物匯,就來給大家介紹HBase數(shù)據(jù)庫及格創(chuàng)東智相關實戰(zhàn)案例。


了解HBase

HBase是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng),利用HBase技術可在廉價PC Server上搭建起大規(guī)模結構化存儲集群。HBASE的目標是存儲并處理大型的數(shù)據(jù),更具體來說是僅需使用普通的硬件配置,就能夠處理由成千上萬的行和列所組成的大型數(shù)據(jù)。

HBASE是GoogleBigtable的開源實現(xiàn),但是也有很多不同之處。比如:Google Bigtable使用GFS作為其文件存儲系統(tǒng),HBASE利用HadoopHDFS作為其文件存儲系統(tǒng);Google運行MAPREDUCE來處理Bigtable中的海量數(shù)據(jù),HBASE同樣利用Hadoop MapReduce來處理HBASE中的海量數(shù)據(jù);Google Bigtable利用Chubby作為協(xié)同服務,HBASE利用Zookeeper作為協(xié)同服務。

與傳統(tǒng)數(shù)據(jù)庫的相比,HBASE具備多重優(yōu)勢

1)線性擴展,隨著數(shù)據(jù)量增多可以通過節(jié)點擴展進行支撐;

2)數(shù)據(jù)存儲在hdfs上,備份機制健全;

3)通過zookeeper協(xié)調(diào)查找數(shù)據(jù),訪問速度快。

HBase實戰(zhàn)案例

為了更好的介紹 HBase 在人工智能場景下的使用,下面我們以某半導體顯示企業(yè)為案例,給大家分析格創(chuàng)東智大數(shù)據(jù)團隊如何利用 HBase 設計出一個快速查找面板特征的系統(tǒng)。


目前,該公司的業(yè)務場景里面有很多面板相關的特征數(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è)務需求主要有以下兩類:

——根據(jù)組的 id 查找該組下面的所有面板數(shù)據(jù);

——根據(jù)組 id +面板id 查找某個面板的具體數(shù)據(jù)。

原有方案:MySQL+OSS

之前業(yè)務數(shù)據(jù)量比較小的情況使用的存儲主要為 MySQL 以及 OSS(對象存儲)。相關表主要有面板組表group和面板表face。表的格式如下:


group表:

group_idsize
12


glass表:

glass_idgroup_idfeature
"TB7B3695BA05"1"CASBA"


其中 feature(特征)大小為3.2k,是二進制數(shù)據(jù) base64 后存入的,這個就是真實的面板特征數(shù)據(jù)。現(xiàn)在面板組 id 和面板id 對應關系存儲在MySQL 中,對應上面的 group 表;面板 id 和面板相關的特征數(shù)據(jù)存儲在 OSS 里面,對應上面的 face 表。

因為每個面板組包含的玻璃特征數(shù)相差很大(1 ~ 10000),所以基于上面的表設計,我們需要將面板組以及每張面板特征id存儲在每一行,那么屬于同一個面板組的數(shù)據(jù)在MySQL 里面上實際上存儲了很多行。比如某個組id對應的特征數(shù)為10000,那么需要在MySQL 里面存儲 10000 行。

我們?nèi)绻枰鶕?jù)面板組 id 查找該組下面的所有面板,那么需要從 MySQL 中讀取很多行的數(shù)據(jù),從中獲取到組和面板對應的關系,然后到 OSS 里面根據(jù)面板id獲取所有相關的特征數(shù)據(jù)。


這樣的查詢導致鏈路非常長。從上面的設計可看出,如果查詢的組包含的面板張數(shù)比較多的情況下,那么我們需要從 MySQL 里面掃描很多行,然后再從 OSS 里面拿到這些特征數(shù)據(jù),整個查詢時間在10秒左右,遠遠不能滿足現(xiàn)有業(yè)務快速發(fā)展的需求。


HBase解決方案:

MySQL + OSS的設計方案有兩個問題:第一,原本屬于同一條數(shù)據(jù)的內(nèi)容由于數(shù)據(jù)本身大小的原因無法存儲到一行里面,導致后續(xù)查下需要訪問兩個存儲系統(tǒng);第二,由于MySQL不支持動態(tài)列的特性,所以屬于同一個面板組的數(shù)據(jù)被拆成多行存儲。


針對這兩個問題,格創(chuàng)東智的大數(shù)據(jù)團隊進行了分析,認為這是HBase 的典型場景,原因如下:

——HBase 擁有動態(tài)列的特性,支持萬億行,百萬列;

——HBase 支持多版本,所有的修改都會記錄在 HBase 中;

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


HBase 的 MOB 特性針對文件大小在 1k~10MB 范圍的,比如圖片,短視頻,文檔等,具有低延遲,讀寫強一致,檢索能力強,水平易擴展等關鍵能力。


格創(chuàng)東智的大數(shù)據(jù)團隊使用這三個功能重新設計上面 MySQL + OSS 方案。結合應用場景的兩大查詢需求,將面板組 id 作為 HBase 的 Rowkey,在創(chuàng)建表的時候打開 MOB 功能,如下:

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

上面我們創(chuàng)建了名為 glass 的表,IS_MOB屬性說明列簇 c 將啟用 MOB 特性,MOB_THRESHOLD是 MOB 文件大小的閾值,單位是字節(jié),這里的設置說明文件大于 2k 的列都當做小文件存儲。大家可能注意到上面原始方案中采用了 OSS 對象存儲,那我們?yōu)槭裁床恢苯邮褂?OSS 存儲面板特征數(shù)據(jù)呢,如果有這個疑問,可以看看下面表的性能測試:


對比屬性對象存儲云 HBase
建模能力KVKV、表格、稀疏表、SQL、
全文索引、時空、時序、圖查詢
查詢能力前綴查找前綴查找、過濾器、索引
性能優(yōu)優(yōu),特別對小對象有更低的延遲;在復雜
查詢場景下,比對象存儲有10倍以上的性能提升
成本按流量,請求次數(shù)計費,托管式,在高并發(fā),高吞吐場景有更低的成本
適合訪問頻率低的場景
擴展性優(yōu)優(yōu)
適用對象范圍通用<10MB


StringCF_DEFAULT="c";根據(jù)上面的對比,使用 HBase MOB特性來存儲小于10MB的對象相比直接使用對象存儲有一些優(yōu)勢。
我們現(xiàn)在來看看具體的表設計,使用面板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);

用戶如果需要根據(jù)面板組id獲取所有面板數(shù)據(jù),可以使用下面方法:

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

這樣我們可以拿到某個組id對應的所有面板數(shù)據(jù)。如果需要根據(jù)組id+面板id查找某個面板的具體數(shù)據(jù),看可以使用下面方法:

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

經(jīng)過上面的改造,在2臺 HBaseWorker 節(jié)點內(nèi)存為32GB,核數(shù)為8,每個節(jié)點掛載四塊大小為 250GB 的 SSD 磁盤,并寫入100W 行,每行有1W列,讀取一行的時間在100ms-500毫秒左右。在每行有1000個face的情況下,讀取一行的時間基本在20-50毫秒左右,相比之前的10秒提升200~500倍。

從下面這張對比表,我們可以清楚的看到HBase方案的巨大優(yōu)勢。

對比屬性對象存儲MySQL+對象存儲HBase MOB
讀寫強一致YNY
查詢能力
查詢響應時間
運維成本
水平擴展YYY


現(xiàn)在,我們已經(jīng)將面板特征數(shù)據(jù)存儲在Cloudera HBase 之中,這個只是數(shù)據(jù)應用的第一步,如何將隱藏在這些數(shù)據(jù)背后的價值發(fā)揮出來?這就得借助于數(shù)據(jù)分析,在這個場景就需要采用機器學習的方法進行操作。我們可以借助大數(shù)據(jù)分析工具Spark 對存儲于 HBase 之中的數(shù)據(jù)進行分析,而且 Spark 本身支持機器學習的。最后,用戶就可以通過訪問 HBase 里面已經(jīng)挖掘好的特征數(shù)據(jù)進行其他的應用了。



聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關推薦

    緩存對大數(shù)據(jù)處理的影響分析

    緩存對大數(shù)據(jù)處理的影響顯著且重要,主要體現(xiàn)在以下幾個方面: 一、提高數(shù)據(jù)訪問速度 在大數(shù)據(jù)環(huán)境中,數(shù)據(jù)存儲通常采用分布式
    的頭像 發(fā)表于 12-18 09:45 ?244次閱讀

    西北工業(yè)大學OpenHarmony技術俱樂部正式揭牌成立

    11月15日,由OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)項目群技術指導委員會與西北工業(yè)大學共同舉辦的“西北工業(yè)大學OpenHarmony技術俱樂部成立大會”在
    的頭像 發(fā)表于 11-19 18:04 ?397次閱讀
    西北<b class='flag-5'>工業(yè)大</b>學OpenHarmony技術俱樂部正式揭牌成立

    raid 在大數(shù)據(jù)分析中的應用

    RAID(Redundant Array of Independent Disks,獨立磁盤冗余陣列)在大數(shù)據(jù)分析中的應用主要體現(xiàn)在提高存儲系統(tǒng)的性能、可靠性和容量上。以下是RAID在大數(shù)據(jù)分析中
    的頭像 發(fā)表于 11-12 09:44 ?313次閱讀

    智慧城市與大數(shù)據(jù)的關系

    的建設需要對海量的數(shù)據(jù)資源進行收集、整合、存儲與分析。大數(shù)據(jù)技術的應用,如智能感知、分布式存儲等,使得這些數(shù)據(jù)能夠被高效地處理和利用。 決策
    的頭像 發(fā)表于 10-24 15:27 ?844次閱讀

    云計算在大數(shù)據(jù)分析中的應用

    云計算在大數(shù)據(jù)分析中的應用廣泛且深入,它為用戶提供了存儲、計算、分析和預測的強大能力。以下是對云計算在大數(shù)據(jù)分析中應用的介紹: 一、存儲和處理海量數(shù)
    的頭像 發(fā)表于 10-24 09:18 ?602次閱讀

    基于Kepware的Hadoop大數(shù)據(jù)應用構建-提升數(shù)據(jù)價值利用效能

    處理超大數(shù)據(jù)集。 Hadoop的生態(tài)系統(tǒng)非常豐富,包括許多相關工具和技術,如Hive、Pig、HBase等,這些工具可以方便地構建復雜的大數(shù)據(jù)應用。Hadoop廣泛應用于各種場景,包括數(shù)據(jù)
    的頭像 發(fā)表于 10-08 15:12 ?192次閱讀
    基于Kepware的Hadoop<b class='flag-5'>大數(shù)據(jù)</b>應用構建-提升<b class='flag-5'>數(shù)據(jù)</b>價值利用效能

    工業(yè)數(shù)據(jù)中臺的功能和應用場景

    工業(yè)數(shù)據(jù)中臺是一個集數(shù)據(jù)采集、存儲、處理、分析和應用于一體的綜合性平臺,其主要功能和應用場景如下: 功能 1.數(shù)據(jù)采集與接入: 支持多種
    的頭像 發(fā)表于 07-04 16:18 ?459次閱讀

    大數(shù)據(jù)采集系統(tǒng)分為幾類

    大數(shù)據(jù)采集系統(tǒng)是大數(shù)據(jù)生態(tài)系統(tǒng)中的重要組成部分,它負責從各種數(shù)據(jù)源收集、整合和存儲數(shù)據(jù)。根據(jù)不同的數(shù)據(jù)
    的頭像 發(fā)表于 07-01 15:44 ?1718次閱讀

    工業(yè)大數(shù)據(jù)云平臺在設備預測性維護中的作用

    ,只有保證設備的安全穩(wěn)定運行才能保障生產(chǎn)的持續(xù),質量的可靠,提升企業(yè)產(chǎn)品競爭力。 因此,企業(yè)就需要加強對設備狀況的及時把握,并一定程度上實現(xiàn)工業(yè)設備預測性維護。為此,數(shù)之能提供的工業(yè)大數(shù)據(jù)云平臺可以全面接入
    的頭像 發(fā)表于 06-28 15:31 ?286次閱讀

    HBase集群數(shù)據(jù)在線遷移方案探索

    一、背景 訂單本地化系統(tǒng)目前一個月的訂單的讀寫已經(jīng)切至jimkv存儲,對應的HBase集群已下線。但存儲全量數(shù)據(jù)HBase集群仍在使用,計
    的頭像 發(fā)表于 06-12 11:54 ?1218次閱讀
    <b class='flag-5'>HBase</b>集群<b class='flag-5'>數(shù)據(jù)</b>在線遷移方案探索

    感謝湖北工業(yè)大學對我司高低溫試驗箱的認可

    近日,我們收到了來自湖北工業(yè)大學的一份重要認可函,這份函件是對我們公司研發(fā)的高低溫試驗箱的高度評價和肯定。在此,我們深感榮幸,并對湖北工業(yè)大學表示衷心的感謝。感謝湖北工業(yè)大學對我司高低溫試驗箱的認可
    的頭像 發(fā)表于 05-29 09:59 ?348次閱讀
    感謝湖北<b class='flag-5'>工業(yè)大</b>學對我司高低溫試驗箱的認可

    工業(yè)大模型的五個基本問題

    工業(yè)業(yè)大模型是大模型為賦能工業(yè)應用所產(chǎn)生的產(chǎn)業(yè)新形態(tài),是制造業(yè)數(shù)字化轉型3.0的重要載體,是一個新質體。
    發(fā)表于 04-23 16:04 ?784次閱讀
    <b class='flag-5'>工業(yè)大</b>模型的五個基本問題

    工業(yè)大數(shù)據(jù)發(fā)展面臨的問題

    工業(yè)大數(shù)據(jù)作為工業(yè)與數(shù)字經(jīng)濟之間的橋梁紐帶,對加快工業(yè)數(shù)字化轉型、推進數(shù)實融合,支撐新型工業(yè)化建設意義重大。
    的頭像 發(fā)表于 04-16 11:52 ?603次閱讀

    大數(shù)據(jù)時代的存儲革命:理解分布式存儲系統(tǒng)

    在如今的大數(shù)據(jù)時代,全球數(shù)據(jù)量正在以指數(shù)型增長。據(jù)國際數(shù)據(jù)公司(IDC)預測,到2025年,全球數(shù)據(jù)量將增至175 ZB。這種海量的數(shù)據(jù)
    的頭像 發(fā)表于 03-07 15:40 ?471次閱讀

    分布式存儲與計算:大數(shù)據(jù)時代的解決方案

    分布式存儲和計算技術應運而生,并迅速成為處理大數(shù)據(jù)的首選方案。本文將深入探討分布式存儲和計算的概念、優(yōu)勢及其在各個領域的應用情況。 1.分布式存儲和計算的概念與優(yōu)勢 分布式
    的頭像 發(fā)表于 03-07 14:42 ?863次閱讀
    威尼斯人娱乐城求助| 百家乐官网2万| 大家旺百家乐娱乐城| 蕉岭县| 网上百家乐内幕| 赌博百家乐官网作弊法| 跨国际百家乐的玩法技巧和规则 | 百家乐娱乐平台真钱游戏| 任你博百家乐官网现金网| 百家乐群| 伯爵百家乐官网的玩法技巧和规则 | 大发888 dafa888 gzsums| 旧金山百家乐官网的玩法技巧和规则 | 天猫百家乐官网娱乐城| 爱博彩论坛| 百家乐白菜价| 怎么玩百家乐官网网上赌博| 大发888娱乐场下载 zhldu| 坐乾向巽24山向择吉| 澳门百家乐官网赢钱| 百家乐手机壳| 澳门百家乐官网论坛及玩法| 送58百家乐的玩法技巧和规则| 百家乐官网桌布9人| 利博百家乐的玩法技巧和规则| 圣淘沙娱乐城真人赌博| 百家乐博彩通博彩网皇冠网澳门赌场真人赌博 | 大连娱网棋牌步步为赢| 百家乐看单技术| 百家乐官网群东方鸿运| 百家乐游戏| 24山 分金 水口 论 吉凶| 百家乐官网真人游戏网| 大发888官方免费下载| 信誉好百家乐平台| 百家乐官网赢钱秘籍鹰| 一二博| 华泰百家乐的玩法技巧和规则| 百家乐官网开闲的几率多大| 百家乐官网投注必胜法| 大发888娱乐城主页|