• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2021-03-08 10:14鄧杰銘王榆心張柯匯王彥青賓茂梨
      科學(xué)與財富 2021年4期

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

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

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

      0 引言

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

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

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

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

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

      行鍵Rowkey 是HBase 數(shù)據(jù)表的主鍵,Rowkey[2] 的唯一性標(biāo)示行記錄的唯一性。由于HBase數(shù)據(jù)庫只維護(hù)了主鍵Rowkey的索引,所以對Rowkey的設(shè)計直接影響數(shù)據(jù)的查詢和整個集群的region分配,本系統(tǒng)設(shè)計方案中選取分布式序列記錄檢索號(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實現(xiàn)單次提交多表插入的功能來解決上述問題。HBase提供了一套完整的Coprocessor[4]開發(fā)接口,采用java語言封裝,主要有三種可供實現(xiàn)的協(xié)處理器:Co-processor、RegionObserver 和 Endpoint。RegionObse-rver給出了HBase表相關(guān)操作的鉤子函數(shù)。

      2實驗結(jié)果與分析

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

      3 結(jié)束語

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

      參考文獻(xiàn):

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

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

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

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

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

      京山县| 河西区| 巴彦淖尔市| 东山县| 东城区| 高唐县| 云林县| 丹棱县| 涞水县| 黄冈市| 武胜县| 康保县| 大渡口区| 西宁市| 富蕴县| 佳木斯市| 寻乌县| 鲁山县| 衡阳县| 全州县| 岳池县| 定陶县| 周宁县| 襄樊市| 通城县| 盐边县| 济宁市| 井冈山市| 如皋市| 灯塔市| 万全县| 万山特区| 永吉县| 哈密市| 黑水县| 扶沟县| 萝北县| 宁强县| 毕节市| 康马县| 怀远县|