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