国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于HBase分布式數(shù)據(jù)庫海量數(shù)據(jù)序列存儲(chǔ)優(yōu)化

2020-03-11 18:58鄧杰銘王榆心張柯匯王彥青賓茂梨
科學(xué)與財(cái)富 2020年34期

鄧杰銘 王榆心 張柯匯 王彥青 賓茂梨

摘 要:針對海量數(shù)據(jù)分布式序列數(shù)據(jù)量大、增長速度快、序列重復(fù)性高等特點(diǎn),結(jié)合HBase分布式數(shù)據(jù)庫的相關(guān)理論和技術(shù)提出并實(shí)現(xiàn)了一套基于HBase的海量數(shù)據(jù)分布式序列存儲(chǔ)方案。該方案設(shè)計(jì)了基于分布式數(shù)據(jù)分類碼的預(yù)分區(qū)和行鍵優(yōu)化策略,解決了服務(wù)器的均衡負(fù)載問題。通過構(gòu)造文件索引替代二進(jìn)制碼序列實(shí)現(xiàn)了數(shù)據(jù)的高效存取。利用HBase協(xié)處理器實(shí)現(xiàn)了分布式序列記錄單次提交多表插入的功能,提升了分布式多格式存儲(chǔ)的效率。實(shí)驗(yàn)表明,通過上述方案設(shè)計(jì)的分布式序列存儲(chǔ)系統(tǒng)具有良好的存儲(chǔ)能力和擴(kuò)展性。

關(guān)鍵詞:HBase;分布式序列;分類碼;文件索引;協(xié)處理器

0 引言

在海量數(shù)據(jù)存儲(chǔ)方案中,以hadoop[1]分布式文件系統(tǒng)hdfs為基礎(chǔ)的HBase數(shù)據(jù)庫經(jīng)過不斷的發(fā)展完善得到了更加廣泛的應(yīng)用,特別以Facebook Message 系統(tǒng)對HBase 的應(yīng)用為世界知名。HBase 本身作為谷歌公司Bigtable的開源實(shí)現(xiàn),除了具有分布式、版本化、可擴(kuò)展性的特征外,它與分布式計(jì)算框架如mapreduce? 和spa-rk 等具有良好的結(jié)合性,這對于大數(shù)據(jù)量的科研工作非常便捷。本文以海量數(shù)據(jù)存儲(chǔ)方式作為研究對象,結(jié)合當(dāng)前分布式序列文件存儲(chǔ)格式的特點(diǎn),設(shè)計(jì)了基于HBase的分布式序列存儲(chǔ)系統(tǒng),利用基于數(shù)據(jù)分類碼的預(yù)分區(qū)行鍵設(shè)計(jì)策略和協(xié)處理器機(jī)制對該系統(tǒng)進(jìn)行優(yōu)化,并通過實(shí)驗(yàn)驗(yàn)證該系統(tǒng)的可行性。

1 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

1.1 數(shù)據(jù)表設(shè)計(jì)

對HBase表進(jìn)行設(shè)計(jì)時(shí),列族數(shù)量不宜過多,因?yàn)镠Base 表的列族對應(yīng)于 HBase 物理存儲(chǔ)結(jié)構(gòu) Store,當(dāng)Store中的memstore達(dá)到flushing閥值時(shí)會(huì)觸發(fā)所有列族的flushing操作,所以列族數(shù)量盡量控制在1到2個(gè)。根據(jù) HBase 表設(shè)計(jì)相關(guān)原則,對GBFF格式和FASTA格式應(yīng)分別建表,兩表都只設(shè)置一個(gè)列族Column Family,在設(shè)計(jì)相應(yīng)列名Column Qua-lifier時(shí),特別針對GBFF格式文件第二部分特性FEA-TURES中包含多個(gè)子屬性的結(jié)構(gòu),列名需將FEATURES作為前綴與子屬性結(jié)合,如“FEATURES_source”這種形式,這樣可以滿足表中只存在一個(gè)列族的設(shè)計(jì)要求。

1.2 針對序列數(shù)據(jù)的預(yù)分區(qū)和行健優(yōu)化策略

行鍵Rowkey 是HBase 數(shù)據(jù)表的主鍵,Rowkey[2] 的唯一性標(biāo)示行記錄的唯一性。由于HBase數(shù)據(jù)庫只維護(hù)了主鍵Rowkey的索引,所以對Rowkey的設(shè)計(jì)直接影響數(shù)據(jù)的查詢和整個(gè)集群的region分配,本系統(tǒng)設(shè)計(jì)方案中選取分布式序列記錄檢索號(ACCESSION)作為行鍵Rowkey的主要組成部分。在HBase中以檢索號AC-CESSION作為行鍵Rowkey,由于Rowkey的排序默認(rèn)字典序升序,雖然對于scan操作效率很高,但是同樣易造成之前所述的局部熱點(diǎn)問題? ,因此對于每一條分布式序列記錄,提出一種結(jié)合預(yù)分區(qū)機(jī)制的行鍵生成策略。

