在线观看国产区-在线观看国产欧美-在线观看国产免费高清不卡-在线观看国产久青草-久久国产精品久久久久久-久久国产精品久久久

美章網(wǎng) 資料文庫 基于HBase的時態(tài)信息索引策略范文

基于HBase的時態(tài)信息索引策略范文

本站小編為你精心準備了基于HBase的時態(tài)信息索引策略參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。

基于HBase的時態(tài)信息索引策略

《廣東工業(yè)大學(xué)學(xué)報》2014年第二期

1時態(tài)信息在HBase的存儲模型

Hadoop是一個開源的云計算框架,向用戶提供系統(tǒng)底層細節(jié)透明的分布式基礎(chǔ)架構(gòu).Hadoop生態(tài)系統(tǒng)中的Commom、Avro、Chukwa、Hive、HBase等子項目提供了互補性服務(wù)或是核心層上提供了更高級的服務(wù).HBase適于存儲松散型的非結(jié)構(gòu)化數(shù)據(jù),即是介于映射(key/value)和關(guān)系型數(shù)據(jù)之間的數(shù)據(jù).其表索引由行關(guān)鍵字、列關(guān)鍵字和時間戳組成,表中的數(shù)據(jù)可以有多個版本(通過時間戳區(qū)分),并且能動態(tài)地實現(xiàn)數(shù)據(jù)列族的添加.不同于RDBMS具有豐富的數(shù)據(jù)類型和存儲方式,HBase只有簡單的字符串類型,所有的用戶所需的類型都額外自行處理獲得,同時由于HBase的非事務(wù)性,是通過犧牲一些高級的查詢能力以換取更好的在分布式環(huán)境下的性能,故不支持多表連接進行復(fù)雜的查詢操作,也沒有時態(tài)語義的約束.HBase向下提供了存儲,以分布式文件系統(tǒng)(HDFS)為底層框架,向上提供了運算,能使用MapReduce計算模式來并行處理大規(guī)模數(shù)據(jù).對于電子醫(yī)療時態(tài)信息數(shù)據(jù)集R=∑rk=1Rk(k=1,2,…,r)的存儲,在HBase中進行數(shù)據(jù)模型的構(gòu)建:將時態(tài)數(shù)據(jù)所描述的對象(患者)的根本特征作為主鍵,即KeyRow,可表示為病人的姓名或編號ID;列族是對事務(wù)屬性的擴展性描述,能更詳盡地描述事物所抽象出來的各種屬性,HBase的靈活性可以實現(xiàn)對列族的自由添加.為了對臨床醫(yī)療數(shù)據(jù)的時態(tài)特性進行描述,本文引入時態(tài)列族用于記錄患者在就診過程不同時段內(nèi)病況信息的時態(tài)屬性值,即Column:Temporal,它可以用時間點、時態(tài)區(qū)間或者時態(tài)集合作為時態(tài)信息的描述對象,本文基于具體醫(yī)療應(yīng)用背景使用時態(tài)集合作為時態(tài)信息存儲的基本單元;對于病人信息的非時態(tài)屬性值的描述,可以通過添加列族Column:Notemporal實現(xiàn),它可以用來描述患者的病癥、年齡、既往病史、用藥情況、主治醫(yī)生等其他信息,但這些信息對于不同的患者來說并不具備高度的一致性,若無相關(guān)聯(lián)的信息,則該列族中所對應(yīng)的數(shù)據(jù)項可設(shè)置為空.為保證電子醫(yī)療數(shù)據(jù)的完整性,也可繼續(xù)動態(tài)添加類似的列族.構(gòu)建以時態(tài)集合為醫(yī)療時態(tài)數(shù)據(jù)存儲單元的時態(tài)數(shù)據(jù)模型(Thbase)如表1所示.醫(yī)療信息中時態(tài)屬性值的表示方式由具體醫(yī)療背景決定.由于患者在診療活動中的時態(tài)信息往往由若干在時序上間斷的信息構(gòu)成,比如病人發(fā)燒時間,可能僅僅某些天若干時段高燒,又如某些流行性疾病如傷寒、癲癇病等通常表現(xiàn)出反復(fù)發(fā)作的特性.因此為了兼顧信息的語義分析處理,采用時態(tài)集合作為醫(yī)療信息的時態(tài)屬性值的描述手段.時態(tài)集合是時間點和時態(tài)區(qū)間在時序上的疊加,相對于時間點和時態(tài)區(qū)間的單一表達性,它可根據(jù)對象在時態(tài)論域的多樣性特征變化更為靈活和精確體現(xiàn)出其時態(tài)性,適于診療信息對象整個病理周期的全程記錄,清晰明了,若將時態(tài)元素拆分通常不能滿足正確性、完備性需要,往往會失去時態(tài)語義;另一方面通過合并時間點和時態(tài)區(qū)間這兩種時態(tài)數(shù)據(jù)類型,在數(shù)據(jù)庫中進行海量信息存儲能夠最大限度地壓縮存儲空間并減少數(shù)據(jù)冗余.

