999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Elasticsearch的HBase海量數據二級索引方案

2020-03-30 03:19:04郭雪峰
電腦知識與技術 2020年1期

郭雪峰

摘要:針對HBase不提供二級索引、自帶Coprocessor(協作器)不穩定及海量數據檢索速度較慢等問題,設計了一種新的基于Elasticsearch的HBase二級索引方案ELHBase(ElasticsearchIndexing HBase)。該方案借助Flume、Kafka、HBase及Elastic-search搭建了一套數據采集、高速解析和錄入大數據處理框架,使用Flume自定義Sink采集數據同時生成相應ID存入到Kafka,通過解析技術分別把數據存儲到HBase,相應ID作為索引存儲到ElasticSearch。該方案在不利用Coprocessor的基礎上增加了直接查詢ElasticSearch的接口,利用ElasticSearch提供的高效、靈活、多樣的檢索功能實現對HBase海量數據的快速檢索,協同解決了HBase數據索引性能不高、協作器不穩定、ElasticSearch不適合大量數據存儲等問題。最后,分別與SI-HBase、hindex進行了二級索引性能對比實驗,證明了該方案在寫入性能上較SIHBase更快、更穩定,查詢速度上要遠快于hindex。

關鍵詞:海量數據;二級索引;ELHBase;自定義Sink;快速檢索

中圖分類號:TP31 文獻標識碼:A

文章編號:1009-3044(2020)01-0005-03

隨著社會的發展和科技的進步,網絡已成為人們分享和獲取信息的通用工具,伴隨著網絡流量數據的不斷交互,各類應用系統產生的日志數據越來越多,大數據時代到來。大數據被百度百科定義為:大數據是指無法用傳統軟件工具進行捕捉、處理及管理的海量數據集合,其含義是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的信息資產。而如何安全保證海量日志數據能被快速存儲、查詢及可擴展性是當前研究的熱點和難點。

隨互聯通信技術不斷改良和升級,大數據技術可以大致概括為四部分內容:數據采集、數據處理、數據存儲和數據查詢,每部分內容包括不同的組件去實現各自的功能。傳統的關系數據庫是采用二維表格數據模型不能夠有效地處理多維數據,不能有效處理互聯網應用中半結構化和非結構化的海量數據,且支撐容量非常有限,在其達到一定規模時,很容易發生死鎖等并發問題,導致其讀寫性能下降嚴重。因此,HBase數據庫在大數據領域的應用應運而生。

Hbase是一個面向列存儲的分布式存儲系統,不同于傳統數據庫,它的優點在于可以實現高性能的并發讀寫操作,同時Hbase還會自動對數據進行透明的切分,這樣就使得存儲本身具有了水平伸縮性。同樣HBase也存在缺點嗍,它不能支持條件查詢,只支持按照rowkey來查詢,暫時不能支持Master server的故障切換,當Master宕機后,整個存儲系統就會掛掉。

為解決快速檢索的功能,張榆等為了解決在海量空間文本中快速檢索的問題,在HBase的基礎上設計了一種空間文本索引方案SK-HBase,該方案自建索引以達到快速檢索HBase中的空間文本數據。Cheng Pengsen等針對存儲空間不足問題,在HBase的基礎上構建倒排索引表,并在此基礎上進一步建立壓縮和解壓算法。卓海藝針對HBase查詢速度慢問題,利用HBase自帶的協作器開發出索引自動生成組件及更新組件,同時參考1THBase方案構造和維護二級索引表。華為公司設計了二級索引方案hin-dexN,該方案實現了針對不同的數據表使用HBase自帶協作器建立索引,它提供了一種自動生成索引的方法,當進行數據操作時會自動實現索引的維護,具有便捷化的索引管理功能。王文賢等針對華為hindex方案難以滿足海量數據高速檢索問題,設計了基于Solr的HBase二級索引方案SIHBase(SolrIndexing HBase)。該方法使用HBase的協作器實現在Solr中自動為HBase建立和維護二級索引,提高了數據檢索速度,但co-processor不穩定問題仍在。HBase官方和開源社區對其二級索引問題,仍在不斷地探索中。

