《電力大數(shù)據(jù)》引發(fā)技術(shù)變革的電力大數(shù)據(jù)
1)紅外圖像存儲模型。
HBase是一個分布式的、面向列的開源數(shù)據(jù)庫,該技術(shù)來源于Fay Chang所撰寫的論文“Bigtable:—個結(jié)構(gòu)化數(shù)據(jù)的分布式存儲系統(tǒng)”。就儀Bigtable利用了Google文件系統(tǒng)(File System)所提供的分布式數(shù)據(jù)存儲一樣,HBase在Hadoop之上提供了類似于Bigtable的能力。HBase是Apache的Hadoop項目的子項目。HBase不同于一般的關(guān)系數(shù)據(jù)庫,它是一個適合于非結(jié)構(gòu)化數(shù)據(jù)存儲的數(shù)據(jù)庫。另一個不同是HBase是基于列的而不是基于行的模式。
HBase是采用KeyValue的列存儲,Rowkey是KeyValue的Key,表示唯一一行。Rowkey是一段二進(jìn)制碼流,最大值為64KB,內(nèi)客由用戶自定義。數(shù)據(jù)的加載數(shù)據(jù)Rowkey的二進(jìn)制序由小到大進(jìn)行排序。HBase根據(jù)數(shù)據(jù)的規(guī)模將數(shù)據(jù)自動分切到多個Region的多個HFile中。
圖3-18HBase物理存儲架構(gòu)
另外與傳統(tǒng)的面向列的關(guān)系型數(shù)據(jù)庫為基本單元不同,HBase的基本存儲單元為列簇(columnfamily)。HBase數(shù)據(jù)邏輯上由行和列組成二維矩陣存儲。其中由HBase的列簇、列組成了二維矩陣中的一維,由Rowkey組成了另一維,每一個非空的行列節(jié)點稱為一個Cell,Cell是HRase最小的邏輯存儲單元
圖3-19 HBase邏輯存儲架構(gòu)
2)存儲模型中Columnkey設(shè)計。
近似內(nèi)聚原則:由于HBase是一個面向列簇的存儲器,相同的列簇存儲在同一個HRegion中,并交由對應(yīng)的HRegionServer來管理。HBase從同一個HRegion獲取數(shù)據(jù)的效率遠(yuǎn)高于從不同的HRegion中獲取數(shù)據(jù)。目前使用中HBase的調(diào)優(yōu)和存儲都是在列簇這個層次上進(jìn)行的,最好使列簇成員都有相同的訪問模式(access pattern)和大小特征。
減少列簇原則:在一張表里不要定義太多的列簇。目前HBase并不能很好地處理超過3個列簇的表。因為某個列簇在flush的時候:它鄰近的列簇也會因關(guān)聯(lián)效應(yīng)被觸發(fā)flush,最終導(dǎo)致系統(tǒng)產(chǎn)生更多的I/O。
根據(jù)上述兩個原則,結(jié)合紅外圖像診斷的實際業(yè)務(wù),本數(shù)據(jù)存儲模型分為3個列簇。
圖3-20三個列簇
☆基本信息簇(f_info):存儲圖像對應(yīng)設(shè)備名稱、類型、所屬廠站、上傳時間、拍攝時間以及拍攝設(shè)備類型等基本信息。
圖3-21圖像基本信息簇
其中“processed”列為標(biāo)識圖像是否被預(yù)處理的標(biāo)識位。
☆圖像信息簇(f_img):以字節(jié)流形式存儲圖像全部信息。
圖3-22圖像信息簇
☆溫度信息簇(f_temp):存儲圖像預(yù)處理后的各部位溫度分析結(jié)果信息。
圖3-23溫度信息簇
每一列以Key-Value形式存儲著圖像中一個關(guān)系區(qū)域的溫度分結(jié)果,其中Key為區(qū)域Id,Value存儲著對應(yīng)區(qū)域的最高溫、最低溫以及平均溫度并以“,”分隔開。
3)存儲模型中RowKey設(shè)計。
唯一原則:Rowkey作為一張圖片的索引,唯一性是最基本的原則。不同于關(guān)系型數(shù)據(jù)庫HBase中不支持對于關(guān)聯(lián)關(guān)系的維護(hù),在Rowkey的設(shè)計中一般不會采用無業(yè)務(wù)意義的流水ID、UUID等主鍵方式。HBase中Rowkey的設(shè)計往往需要結(jié)合業(yè)務(wù)需求,將多個有實時意義的屬性拼接而成。結(jié)合紅外圖像診斷的實際業(yè)務(wù),可以將設(shè)備名稱、設(shè)備類型、設(shè)備所屬站以及拍攝時間這幾個屬性拼接。
長度原則:Rowkey是一個二進(jìn)制碼流,理論上HBase支持最大的Rowkey為64KB,但原則上Rowkey的長度越短越好。原因一:數(shù)據(jù)的持久化文件HFile中是按照Keyvalue存儲的,如果Rowkey過長比如100個字節(jié),3600萬列數(shù)據(jù)光Rowkey就要占用100x3600萬=36億個字節(jié),超過33G數(shù)據(jù),這會極大影響HFile的存儲效率;原因二:MemStore將緩存部分?jǐn)?shù)據(jù)到內(nèi)存,如果Rowkey字段過長,內(nèi)存的有效利用率會降低,系統(tǒng)將無法緩存更多的數(shù)據(jù),這會降低檢索效率。目前操作系統(tǒng)是都是64位系統(tǒng),內(nèi)存8字節(jié)對齊,在設(shè)計主鍵時應(yīng)盡量使得Rowkey的長度為8的整數(shù)倍。
為了盡量減少Rowkey的長度,Rowkey一般不采用漢字,而采用數(shù)值型編碼格式。結(jié)合電力系統(tǒng)的實時情況,一個地市廠站ID設(shè)為000?999之間,設(shè)備類型在00~99之間,某一廠站下某一類型的設(shè)備ID設(shè)置在00~99之間。
離散原則:HBase的基本存儲單元是HRegion,每個HRegion由相對的HRegionServer特定處理。HBase中的記錄根據(jù)Rowkey序存儲在不同的HRegion中,Rowkey越相近的記錄存儲在相同HRegion上的概率越大。如果一次查詢中大部分?jǐn)?shù)據(jù)集中在某個HRegion上會造成HRegionServer之間的負(fù)荷均衡問題,導(dǎo)致個別HRegionServer過熱,降低查詢效率。
結(jié)合到紅外圖像診斷系統(tǒng)中圖像的拍攝時間(格式為yyMMddhhmm)最不適合作為Rowkey的高位。其他格式的時間例“mmhhyyMMdd”等雖然滿足了離散原則,但由于查詢的結(jié)果集根據(jù)Rowkey降序排列的,選用如此格式的時間將造成結(jié)果集的混亂,增加后序計算的難度。采用廠站ID作為Rowkey的高位面臨同樣的問題,將造成同一廠站內(nèi)的圖像存儲在同一HRegion的概率增加。比較而言,設(shè)備ID以及設(shè)備類型ID作為Rowkey的高位比較合適。實際應(yīng)用中,根據(jù)設(shè)備類型排序更有意義。
綜上所述,本數(shù)據(jù)模型最終選擇的Rowkey格式為:設(shè)備類型ID+“-”+廠站ID+“-”+拍攝時間+“-”+設(shè)備ID。為了便于檢索,各類屬性之間用“-”分隔開。
4)Rowkey的查詢設(shè)計。
HBase的查詢實現(xiàn)只提供兩種方式:
A、按指定Rowkey獲取唯一一條記錄,get方法。
B、按指定的條件獲取一批記錄,scan方法。
對于第一種方法一次獲取唯一一條記錄,查詢效率極高,但局限性也很大,需要知道詳細(xì)的Rowkey值。此方法沒有過多的優(yōu)化空間。實現(xiàn)條件查詢功能使用的就是scan方式,scan在使用時有以下幾點值得注意:
A、scan可以通過setCatch與setBatch方法提高速度(以空間換時間)。
B、scan可以通過setStartROW與setEndROW方法來限定范圍。范圍越小,性能越高。
C、scan可以通過設(shè)計一個或者一組過濾器“Filter”對結(jié)果集進(jìn)行過濾。
對于已知RowKey高位屬性,可以通過簡單地設(shè)置StartRow與EndRow以及添加過濾器的形式來實現(xiàn)高效査詢。例如查詢廠站ID為012,在2014年06月01號到2014年09月30號內(nèi)所有開關(guān)(02)的紅外圖像,其對應(yīng)的參數(shù)設(shè)置為
startRow=02-012-1406010000-00
endRow=02-012-l409302359-99
而對于Rowkey高位不確定的情況,則稍稍麻煩一點。例如查詢一個廠站(012)在2014年06月01號到2014年09月30號內(nèi)所有設(shè)備的紅外圖像,其對應(yīng)的參數(shù)設(shè)置為
startRow=00-012-1406010000-00
endRow=99-012-1409302359-99
然后再設(shè)置一個正則表達(dá)式過濾器(RegexStringComparator),過濾掉不符合條件的數(shù)據(jù)。對應(yīng)的正則表達(dá)式為
regStr=“\\w-\\012-140[6-9][0-l][l-9][0-2][0-9][0-5][0-9]-\\w”
5)基于HBase的圖像數(shù)據(jù)模型優(yōu)點。
基于HBase的圖像模型存儲,克服了傳統(tǒng)關(guān)系型數(shù)據(jù)庫+文件管理系統(tǒng)在安全性、擴(kuò)展性以及一致性等方面缺點,也克服了基于HDFS小文件存儲效率不高的缺點。本模型很好地實現(xiàn)了圖像基本信息、圖像信息、圖像處理結(jié)果信息的一體化存儲,并且利用HBase列存儲的特性可實現(xiàn)了更多的業(yè)務(wù)擴(kuò)展。
本存儲模型結(jié)合實際業(yè)務(wù)需求,實現(xiàn)了對圖像相關(guān)信息按拍攝時間、設(shè)備所屬廠站、設(shè)備類型以及設(shè)備名稱的快速模糊檢索功能,為基于大數(shù)據(jù)的紅外圖像的分析與診斷提供了技術(shù)支撐。
書名:電力大數(shù)據(jù):能源互聯(lián)網(wǎng)時代的電力企業(yè)轉(zhuǎn)型與價值創(chuàng)造
ISBN:978-7-111-51693-4
作者:賴征田
出版日期:2016-01
出版社:機(jī)械工業(yè)出版社