2時態(tài)集合的聚類策略

由于Hadoop的分布式特征,數(shù)據(jù)是按分塊的形式存儲在集群的各個節(jié)點上.HBase將邏輯上很大的一張數(shù)據(jù)表在存儲實現(xiàn)時以一定的方式進行“切割”形成不同的區(qū)域,即時態(tài)信息存儲表根據(jù)行被分成了多個HRegions,每個HRegions又包含一個較大的數(shù)據(jù)集.若以列族作為查詢條件,只能根據(jù)行鍵從第一行數(shù)據(jù)開始查找,掃描全表直到查詢到相關(guān)的數(shù)據(jù)為止,這樣顯然是十分低效的.對于海量數(shù)據(jù)的快速檢索方法,目前的研究成果包括B樹及其變形樹的檢索,哈希檢索,分布式哈希表(DistributeHashTable,簡稱DHT)檢索等.因此結(jié)合Hadoop體系特性,本文采用分布式哈希表作為海量時態(tài)信息的索引方式.由于THBase模型以時態(tài)集合作為存儲對象,其數(shù)據(jù)結(jié)構(gòu)較為復(fù)雜,直接在該類型的數(shù)據(jù)上構(gòu)建索引難度較大.考慮到現(xiàn)階段較為成熟的空間索引模式更適于海量非結(jié)構(gòu)化數(shù)據(jù)的組織,因此,本文首先需將時態(tài)數(shù)據(jù)向空間數(shù)據(jù)轉(zhuǎn)化,對以時態(tài)集合為存儲對象的時態(tài)信息進行空間映射,構(gòu)造二維空間上的時態(tài)數(shù)據(jù)區(qū)域集,在此基礎(chǔ)上再作數(shù)據(jù)集劃分、數(shù)據(jù)的聚類操作,得到若干層次的時態(tài)數(shù)據(jù)域,并以這些時態(tài)數(shù)據(jù)域作為各級索引表的主鍵.

2.1時態(tài)集合的空間映射在HBase中,對于任意一條電子醫(yī)療時態(tài)記錄記錄時間的終點,且Ps≤Pe.由于作為時態(tài)信息描述對象的時態(tài)集合是由若干時間點和時態(tài)區(qū)間構(gòu)成,結(jié)構(gòu)較為復(fù)雜,對于任意DRt,其維度(包含的時間點和時態(tài)區(qū)間的數(shù)目)并不恒定,若對時態(tài)屬性進行索引構(gòu)建,需簡化其表示方法.借鑒空間索引的實現(xiàn)方式,將其映射到二維空間,再以空間數(shù)據(jù)劃分方式實現(xiàn)聚類.定義1(時態(tài)數(shù)據(jù)區(qū)域)將時態(tài)屬性值映射到二維空間所得到的二維空間區(qū)域.任意的時態(tài)數(shù)據(jù)Rf、IjRf是時態(tài)集合DRt任意一個時間點或時態(tài)區(qū)間,以(0,0)為原點,時態(tài)集合中各時態(tài)區(qū)間起始點所代表的時間軸為X軸、各時態(tài)區(qū)間終止點所代表的時間軸為Y軸,建立二維空間上的XY垂直坐標系.(Ⅰ)對于時態(tài)區(qū)間IjRf=[PRf,s,PRf,e],PRf,s所在為橫坐標(X坐標),PRf,e所在為縱坐標(Y坐標).那么,時態(tài)區(qū)間IjRf在空間坐標系中則可以表示為時態(tài)數(shù)據(jù)區(qū)域S(IjRf),該區(qū)域是由X≥PRf,s、Y≤PRf,e以及Y≥X共同圍成的區(qū)域構(gòu)成.事實上,由于時態(tài)信息具有一定的粒度性,該區(qū)域包含若干獨立的、離散的時間點,如圖1所示.(Ⅱ)由于時間點可表示為起始時間與終止時間一致的時態(tài)區(qū)間,因此,時間點在二維空間上可表示為時態(tài)數(shù)據(jù)點.