針對HBase不提供二級索引、自帶Coprocessor(協作器)不穩定及海量數據檢索速度較慢等問題,文章設計了基于Elastic-search的HBase二級索引方案ELHBase(Elasticsearch IndexingHBasel。該方案利用Flume、Kafka、HBase及Elasticsearch搭建了一套數據采集、高速解析和錄入大數據處理框架,該方案在不利用Coprocessor的基礎上增加了直接查詢ElasticSearch的接口,利用ElasticSearch提供的高效、靈活、多樣的檢索功能實現對HBase海量數據的快速檢索,協同解決了HBase數據索引性能不高、Coprocessor不穩定、ElasticSearch不適合大量數據存儲等問題。

1二級索引方案設計

首先,對HBase二級索引方案的基本原理進行簡單介紹,然后,分析了華為針對該問題提出的hindex二級索引方案與針對檢索速度問題提出的基于Solr的HBase二級索引方案SIH-Base,前者雖然解決了HBase在檢索非主鍵字段時遇到的問題,但難以滿足對檢索的快速響應,后者雖然提升了檢索速度,但協作器存在不穩定問題。最后,本文為解決以上問題提出了基于Elasticsearch的HBase二級索引方案ELHBase(Elastic-search Indexing HBase)。

1.1設計原理

由于HBase里面只有rowkey作為一級索引,因此如果要對數據庫里的非mwkey字段進行數據檢索和查詢,往往要通過MapReduce/Spark等分布式計算框架進行,硬件資源消耗和時間延遲都會比較高。

為了HBase的數據查詢更高效、適應更多的場景,諸如使用非rowkey字段檢索也能做到秒級響應,或者支持各個字段進行模糊查詢和多字段組合查詢等,因此需要在HBase上面構建二級索引,以滿足現實中更復雜多變的業務需求。二級索引是對于目標記錄的某個或某些列而設立的“鍵一值”數據結構,以列的值為鍵,以記錄的rowkey為值,假如按照這些列進行查詢時,就可以檢索出對應的“鍵一值”進而達到快速檢索記錄的目的。

1.2 hindex方案介紹

hindex架構在ClientExt中設定索引細節,在Balancer中收集信息,在Coprocessor中管理二級索引數據。hindex二級索引方案的框架如圖1所示。

在創建表的時候,在同一個region server上創建索引表,且一一對應。在主表中插入某條數據后,用Coprocessor將索引列寫到索引表中去,當一個查詢到來的時候,通過Coprocessor鉤子,先從索引表中查詢范圍rowkey,然后再從主表相關rowkey中掃描獲取最終數據。

1.3SIHBase方案介紹

本方案從HBase的客戶端考慮,加入了具有高速檢索能力的Solr,按照數據與索引分開存儲的思想,實現海量數據的高速檢索功能。其整體架構如下圖2所示。

Client Ext客戶端主要針對Solr中的索引查詢功能進行了擴展。當表中數據出現增、刪、改的情況下,通過Solr IndexingCopmcessor可以實時更新Solr中的索引,并且當出現宕機和修復數據時能使得Solr索引數據和HBase表中數據保持一致。Solr主要存放和管理索引數據,利用Solr可以達到高效檢索的目的。

但當實時建立索引時,Solr會產生io阻塞,查詢性能較差,伴隨著數據量的不斷增加,Solr的搜索效率會變得更低,而Elasticsearch卻無明顯變化,完全支持Apache Lucene的接近實時的搜索。

1.4基于Elastiesearch的HBase二級索引方案ELHBase

本文不同于以往的思路,利用Flume、Kafka、HBase及Elas-ticsearch搭建了一套數據采集、高速解析和錄入大數據處理框架,其整體架構如圖3所示。

本方案利用Flume采集數據,通過自定義sink的方式,在獲取消息的同時生成相應ID一塊存入到Kafka的Topic中,其中ID部分是由英文字母和數字隨機生成,共有31個字符。然后通過自定義sink解析Topic中的數據分別把消息存儲到HBase,相應ID作為索引(rowkey)存儲到ElasticSearch,保證數據與索引的一致性。ElasticSearch索引速度快,擴展方便,性能優異,但在功能上不適合作為數據庫使用,因此本方案ElasticSearch中只存放ID。用戶可以通過ElasticSearch進行多條件的復雜查詢,獲取到滿足條件的rowkey集合后,進而在HBase中以row-key快速查詢獲取數據。

該方案在不利用Coprocessor的基礎上增加了直接查詢ElasticSearch的接口,利用ElasticSearch提供的高效、靈活、多樣的檢索功能實現對HBase海量數據的快速檢索,協同解決了HBase數據索引性能不高、協作器不穩定、ElasticSearch不適合大量數據存儲等問題。

2EIHBase二級索引性能分析

本章針對EIHBase方案的性能進行了對比分析,共使用三臺物理服務器進行測試,三臺服務器的操作系統為CentOS 6,7,CPU為Intel(R)Xeon(R)E5-2630 v3@2.4GHz(32核),內存為32GB。

集群中節點信息為:一臺作為master節點,兩臺作為slave節點。軟件版本信息見下表1。

測試中使用的測試數據是利用shell腳本生成的由英文字母與阿拉伯數字組成的66位字符串,共計10億條記錄。本方案分別與二級索引方案hindex以及SIHBase方案進行數據寫入性能和數據檢索性能對比實驗。測試結果如下表2所示:

如上表2所示是三個二級索引方案的檢索性能對比實驗結果,由此可知,在海量數據查詢中,本文提出的EIHBase方案較華為提出的hindex方案在查詢速度方面具有明顯優勢,在寫入性能上較SIHBase更快、更穩定。因此,本方案能夠基本滿足對HBase快速檢索的需求。

3結束語

本文詳細分析了華為針對該問題提出的hindex二級索引方案與針對檢索速度問題提出的基于Solr的HBase二級索引方案SIHBase,但這些技術本身各有優缺點,且目前對于HBase的二級索引和全文檢索問題的研究仍未明確統一,只能夠滿足部分場景需求。因此,針對上述問題提出一種新的基于Elastic-search的HBase二級索引方案ELHBase,并進行了性能分析,證明了該方案的可行性。

主站蜘蛛池模板: 国产成人一区在线播放| 欧美午夜在线观看| 欧美日本在线播放| 亚洲国产欧洲精品路线久久| 欧美国产视频| 国产香蕉在线视频| 啪啪免费视频一区二区| 国产综合日韩另类一区二区| 国产乱子伦无码精品小说| 精品成人一区二区| 欧美成在线视频| www.精品国产| 激情无码字幕综合| 亚洲大学生视频在线播放| 天堂在线视频精品| 欧美特级AAAAAA视频免费观看| 久久影院一区二区h| yjizz视频最新网站在线| 国产人免费人成免费视频| 午夜a级毛片| 婷婷六月综合网| 在线看片国产| 亚洲综合天堂网| 在线观看亚洲人成网站| 精品亚洲麻豆1区2区3区| 久久99国产综合精品1| 国产在线精彩视频二区| 99热这里只有精品2| 啪啪啪亚洲无码| 在线无码九区| 亚洲女人在线| 五月天香蕉视频国产亚| 亚洲三级电影在线播放 | 五月激情婷婷综合| 青青操视频在线| 日日噜噜夜夜狠狠视频| 日本人妻丰满熟妇区| 91蝌蚪视频在线观看| 97视频在线精品国自产拍| 欧美成人在线免费| 午夜一区二区三区| 亚洲二三区| 久久久久青草线综合超碰| 91在线播放国产| 中文字幕资源站| 日韩不卡高清视频| 久久99精品久久久久纯品| 欧美中文字幕无线码视频| 中文字幕在线日本| 国产精品免费入口视频| 国产欧美网站| 国产一区二区三区日韩精品| 无码久看视频| 亚洲性日韩精品一区二区| 国产99在线| 精品成人一区二区三区电影 | 亚洲天堂2014| 好久久免费视频高清| 干中文字幕| 亚洲综合狠狠| 狠狠ⅴ日韩v欧美v天堂| 亚洲Av激情网五月天| 欧美精品影院| 亚洲av无码久久无遮挡| 国产欧美视频综合二区| 免费可以看的无遮挡av无码 | 亚洲欧美极品| 波多野结衣一区二区三区四区视频| 就去吻亚洲精品国产欧美| 伊在人亚洲香蕉精品播放| 国产精品毛片一区| jizz国产视频| 成人一区在线| 思思热在线视频精品| 在线观看91精品国产剧情免费| 国产精品污污在线观看网站| 亚洲一级无毛片无码在线免费视频| 性欧美在线| 午夜福利无码一区二区| 精品91在线| 91美女视频在线| 91 九色视频丝袜|