責(zé)任編輯:繼電保護(hù)
- 相關(guān)閱讀
- 泛在電力物聯(lián)網(wǎng)
- 電動汽車
- 儲能技術(shù)
- 智能電網(wǎng)
- 電力通信
- 電力軟件
- 高壓技術(shù)
-
權(quán)威發(fā)布 | 新能源汽車產(chǎn)業(yè)頂層設(shè)計落地:鼓勵“光儲充放”,有序推進(jìn)氫燃料供給體系建設(shè)
2020-11-03新能源,汽車,產(chǎn)業(yè),設(shè)計 -
中國自主研制的“人造太陽”重力支撐設(shè)備正式啟運(yùn)
2020-09-14核聚變,ITER,核電 -
探索 | 既耗能又可供能的數(shù)據(jù)中心 打造融合型綜合能源系統(tǒng)
2020-06-16綜合能源服務(wù),新能源消納,能源互聯(lián)網(wǎng)
-
新基建助推 數(shù)據(jù)中心建設(shè)將迎爆發(fā)期
2020-06-16數(shù)據(jù)中心,能源互聯(lián)網(wǎng),電力新基建 -
泛在電力物聯(lián)網(wǎng)建設(shè)下看電網(wǎng)企業(yè)數(shù)據(jù)變現(xiàn)之路
2019-11-12泛在電力物聯(lián)網(wǎng) -
泛在電力物聯(lián)網(wǎng)建設(shè)典型實踐案例
2019-10-15泛在電力物聯(lián)網(wǎng)案例
-
新基建之充電樁“火”了 想進(jìn)這個行業(yè)要“心里有底”
2020-06-16充電樁,充電基礎(chǔ)設(shè)施,電力新基建 -
燃料電池汽車駛?cè)雽こ0傩占疫€要多久?
-
備戰(zhàn)全面電動化 多部委及央企“定調(diào)”充電樁配套節(jié)奏
-
權(quán)威發(fā)布 | 新能源汽車產(chǎn)業(yè)頂層設(shè)計落地:鼓勵“光儲充放”,有序推進(jìn)氫燃料供給體系建設(shè)
2020-11-03新能源,汽車,產(chǎn)業(yè),設(shè)計 -
中國自主研制的“人造太陽”重力支撐設(shè)備正式啟運(yùn)
2020-09-14核聚變,ITER,核電 -
能源革命和電改政策紅利將長期助力儲能行業(yè)發(fā)展
-
探索 | 既耗能又可供能的數(shù)據(jù)中心 打造融合型綜合能源系統(tǒng)
2020-06-16綜合能源服務(wù),新能源消納,能源互聯(lián)網(wǎng) -
5G新基建助力智能電網(wǎng)發(fā)展
2020-06-125G,智能電網(wǎng),配電網(wǎng) -
從智能電網(wǎng)到智能城市