2.2時態(tài)數(shù)據(jù)區(qū)域的劃分策略在設(shè)計HBase海量時態(tài)數(shù)據(jù)索引結(jié)構(gòu)時,數(shù)據(jù)或數(shù)據(jù)空間的劃分是至關(guān)重要的環(huán)節(jié),好的數(shù)據(jù)劃分策略會提高數(shù)據(jù)庫I/O吞吐性能及系統(tǒng)數(shù)據(jù)吞吐能力,從而提高整個系統(tǒng)的檢索性能.在將THBase中所有的時態(tài)集合映射為時態(tài)數(shù)據(jù)區(qū)域集合S(t)后,如何對已空間化的時態(tài)數(shù)據(jù)區(qū)域進行數(shù)據(jù)組織?針對時態(tài)數(shù)據(jù)區(qū)域S(t)結(jié)構(gòu)復(fù)雜、數(shù)據(jù)量大以及數(shù)據(jù)之間存在著空間拓撲關(guān)系等特點,本文在K-均值聚類算法的基礎(chǔ)上,提出在分布式系統(tǒng)下的時態(tài)數(shù)據(jù)區(qū)域S(t)的數(shù)據(jù)劃分方案如下。

3基于HBase多級哈希索引表的設(shè)計

在分布式集群存儲系統(tǒng)中,數(shù)據(jù)的組織優(yōu)化是提高存儲系統(tǒng)性能的有效方法之一.而索引是存儲系統(tǒng)重要的部分,它直接決定數(shù)據(jù)的存取效率,影響數(shù)據(jù)分析與應(yīng)用效率.在HBase分布式存儲結(jié)構(gòu)中,對時態(tài)信息構(gòu)建索引可以極大地提高對HBase中數(shù)據(jù)的訪問速度,有效地避免對非主鍵的全表掃描所產(chǎn)生的巨大系統(tǒng)開銷.同時由于HBase“一次寫入多次讀取”的特點,并不需要頻繁進行表結(jié)構(gòu)的更新和數(shù)據(jù)的添加、刪除操作,因此為海量時態(tài)信息存儲表建立索引是十分必要的.本文在分布式哈希表(DHT)的基礎(chǔ)上,提出THBase模型下的多級索引表DHT算法(tDHT).設(shè)→D為THBase所存儲的時態(tài)集合值域,D代表時態(tài)記錄R的時態(tài)屬性值。對于多級哈希索引表構(gòu)建,本文提出的tDHT算法將THBase時態(tài)列族Column:Temporal的時態(tài)屬性值進行聚類,并以此作為行鍵,即KeyRow,并以THBase的KeyRow作為列族重新構(gòu)造數(shù)據(jù)表.對于THBase時態(tài)信息的檢索,索引結(jié)構(gòu)可實現(xiàn)根據(jù)列值快速地定位相關(guān)數(shù)據(jù)所在的行,由此構(gòu)成THBase的一級索引,再以一級索引表為原表,按照上述方式構(gòu)建多級索引表.這樣,各級HBase索引表除了以上一級的時態(tài)數(shù)據(jù)子區(qū)域作為KeyRow之外,僅需要再構(gòu)建時態(tài)索引列族Column:TIndex作為新的時態(tài)索引列族即可.如此,索引表結(jié)構(gòu)以及所包含的信息比原表要精簡得多,訪問索引表所消耗的時間也較少.

3.1一級索引表結(jié)構(gòu)的設(shè)計根據(jù)THBase模型以及HBase存儲結(jié)構(gòu)的特點,首先構(gòu)建HBase的一級時態(tài)索引結(jié)構(gòu)TIndex-1.以時態(tài)數(shù)據(jù)區(qū)域聚類生成的一級時態(tài)子區(qū)域r(1)i(i=1,2,…,K)為KeyRow,即TIndex1的主鍵,同時建立時態(tài)索引列族Column:Tindex,以THBase的主鍵KeyRow(患者編號)作為該列族的(Key,Value)取值.則構(gòu)建的HBase一級索引表目錄如表2所示定義2(時態(tài)檢索域)將用戶的時態(tài)檢索請求(通常是時態(tài)區(qū)間或時態(tài)集合)按照上文所述的方式映射為時態(tài)數(shù)據(jù)域,稱為時態(tài)檢索域.索引表與原表通過原表的KeyRow(患者編號)建立映射關(guān)系.用戶進行時態(tài)檢索時,將時態(tài)檢索域分別與一級索引表的所有RowKey(一級時態(tài)子區(qū)域)進行運算:(Ⅰ)若兩者存在交集,則讀取列族TIndex1的值,獲取此值后以該值作為HBase時態(tài)信息存儲表(THBase)的KeyRow,讀取相應(yīng)的時態(tài)信息;(Ⅱ)若不存在交集,則不再讀取該RowKey對應(yīng)的列族TIndex1的值,時態(tài)檢索域與索引表的下一行RowKey值進行比較.