(1) 設(shè)預(yù)分區(qū)Region數(shù)為N,當(dāng)前分布式序列所屬分類碼Division[3]下的分布式序列數(shù)據(jù)量占比為A i ,由此可得該分類碼所需的region數(shù)D i =N·A i ;

(2) 當(dāng)前分布式序列檢索號ACCESSION中的整數(shù)部分對D i 取模得到值S,將分類碼與整數(shù)值S拼接得到字符串prefix。

(3) 對字符串prefix 做MD5哈希生成16位字符串prefixMD5,將字符串 prefixMD5 前 7 位與檢索號 AC-CESSION拼接為16位Rowkey。

上述操作完成后即生成所需行鍵Rowkey,例如檢索號為AB000100的分布式序列,其所屬分類碼為BCT,取模值為1,對應(yīng)的Rowkey為“74378dc_ AB000100”。

1.3 協(xié)處理器優(yōu)化

本文利用HBase協(xié)處理器Coprocessor實(shí)現(xiàn)單次提交多表插入的功能來解決上述問題。HBase提供了一套完整的Coprocessor[4]開發(fā)接口,采用java語言封裝,主要有三種可供實(shí)現(xiàn)的協(xié)處理器:Co-processor、RegionObserver 和 Endpoint。RegionObse-rver給出了HBase表相關(guān)操作的鉤子函數(shù)。

2實(shí)驗(yàn)結(jié)果與分析

查詢性能比較基于4臺服務(wù)器共200個(gè)并發(fā)線程的環(huán)境下進(jìn)行,從表中可以看出在大數(shù)據(jù)量查詢時(shí),優(yōu)化方案性能優(yōu)勢非常明顯.

3 結(jié)束語

本文針對海量數(shù)據(jù)分布式序列多年來快速增長導(dǎo)致的存儲(chǔ)維護(hù)問題,以海量數(shù)據(jù)分布式序列為研究對象,對分布式序列數(shù)據(jù)的組成結(jié)構(gòu)和當(dāng)前主流的 GBFF 和FASTA序列文件存儲(chǔ)格式進(jìn)行研究分析,結(jié)合HBase數(shù)據(jù)庫的存儲(chǔ)模型和HBase分布式存儲(chǔ)的相關(guān)特性,對分布式序列在HBase數(shù)據(jù)庫中的存儲(chǔ)進(jìn)行多維度的優(yōu)化。實(shí)驗(yàn)結(jié)果表明經(jīng)過優(yōu)化設(shè)計(jì)的分布式序列存儲(chǔ)方案具有更好的存儲(chǔ)和查詢掃描性能,同時(shí)該方案可以把分布式序列數(shù)據(jù)與基于hadoop的大數(shù)據(jù)分析工具良好地耦合,使分布式序列的研究分析更加便捷,滿足了當(dāng)前云計(jì)算環(huán)境下對分布式序列數(shù)據(jù)高效存取的需求。未來的研究工作主要針對分布式序列數(shù)據(jù)的壓縮優(yōu)化和索引優(yōu)化以及對序列數(shù)據(jù)的版本控制。

參考文獻(xiàn):

[1] 王銘,田茂,趙鑫,等.基于Hadoop平臺的數(shù)據(jù)遷移方法研究實(shí)現(xiàn)[J].計(jì)算機(jī)測量與控制,2018,26(4):225-230.

[2] 鄭通,郭衛(wèi)斌,范貴生.HDFS中海量小文件合并與預(yù)取優(yōu)化方法的研究[J].計(jì)算機(jī)科學(xué),2017,44(S2):516-519,541.

[3] 樊路遙,張晶,陳小龍,等.開源大數(shù)據(jù)框架在海洋信息處理中的應(yīng)用[J].科技導(dǎo)報(bào),2017,35(20):126-133.

[4] 周華平,劉光宗,張貝貝.基于索引偏移的MapReduce聚類負(fù)載均衡策略[J].計(jì)算機(jī)科學(xué),2018,45(5):303-309.

[5] 丁祥武,解書亮,李繼云.基于Spark的并行ETL[J].計(jì)算機(jī)工程與設(shè)計(jì),2017,38(9):2580-2585.

(重慶郵電大學(xué) 工業(yè)物聯(lián)網(wǎng)與網(wǎng)絡(luò)化控制教育部重點(diǎn)實(shí)驗(yàn)室 重慶 400065)

玛曲县| 弥勒县| 富锦市| 宁国市| 龙南县| 台安县| 罗甸县| 保定市| 淅川县| 波密县| 克东县| 壤塘县| 建阳市| 武山县| 永年县| 新乡市| 邵东县| 嘉禾县| 长垣县| 嘉祥县| 兰考县| 宁国市| 枣庄市| 珲春市| 长阳| 忻城县| 安达市| 西吉县| 巨野县| 霍州市| 汽车| 新田县| 锡林郭勒盟| 浮梁县| 嘉峪关市| 南京市| 大埔县| 涟源市| 邵阳县| 全南县| 闽清县|