3.2多級索引表結(jié)構(gòu)的設(shè)計采用多級哈希表索引可以進一步提升檢索性能.根據(jù)本文所提出的(tDHT)算法。當用戶提交涉及時態(tài)信息的查詢請求時,首先進入第N級的哈希索引表中快速檢索,根據(jù)時態(tài)檢索域與N級索引表KeyRow主鍵r(n)i的空間重疊性,若存在重疊區(qū)域,則掃描時態(tài)索引列族Column:TIndex,繼續(xù)判斷兩者是否存在交集,然后根據(jù)(Key,Value)中Key所對應(yīng)的Value值進入N-1級哈希索引表,由此通過上一級索引表的時態(tài)索引列族與下一級索引表主鍵建立哈希映射關(guān)系,以時態(tài)檢索域與各級時態(tài)數(shù)據(jù)子區(qū)域r(n)i進行各層索引表的關(guān)聯(lián)條件判斷,以此類推直到獲取用戶需數(shù)據(jù)的地址信息并定位到數(shù)據(jù)為止.

4性能測試

搭建測試平臺進行多級分布式哈希表索引結(jié)構(gòu)的性能驗證.本文采用HBase0941和Hadoop0210進行實驗,將其部署在5個物理計算機節(jié)點上,搭建Hadoop集群,其中1個節(jié)點作為Master節(jié)點,其余4個作為Slave節(jié)點.每臺PC機的系統(tǒng)參數(shù)配置為:CPU(Inter(R)Core(TM)i3M350@227GHz)、RAM(400GB)和硬盤(500GB).為了獲取更好的穩(wěn)定性,實驗在Linux系統(tǒng)(ubuntu1104desktopi386)下進行,使用openssh實現(xiàn)系統(tǒng)內(nèi)節(jié)點無密碼互訪.本文采用的是以時態(tài)集合方式進行重構(gòu)的電子醫(yī)療時態(tài)數(shù)據(jù),將其寫入到HBase中作為測試數(shù)據(jù),并進一步對設(shè)計的不同N值的多級索引表tDHT算法與HBase按主鍵掃描方法進行查詢時間的性能比較.實驗中用來進行查找時間對比的基礎(chǔ)時態(tài)數(shù)據(jù)量分別為10萬、1000萬、2000萬和4000萬,由于HBase只能根據(jù)RowKey進行查詢,不支持對非主鍵(如列族)條件查詢.在獲取所要查詢的時態(tài)數(shù)據(jù)主鍵或是按照某些列族的屬性取值一致性的前提下,抽取、過濾所得時態(tài)列族的時態(tài)屬性值,通過并、交等操作完成Map/Reduce并行編程模式下的時態(tài)集合關(guān)系代數(shù)演算,實現(xiàn)對時態(tài)數(shù)據(jù)的查找.在不構(gòu)建索引以及構(gòu)建不同級數(shù)的分布式哈希索引表索引(N=3,5)的時態(tài)數(shù)據(jù)檢索時間如表3所示.為了更直觀地展示實驗結(jié)果,繪制時態(tài)數(shù)據(jù)查找的時間對比折線如圖3所示.由表3、圖3的時態(tài)檢索的時間對比分析可知,相對于全表的條件查找,使用HBase進行存儲的分布式哈希表索引能較大程度地改善系統(tǒng)對于時態(tài)信息查詢的性能,特別是當時態(tài)數(shù)據(jù)量達到千萬級以上時,構(gòu)建索引在查找時具有非常巨大性能優(yōu)勢,能極大地縮短檢索所需時間;而索引級數(shù)N的取值不同,也在一定程度上影響時態(tài)檢索的性能,當數(shù)據(jù)量不大時,索引級數(shù)越高,各級索引表的數(shù)據(jù)量則較小,多表映射所造成的時間損耗抵消了部分由于更精細的數(shù)據(jù)集劃分帶來的優(yōu)勢,N值的大小對索引性能的提升不夠明顯,但當存儲的時態(tài)數(shù)據(jù)量加大,各級索引表長度急劇增長時,索引結(jié)構(gòu)tDHT(N=5)相對于tDHT(N=3)在進行時態(tài)信息搜索時所需的查詢時間幾乎呈幾何遞減趨勢,當數(shù)據(jù)量達到千萬級以上時差異性更為突出.由此可得,構(gòu)建分布式哈希索引能較大程度地改善時態(tài)檢索性能。

5結(jié)語

時態(tài)屬性,作為刻畫事物的一個重要維度,對時態(tài)信息檢索、時態(tài)知識推理、時態(tài)數(shù)據(jù)挖掘等研究領(lǐng)域均有深遠的影響.針對海量的非結(jié)構(gòu)化電子醫(yī)療時態(tài)數(shù)據(jù),以時態(tài)集合作為基本的時態(tài)數(shù)據(jù)存儲結(jié)構(gòu),本文提出使用Hadoop平臺下分布式存儲系統(tǒng)HBase進行數(shù)據(jù)存取,并在此基礎(chǔ)上構(gòu)建多級分布式哈希表以提升對海量時態(tài)信息檢索的性能.鑒于以時態(tài)集合為基本存儲元素的時態(tài)信息結(jié)構(gòu)復(fù)雜,故借鑒對空間數(shù)據(jù)的處理方法將時態(tài)信息映射為空間數(shù)據(jù)區(qū)域,進行數(shù)據(jù)集的聚類以及劃分等數(shù)據(jù)重構(gòu)和組織操作,構(gòu)建N級時態(tài)數(shù)據(jù)子區(qū)域,并設(shè)計基于HBase的多級分布式哈希表索引(tDHT)算法,以各級時態(tài)子區(qū)域作為對應(yīng)索引表的主鍵,并通過時態(tài)索引列族建立上、下級索引表主鍵的映射關(guān)系,實現(xiàn)N級索引目錄與原時態(tài)信息存儲表的關(guān)聯(lián),完成多級分布式哈希表的構(gòu)造.通過測試驗證了所構(gòu)建的索引結(jié)構(gòu)在Hadoop平臺下對于海量時態(tài)信息進行檢索的有效性.需要指出的是,本文是在單一時間粒度的前提下開展的確定性時態(tài)信息的研究,針對的是公歷系統(tǒng),顯然這是較為理想的時態(tài)數(shù)據(jù)處理模型.然而在現(xiàn)實生活中涉及的多粒度、模糊的、不確定的時態(tài)信息,不僅需要進行不同時態(tài)粒層的映射轉(zhuǎn)換,還需額外地增加時態(tài)因子以描述時態(tài)信息的不確定性程度,這還需要另行研究.另外,針對不同的時態(tài)數(shù)據(jù)集,索引級數(shù)N的取值大小與性能提升程度的對應(yīng)關(guān)系仍然需要進一步研究.

作者:陳磊封朝永單位:廣東工業(yè)大學(xué)計算機學(xué)院

主站蜘蛛池模板: 亚洲欧美视频网站 | 一级毛片中文字幕 | 伊人丁香狠狠色综合久久 | 色基地 | 麻豆专媒体公司网站 | 自拍视频国产 | 久久久久蜜桃 | 色小说导航 | 欧日韩一区二区三区 | 在线中文字幕第一页 | 欧美精品久久久久久久小说 | 男人的天堂好色鬼 | 三妻四妾韩国电影完整版在线播放 | gogo人体大尺香蕉 | www.婷婷 | 一对一在线观看 | 午夜剧场毛片 | 亚洲男人在线天堂 | 男人的天堂a在线 | 理论亚洲区美一区二区三区 | 亚洲免费网站 | 男女视频网址 | 美女拍拍拍免费视频网站 | 亚洲国产成人久久综合区 | 自拍偷拍第1页 | 免费视频99 | 波多野结衣中出在线 | 色的视频在线观看免费播放 | 亚洲视频在线视频 | 国产成人精品男人的天堂下载 | 午夜一区二区在线观看 | 精品久久久久久久 | 中文字幕一区久久久久 | 小草影视在线观看 | 中文字幕在线精品不卡 | 九九免费电影 | 在线观看激情 | 色精品视频 | 亚洲视频在线观看不卡 | 波多野结衣免费线在线 | 国产精品久久久久一区二区三区 |