陸文星,涂竹松,梁 焱
(1.合肥工業(yè)大學(xué) 管理學(xué)院,安徽 合肥 230009;2.過程優(yōu)化與智能決策教育部重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 230009)
基于HBase的數(shù)據(jù)共享模型研究
陸文星1,2,涂竹松1,2,梁 焱1
(1.合肥工業(yè)大學(xué) 管理學(xué)院,安徽 合肥 230009;2.過程優(yōu)化與智能決策教育部重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 230009)
在信息化高速發(fā)展過程中,如何共享海量數(shù)據(jù)并提高其應(yīng)用價(jià)值是當(dāng)今云計(jì)算領(lǐng)域的研究熱點(diǎn)之一。傳統(tǒng)的數(shù)據(jù)共享方式不能滿足大數(shù)據(jù)的存儲(chǔ)要求和解除高速計(jì)算問題與數(shù)據(jù)的高容錯(cuò)性問題,這就需要新的共享方式來實(shí)現(xiàn)。文中在數(shù)據(jù)倉庫的數(shù)據(jù)集成模式的基礎(chǔ)上,根據(jù)黑板系統(tǒng)的思想和“發(fā)布-訂閱”數(shù)據(jù)分發(fā)策略,提出了基于HBase數(shù)據(jù)庫的數(shù)據(jù)共享模型,并分析了該模型的運(yùn)行機(jī)理?;贖Base的數(shù)據(jù)共享方式不僅能夠提高對(duì)海量數(shù)據(jù)的處理能力和速度,還能有效降低原有數(shù)據(jù)共享方式中在出現(xiàn)故障時(shí)對(duì)整個(gè)業(yè)務(wù)系統(tǒng)造成的不良影響。文中提出的基于HBase數(shù)據(jù)共享模型在云環(huán)境下實(shí)現(xiàn)海量數(shù)據(jù)共享的問題上為各大型企業(yè)提供了參考,不僅能夠滿足海量數(shù)據(jù)的量級(jí)持續(xù)增長(zhǎng)和計(jì)算的需求,同時(shí)提高了系統(tǒng)可靠性。
數(shù)據(jù)共享;數(shù)據(jù)集成;HBase;黑板系統(tǒng)
隨著科學(xué)技術(shù)的飛速發(fā)展和信息化的不斷推進(jìn),企業(yè)的IT應(yīng)用也伴隨著信息技術(shù)的發(fā)展而不斷前進(jìn),各大型企業(yè)、政府機(jī)構(gòu)也都構(gòu)建了能夠應(yīng)用于自身領(lǐng)域的專屬系統(tǒng),例如企業(yè)的ERP系統(tǒng)、金融領(lǐng)域的交易系統(tǒng)、醫(yī)療領(lǐng)域的醫(yī)療衛(wèi)生系統(tǒng)、教育領(lǐng)域的教務(wù)管理系統(tǒng)等等。但I(xiàn)T應(yīng)用的變化速度與企業(yè)的其他變革有著明顯的不同。從企業(yè)自身的角度看,前期的系統(tǒng)構(gòu)建缺乏長(zhǎng)遠(yuǎn)及統(tǒng)籌規(guī)劃,不同階段只考慮局部需求,使得系統(tǒng)之間存在著巨大的邏輯差異,大量的冗余數(shù)據(jù)和垃圾數(shù)據(jù)不斷形成造成了企業(yè)、政府機(jī)構(gòu)的信息存儲(chǔ)效率低、信息利用率低[1-4]。
文中整合數(shù)據(jù)倉庫的數(shù)據(jù)集成方式和黑板系統(tǒng)的思想,提出了基于HBase的數(shù)據(jù)共享模型。模型中采用“發(fā)布-訂閱”數(shù)據(jù)分發(fā)策略來共享數(shù)據(jù),在應(yīng)對(duì)企業(yè)內(nèi)部各分支機(jī)構(gòu)系統(tǒng)之間的孤立、海量數(shù)據(jù)的存儲(chǔ)及處理計(jì)算等問題上提出了新的解決思路。
1.1 數(shù)據(jù)倉庫模式
不同的信息系統(tǒng)在實(shí)現(xiàn)數(shù)據(jù)共享的過程中需要向其他的信息系統(tǒng)展現(xiàn)需要共享的數(shù)據(jù)信息。在這個(gè)過程中,需要在邏輯上或者物理上有機(jī)地把不同來源、不同格式以及不同特點(diǎn)性質(zhì)的數(shù)據(jù)集成起來,為企業(yè)的數(shù)據(jù)提供全面的共享。目前,數(shù)據(jù)集成領(lǐng)域比較成熟的框架有三種:基于中間件模式、聯(lián)邦數(shù)據(jù)庫系統(tǒng)模式和數(shù)據(jù)倉庫模式[5]。這三種模式在不同的重點(diǎn)和應(yīng)用上為企業(yè)的數(shù)據(jù)共享和決策支持提供了可靠有效的支持。文中采用數(shù)據(jù)倉庫模式來構(gòu)建數(shù)據(jù)共享模型,下面只對(duì)數(shù)據(jù)倉庫模式的數(shù)據(jù)集成方法作詳細(xì)介紹。
這里的數(shù)據(jù)倉庫充當(dāng)?shù)氖且粋€(gè)公共數(shù)據(jù)庫的角色[6]。數(shù)據(jù)倉庫在描述存儲(chǔ)在異構(gòu)數(shù)據(jù)庫中的數(shù)據(jù)時(shí)采用的是統(tǒng)一的全局模式,以副本的形式存儲(chǔ)各源數(shù)據(jù)庫中需要共享的數(shù)據(jù)。該模式通過將各個(gè)數(shù)據(jù)源的數(shù)據(jù)復(fù)制到同一處,即數(shù)據(jù)倉庫[7-8]。用戶像訪問數(shù)據(jù)庫一樣訪問數(shù)據(jù)倉庫,如圖1所示。在數(shù)據(jù)倉庫模式中,采用ETL工具按照特定的需求對(duì)源數(shù)據(jù)庫進(jìn)行抽取、轉(zhuǎn)換和加載后才進(jìn)行存儲(chǔ)。該模式在數(shù)據(jù)倉庫中統(tǒng)一存儲(chǔ)不同信息系統(tǒng)間需要進(jìn)行共享的數(shù)據(jù),同時(shí)面向所有用戶采用統(tǒng)一數(shù)據(jù)接口的方式,為用戶提供數(shù)據(jù)訪問和分析等數(shù)據(jù)服務(wù)。另外,數(shù)據(jù)倉庫模式是為了有效地把操作型數(shù)據(jù)集成到統(tǒng)一的環(huán)境中以提供決策型數(shù)據(jù)訪問的各種技術(shù)和模塊的總稱,所做的
圖1 數(shù)據(jù)倉庫集成模式
一切都是為了讓用戶能夠?qū)ζ渌枰男畔⑦M(jìn)行更快、更方便地查詢,以便提供決策支持。
1.2 HBase數(shù)據(jù)庫
HBase的原型來自于Google在2006年11月發(fā)表的一篇名為《Bigtable:A Distributed Storage System for Structured Data》[9]的論文。HBase是一種構(gòu)建在HDFS之上的分布式、面向列的存儲(chǔ)系統(tǒng)[10-12]。在需要實(shí)現(xiàn)讀寫、隨機(jī)訪問超大數(shù)據(jù)集時(shí),可以使用HBase這一Hadoop應(yīng)用。HBase數(shù)據(jù)庫通過Java編程語言編寫而成,其數(shù)據(jù)模型采用鍵/值形式,而且存儲(chǔ)技術(shù)具備開源、分布式、面向列、高可用等特性。HBase不僅能夠適合非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ),而且不同于其他基于行模式的關(guān)系型數(shù)據(jù)庫,它采用的是基于列的模式。另外,作為Hadoop應(yīng)用下的分布式數(shù)據(jù)庫,HBase在存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)時(shí)依然具有高可靠性。與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫不同的是,列式存儲(chǔ)是按某列將數(shù)據(jù)存儲(chǔ)在表中,在查詢時(shí)對(duì)字段個(gè)數(shù)的要求就會(huì)降低。這樣不僅能解決數(shù)據(jù)的稀疏性問題,大大減少讀取的數(shù)據(jù)量,在很大程度上為其節(jié)約了存儲(chǔ)開銷,而且能在查詢發(fā)生時(shí),大大降低磁盤I/O。
在現(xiàn)代大型企業(yè)的應(yīng)用系統(tǒng)中,其關(guān)系型數(shù)據(jù)庫的擴(kuò)展性和海量數(shù)據(jù)的分析處理能力提升不大主要是基于其關(guān)系型數(shù)據(jù)庫連接操作和事務(wù)的ACID(Atomicity(原子性)、Consistency(一致性)、Isolation(隔離性)和Durability(持久性))特點(diǎn)。從信息系統(tǒng)整合的集約化原則和保持原有的業(yè)務(wù)系統(tǒng)角度出發(fā),同時(shí)針對(duì)不同應(yīng)用系統(tǒng)間的不同種類(結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化)的數(shù)據(jù),通過借鑒云計(jì)算存儲(chǔ)和數(shù)據(jù)倉庫共享數(shù)據(jù)的先進(jìn)理念,在存儲(chǔ)共享數(shù)據(jù)方面合理運(yùn)用HBase數(shù)據(jù)庫。這樣不僅能夠?qū)oSQL數(shù)據(jù)庫和云計(jì)算的有利優(yōu)勢(shì)體現(xiàn)出來,而且能夠滿足海量數(shù)據(jù)的共享要求。
目前國(guó)內(nèi)的大型企業(yè)都普遍存在一個(gè)顯著的特點(diǎn):下屬各級(jí)子公司或部門都擁有各自的應(yīng)用管理系統(tǒng),而這些管理系統(tǒng)都是相對(duì)獨(dú)立的,系統(tǒng)之間存在著數(shù)據(jù)的不一致和難以及時(shí)準(zhǔn)確共享的缺陷。但是隨著企業(yè)信息化的不斷發(fā)展,各部門單位信息系統(tǒng)間的數(shù)據(jù)共享以及新系統(tǒng)的開發(fā)對(duì)企業(yè)數(shù)據(jù)集成也在不斷提高。
在黑板系統(tǒng)的基礎(chǔ)上,文中提出了一種基于HBase的數(shù)據(jù)共享模型。該模型是基于數(shù)據(jù)倉庫的數(shù)據(jù)集成模式,其中HBase數(shù)據(jù)庫是數(shù)據(jù)共享的中介倉庫,一方面提供虛擬的全局模式視圖供各源數(shù)據(jù)庫使用,另一方面對(duì)各源數(shù)據(jù)庫有固定訂閱需求和共享頻率高的數(shù)據(jù)以數(shù)據(jù)重建和數(shù)據(jù)復(fù)制方式實(shí)現(xiàn)共享。基于HBase的數(shù)據(jù)共享模型架構(gòu)如圖2所示。
圖2 基于HBase的數(shù)據(jù)共享模型架構(gòu)
作為模型中數(shù)據(jù)共享的信息中介平臺(tái),HBase數(shù)據(jù)庫與多個(gè)源數(shù)據(jù)庫形成交互,維護(hù)每個(gè)源數(shù)據(jù)庫共享的信息內(nèi)容,而各源數(shù)據(jù)庫通過HBase數(shù)據(jù)庫共享企業(yè)的數(shù)據(jù)信息。其中,作為企業(yè)各應(yīng)用系統(tǒng)的數(shù)據(jù)中心存在的各源數(shù)據(jù)庫是相互獨(dú)立的數(shù)據(jù)庫系統(tǒng)。
2.1 元數(shù)據(jù)管理
元數(shù)據(jù)即描述數(shù)據(jù)的數(shù)據(jù),是對(duì)應(yīng)用系統(tǒng)中業(yè)務(wù)流程、對(duì)象信息等數(shù)據(jù)的描述,常見的數(shù)據(jù)字典就屬于元數(shù)據(jù)的范疇[13]。技術(shù)元數(shù)據(jù)(Technical Metadata)和業(yè)務(wù)元數(shù)據(jù)(Business Metadata)是元數(shù)據(jù)的兩種分類。前者是關(guān)于數(shù)據(jù)倉庫技術(shù)細(xì)節(jié)的數(shù)據(jù)的描述,這些元數(shù)據(jù)應(yīng)用于開發(fā)、管理和維護(hù)數(shù)據(jù)倉庫;后者從商業(yè)和業(yè)務(wù)的角度描述數(shù)據(jù)倉庫的數(shù)據(jù),提供了良好的語義層定義,業(yè)務(wù)元數(shù)據(jù)使業(yè)務(wù)人員能夠更好地理解數(shù)據(jù)倉庫分析出來的數(shù)據(jù),通過分析業(yè)務(wù)的變化對(duì)應(yīng)用模塊的影響,可以幫助用戶發(fā)現(xiàn)、描述和理解數(shù)據(jù),其最大的作用體現(xiàn)在數(shù)據(jù)質(zhì)量的保證、資源的管理和對(duì)數(shù)據(jù)的一致性理解上。數(shù)據(jù)的存儲(chǔ)處理不只是ETL過程需要元數(shù)據(jù)的支持,整個(gè)數(shù)據(jù)倉庫建立過程都離不開元數(shù)據(jù)。
元數(shù)據(jù)在結(jié)構(gòu)上有三種分類:內(nèi)容結(jié)構(gòu)、句法結(jié)構(gòu)和語義結(jié)構(gòu)。內(nèi)容結(jié)構(gòu)在包括編碼語言、命名空間、描述元素等信息上對(duì)元數(shù)據(jù)的構(gòu)成元素和標(biāo)準(zhǔn)進(jìn)行定義;句法結(jié)構(gòu)在元素的組織、描述方法上對(duì)元數(shù)據(jù)的格式和描述進(jìn)行定義;元數(shù)據(jù)的表示含義的描述要求屬于語義結(jié)構(gòu)定義的范疇。
元數(shù)據(jù)的管理主要針對(duì)的是技術(shù)元數(shù)據(jù)和業(yè)務(wù)元數(shù)據(jù),管理目標(biāo)旨在提升共享水平和對(duì)企業(yè)信息資產(chǎn)的理解。從管理的細(xì)節(jié)來看,主要操作是對(duì)元數(shù)據(jù)的獲取和處理?;谠獢?shù)據(jù)的管理與數(shù)據(jù)庫、應(yīng)用系統(tǒng)、分析處理共享平臺(tái)有密不可分的關(guān)系,企業(yè)管理元數(shù)據(jù)的途徑往往是運(yùn)用成熟的元數(shù)據(jù)管理工具,同時(shí)建立自身的元數(shù)據(jù)管理平臺(tái)。針對(duì)元數(shù)據(jù)的管理存在著兩個(gè)重要任務(wù):一是元數(shù)據(jù)庫中元數(shù)據(jù)的存儲(chǔ)和維護(hù)工作;二是數(shù)據(jù)倉庫中各種工具(如建模工具、數(shù)據(jù)獲取工具等)間的信息傳遞,以及各模塊與工具之間的協(xié)調(diào)工作。
2.2 黑板系統(tǒng)
文中所提出的基于HBase的數(shù)據(jù)共享模型主要是基于黑板系統(tǒng)的思想。黑板的概念最早是由Newell提出。1973-1976年間,美國(guó)Carnegie-Mellon大學(xué)在研制出語音理解系統(tǒng)HEARSAY-II的過程中提出了黑板的問題求解模型[14-15]。其基本思想是:多個(gè)個(gè)體專家針對(duì)同一個(gè)問題進(jìn)行協(xié)作求解,在求解過程中擁有一個(gè)共享的工作空間即“黑板”,并且所有專家都能“看到”黑板。當(dāng)黑板上出現(xiàn)求解的問題及求解所需的原始數(shù)據(jù)時(shí),求解過程開始,所有專家通過“觀察”黑板并運(yùn)用其自身的經(jīng)驗(yàn)知識(shí)開始求解問題。當(dāng)某個(gè)專家發(fā)現(xiàn)能通過黑板上現(xiàn)有的信息進(jìn)行進(jìn)一步求解,他會(huì)將求解的階段性結(jié)果呈現(xiàn)在黑板上,這些新增的信息可能會(huì)使其他專家進(jìn)行進(jìn)一步求解,不斷重復(fù)這一過程直到獲得最終結(jié)果,徹底解決最初問題[16]。
黑板系統(tǒng)主要由三個(gè)部分組成:“黑板”、知識(shí)源(KS)和監(jiān)控機(jī)構(gòu)。模型結(jié)構(gòu)如圖3所示。
圖3 黑板模型
黑板:從前面對(duì)黑板系統(tǒng)的介紹來看,“黑板”是一個(gè)全局的工作區(qū)。文中它是一個(gè)存儲(chǔ)各個(gè)階段數(shù)據(jù)的全局?jǐn)?shù)據(jù)庫。
知識(shí)源:就是一個(gè)知識(shí)模塊。上文在介紹黑板系統(tǒng)基本思想時(shí)提到的“專家”就是知識(shí)源。所有知識(shí)源之間相互獨(dú)立,并且它們之間的聯(lián)系和調(diào)用是通過黑板來完成的。
監(jiān)控機(jī)構(gòu):由監(jiān)控和調(diào)度程序組成的一個(gè)推理機(jī)構(gòu),旨在順利完成問題的求解。監(jiān)控程序負(fù)責(zé)監(jiān)控黑板狀態(tài),調(diào)度程序則根據(jù)黑板狀態(tài)通過自身策略調(diào)度合適的“專家”來解決問題。
文中黑板就是基于HBase的數(shù)據(jù)共享模型中以數(shù)據(jù)倉庫形式存在的HBase數(shù)據(jù)庫,相應(yīng)的每個(gè)源數(shù)據(jù)庫就是黑板系統(tǒng)中對(duì)應(yīng)的眾多的知識(shí)源,而共享模型中元數(shù)據(jù)管理模塊就是監(jiān)控機(jī)構(gòu)。
2.3 數(shù)據(jù)分發(fā)策略
運(yùn)用“發(fā)布-訂閱”模型對(duì)數(shù)據(jù)進(jìn)行分發(fā)在目前被各個(gè)分布式數(shù)據(jù)庫所采用,該模型主要由消息發(fā)布者、消息訂閱者和發(fā)布訂閱服務(wù)器三部分組成[17]。訂閱者先注冊(cè)感興趣的主題,并在主題信息有變化時(shí)接收信息,當(dāng)發(fā)布者把一條信息發(fā)送至發(fā)布訂閱服務(wù)器時(shí),服務(wù)器根據(jù)訂閱條件與消息進(jìn)行匹配比較,把信息發(fā)送給符合訂閱條件的訂閱者。模型架構(gòu)如圖4所示。
圖4 發(fā)布—訂閱模型
消息發(fā)布者:負(fù)責(zé)對(duì)數(shù)據(jù)源的數(shù)據(jù)進(jìn)行發(fā)表的服務(wù)器。消息發(fā)布者管理多個(gè)數(shù)據(jù)源,將描述數(shù)據(jù)源的元數(shù)據(jù)即共享數(shù)據(jù)模型發(fā)布到若干個(gè)公共的信息目錄服務(wù)器上。
消息訂閱者:負(fù)責(zé)接收消息發(fā)布者發(fā)布出來的數(shù)據(jù)的服務(wù)器。消息發(fā)布者既可以對(duì)已經(jīng)發(fā)布的數(shù)據(jù)進(jìn)行修改,也可以作為其他消息訂閱者的發(fā)布訂閱服務(wù)器。
發(fā)布訂閱服務(wù)器:連接消息發(fā)布者和消息訂閱者的橋梁,負(fù)責(zé)將發(fā)布者發(fā)布的數(shù)據(jù)傳送到訂閱者。發(fā)布訂閱服務(wù)器提供數(shù)據(jù)緩存,負(fù)責(zé)將消息發(fā)布者傳遞過來的發(fā)布數(shù)據(jù)臨時(shí)存儲(chǔ)到分發(fā)數(shù)據(jù)庫當(dāng)中,按一定策略將數(shù)據(jù)分發(fā)給相應(yīng)的服務(wù)器,并且負(fù)責(zé)維護(hù)分發(fā)服務(wù)器。
這里的消息發(fā)布者、消息訂閱者和發(fā)布訂閱服務(wù)器只是角色上的描述,理論上這三個(gè)角色可以在同一臺(tái)服務(wù)器上實(shí)現(xiàn)任意組合,但在實(shí)際操作中要考慮系統(tǒng)的性能,通常會(huì)對(duì)其做出一定的限制。
在基于HBase的數(shù)據(jù)共享模型中,充當(dāng)數(shù)據(jù)倉庫的HBase數(shù)據(jù)庫與源數(shù)據(jù)庫構(gòu)成的數(shù)據(jù)共享模型主要由5部分組成:共享接口、數(shù)據(jù)復(fù)制、訂閱數(shù)據(jù)、共享數(shù)據(jù)管理器數(shù)據(jù)源和元數(shù)據(jù)管理模塊。如圖5所示,其中HBase數(shù)據(jù)庫中還另外包含了全局模式視圖。
圖5 基于HBase的數(shù)據(jù)共享模型
對(duì)上述數(shù)據(jù)共享模型運(yùn)行機(jī)制的具體介紹如下:
在基于HBase的數(shù)據(jù)共享模型中,作為“黑板”出現(xiàn)的HBase數(shù)據(jù)庫與每個(gè)源數(shù)據(jù)庫也就是各個(gè)“知識(shí)源”之間是通過其HBase共享接口與節(jié)點(diǎn)共享接口的連接實(shí)現(xiàn)數(shù)據(jù)重建和數(shù)據(jù)復(fù)制共享的。其中對(duì)數(shù)據(jù)的重建是HBase數(shù)據(jù)庫共享數(shù)據(jù)的方式,主要是在數(shù)據(jù)管理方面對(duì)來自于其他系統(tǒng)的數(shù)據(jù)進(jìn)行重建,分開存儲(chǔ)這些需要共享的數(shù)據(jù)與系統(tǒng)的其他數(shù)據(jù),形成集中管理。這種共享模式通過虛擬映射全局模式和節(jié)點(diǎn)模式之間的關(guān)系來實(shí)現(xiàn),各源數(shù)據(jù)庫的映射接口由HBase數(shù)據(jù)庫和共享接口來提供,通過映射已經(jīng)形成連接的共享接口,全局模式會(huì)在一定的轉(zhuǎn)換條件下通過定義視圖的方式進(jìn)行映射。另外,全局模式通過重新組合各節(jié)點(diǎn)模式的數(shù)據(jù),形成全局模式視圖。其中,源數(shù)據(jù)庫通過節(jié)點(diǎn)共享接口訪問HBase數(shù)據(jù)庫的全局模式視圖獲取數(shù)據(jù),而在HBase數(shù)據(jù)庫中當(dāng)其接收到具體的數(shù)據(jù)獲取請(qǐng)求時(shí),全局模式視圖會(huì)根據(jù)需求完成對(duì)源數(shù)據(jù)庫的數(shù)據(jù)抽取工作,然后將抽取來的數(shù)據(jù)轉(zhuǎn)換成全局模式數(shù)據(jù)用以提供給其他源數(shù)據(jù)庫獲取?;贖Base的數(shù)據(jù)共享模型是運(yùn)用黑板模型的思想構(gòu)建的,HDFS元數(shù)據(jù)管理模塊就是其“監(jiān)控機(jī)構(gòu)”。正是通過該模塊對(duì)元數(shù)據(jù)的抽取重組形成模式信息,并通過特定的模式管理機(jī)制(數(shù)據(jù)的獲取、查詢、映射和ETL等操作)對(duì)元數(shù)據(jù)進(jìn)行監(jiān)控,通過對(duì)其變化情況進(jìn)行觀察,確保模式信息與元數(shù)據(jù)實(shí)時(shí)統(tǒng)一。節(jié)點(diǎn)數(shù)據(jù)源通過審核發(fā)布共享數(shù)據(jù),以數(shù)據(jù)復(fù)制方式并通過HBase數(shù)據(jù)管理的操作將數(shù)據(jù)存放到HBase數(shù)據(jù)庫中的訂閱數(shù)據(jù)組當(dāng)中,然后HBase數(shù)據(jù)庫中的共享模式管理器將這些訂閱數(shù)據(jù)轉(zhuǎn)換為全局模式的共享數(shù)據(jù)并將其存放在HBase數(shù)據(jù)源中,同時(shí)向發(fā)送請(qǐng)求的源數(shù)據(jù)庫發(fā)布共享數(shù)據(jù)或者將共享數(shù)據(jù)提供給全局模式視圖。其中,HBase數(shù)據(jù)庫向源數(shù)據(jù)庫發(fā)布共享數(shù)據(jù)大致與其向源數(shù)據(jù)庫復(fù)制抽取數(shù)據(jù)的過程相同,只不過對(duì)數(shù)據(jù)的操作由復(fù)制轉(zhuǎn)換成了重建。數(shù)據(jù)源通過審核發(fā)布共享數(shù)據(jù),以數(shù)據(jù)重建的方式將新的數(shù)據(jù)存放到源數(shù)據(jù)庫的訂閱數(shù)據(jù)中,然后源數(shù)據(jù)庫中的節(jié)點(diǎn)共享數(shù)據(jù)管理器將這些共享數(shù)據(jù)轉(zhuǎn)換為該模式下的共享數(shù)據(jù)存放在節(jié)點(diǎn)數(shù)據(jù)源中。
基于HBase的數(shù)據(jù)共享模型的性能分析如下:
(1)具有高效的數(shù)據(jù)操作能力。HBase數(shù)據(jù)庫在對(duì)海量數(shù)據(jù)進(jìn)行處理時(shí)采用Hadoop架構(gòu)體系的Map/Reduce技術(shù),在處理過程中可以對(duì)數(shù)據(jù)進(jìn)行高吞吐量的讀、寫操作,同時(shí)在針對(duì)海量數(shù)據(jù)的訪問和處理方面具有隨機(jī)性、實(shí)時(shí)性。
(2)支持對(duì)系統(tǒng)集成的公共數(shù)據(jù)應(yīng)用變更的需求。由于HBase數(shù)據(jù)庫在存儲(chǔ)數(shù)據(jù)時(shí)能夠動(dòng)態(tài)變動(dòng)其數(shù)據(jù)庫表格,而這一優(yōu)勢(shì)在其充當(dāng)數(shù)據(jù)倉庫時(shí)更能凸顯出來。HBase數(shù)據(jù)庫在作為數(shù)據(jù)倉庫面對(duì)各應(yīng)用系統(tǒng)相互之間對(duì)彼此的數(shù)據(jù)需求發(fā)生變化時(shí),并在能夠確保系統(tǒng)其他模塊的功能不受干擾的前提下,可以對(duì)其數(shù)據(jù)庫表的列簇個(gè)數(shù)進(jìn)行動(dòng)態(tài)的增、刪、改、查操作,從而達(dá)到支持共享應(yīng)用需求變動(dòng)的效果。
(3)高效的系統(tǒng)可靠性和可用性。HBase數(shù)據(jù)庫作為數(shù)據(jù)倉庫在存儲(chǔ)共享數(shù)據(jù)方面融合了分布式數(shù)據(jù)庫的分布式存儲(chǔ)和關(guān)系型數(shù)據(jù)庫的集中管理整個(gè)數(shù)據(jù)庫的優(yōu)勢(shì),其多副本的存儲(chǔ)機(jī)制通過統(tǒng)一的節(jié)點(diǎn)HMaster對(duì)多個(gè)服務(wù)節(jié)點(diǎn)上的多個(gè)副本進(jìn)行管理。HBase數(shù)據(jù)庫中只要其單個(gè)數(shù)據(jù)節(jié)點(diǎn)或單條數(shù)據(jù)鏈路正常使用就能正常運(yùn)行,因此當(dāng)出現(xiàn)突發(fā)狀況(如其中某個(gè)節(jié)點(diǎn)出現(xiàn)故障或者某條鏈路發(fā)生癱瘓時(shí)),不會(huì)對(duì)HBase數(shù)據(jù)庫的正常運(yùn)行造成影響,其可靠性比其他數(shù)據(jù)共享方式具有明顯的優(yōu)勢(shì)。同時(shí),系統(tǒng)的容災(zāi)性在多副本存儲(chǔ)這一特點(diǎn)上得到顯著增強(qiáng),有利于被破壞數(shù)據(jù)的恢復(fù)。
(4)具有高擴(kuò)展性。對(duì)于傳統(tǒng)的數(shù)據(jù)庫來說,擴(kuò)展就意味著升級(jí)服務(wù)器,復(fù)制數(shù)據(jù),但是升級(jí)服務(wù)器的開銷大而且在數(shù)據(jù)復(fù)制的過程中操作繁瑣且容易出錯(cuò)。HBase數(shù)據(jù)庫作為公共的數(shù)據(jù)倉庫存儲(chǔ)共享數(shù)據(jù)時(shí)可以實(shí)現(xiàn)對(duì)現(xiàn)有廉價(jià)服務(wù)器的充分利用,因此擴(kuò)展對(duì)于HBase來說比較簡(jiǎn)單,無需再購(gòu)置諸如數(shù)據(jù)庫管理系統(tǒng)、服務(wù)器等相關(guān)產(chǎn)品。針對(duì)HBase的擴(kuò)展工作,只用在增加其HRegionServer節(jié)點(diǎn)之后修改下相關(guān)配置文件中的配置信息,再重啟HBase和Hadoop即可,其他的工作HBase和Hadoop會(huì)自行完成。
(5)具有故障自動(dòng)恢復(fù)能力。HBase數(shù)據(jù)共享方式在面對(duì)系統(tǒng)故障、事務(wù)故障、磁盤故障和計(jì)算機(jī)病毒這四種故障時(shí),具有自動(dòng)修復(fù)的功能。HBase數(shù)據(jù)庫對(duì)數(shù)據(jù)的多副本存儲(chǔ)是分布式的,從前文可靠性分析中可以知道,單個(gè)數(shù)據(jù)節(jié)點(diǎn)的故障不會(huì)對(duì)HBase數(shù)據(jù)庫的正常運(yùn)行造成影響,而該故障節(jié)點(diǎn)經(jīng)過修復(fù)后還能通過其他的數(shù)據(jù)節(jié)點(diǎn)服務(wù)器對(duì)數(shù)據(jù)進(jìn)行自動(dòng)復(fù)制。
文中提出的基于HBase的數(shù)據(jù)共享模型對(duì)于目前各大型企業(yè)內(nèi)部相對(duì)獨(dú)立的應(yīng)用管理系統(tǒng)間數(shù)據(jù)的不一致和難以及時(shí)實(shí)現(xiàn)共享等問題是一個(gè)良好的解決方案。在企業(yè)的信息化建設(shè)中,該數(shù)據(jù)共享模型將企業(yè)的信息進(jìn)行集成,各個(gè)部門仍然可以沿用自己獨(dú)立的應(yīng)用管理系統(tǒng),只是將各部門都需要使用的共享數(shù)據(jù)存儲(chǔ)在HBase數(shù)據(jù)庫中。這樣一來當(dāng)其中某個(gè)部門需要使用其他部門的信息數(shù)據(jù)時(shí),就可以直接從HBase數(shù)據(jù)庫中獲得,而不再走繁瑣的內(nèi)部流程獲取想要的數(shù)據(jù)。從全局的角度看,這種共享模式有效地促進(jìn)了企業(yè)原系統(tǒng)間的整合和新系統(tǒng)的加入。
[1] 楊善林,羅 賀,丁 帥.基于云計(jì)算的多源信息服務(wù)系統(tǒng)研究綜述[J].管理科學(xué)學(xué)報(bào),2012,15(5):83-96.
[2] 郭文越,陳 虹,劉萬軍.基于SOA的數(shù)據(jù)共享與交換平臺(tái)[J].計(jì)算機(jī)工程,2010,36(19):280-282.
[3] 汪曉慶,鄭彥興,史美林.一種有效的數(shù)據(jù)共享環(huán)境多數(shù)據(jù)源選擇算法[J].軟件學(xué)報(bào),2008,19(2):314-322.
[4] 諸云強(qiáng),馮 敏,宋 佳,等.基于SOA的地球系統(tǒng)科學(xué)數(shù)據(jù)共享平臺(tái)架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)[J].地球信息科學(xué),2009,11(1):1-9.
[5] 陳躍國(guó),王京春.數(shù)據(jù)集成綜述[J].計(jì)算機(jī)科學(xué),2004,31(5):48-51.
[6]WuD,H?kanssonA.Applyingaknowledgebasedsystemformetadataintegrationfordatawarehouses[M]//Knowledge-basedandintelligentinformationandengineeringsystems.Berlin:Springer,2010:60-69.
[7] 張興會(huì).數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)[M].北京:清華大學(xué)出版社,2011.
[8] 周長(zhǎng)春,徐宏炳,張小偉.基于共享數(shù)據(jù)庫的數(shù)據(jù)集成方案的改進(jìn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(8):1917-1919.
[9]ChangF,DeanJ,GhemawatS,etal.Bigtable:adistributedstoragesystemforstructureddata[J].ACMTransactionsonComputerSystems,2008,26(2):4-4.
[10] 劉 剛,侯 賓,翟周偉.Hadoop開源云計(jì)算平臺(tái)[M].北京:北京郵電大學(xué)出版社,2011.
[11] 陸嘉恒.Hadoop實(shí)戰(zhàn)[M].北京:機(jī)械工業(yè)出版社,2011.
[12]WhiteT.Hadoop:thedefinitiveguide[M].[s.l.]:O’ReillyMedia,Inc.,2012.
[13] 李光焰.數(shù)據(jù)倉庫中元數(shù)據(jù)分類及管理系統(tǒng)研究進(jìn)展分析[J].情報(bào)科學(xué),2004,22(7):889-892.
[14] 馮少榮,肖文俊.并行分布環(huán)境下的黑板模型[J].華東理工大學(xué)學(xué)報(bào):自然科學(xué)版,2008,34(1):96-102.
[15] 張松懋.關(guān)于黑板模型和分布式黑板模型[J].微電子學(xué)與計(jì)算機(jī),1993,10(8):1-4.
[16]McManusJW.Designandanalysistechniquesforconcurrentblackboardsystems[J].IEEETransactionsonSystem,ManandCyberneticsPartA:SystemsandHumans,1996,26(6):669-680.
[17] 唐曉光.基于訂閱機(jī)制的數(shù)據(jù)共享平臺(tái)的研究與設(shè)計(jì)[D].大慶:東北石油大學(xué),2013.
Research on Data Sharing Model Based on HBase
LU Wen-xing1,2,TU Zhu-song1,2,LIANG Yan1
(1.School of Management,Hefei University of Technology,Hefei 230009,China; 2.Key Laboratory of Process Optimization and Intelligent Decision-making of Ministry of Education, Hefei 230009,China)
During the process of high-speed development of informatization,one of the research hotspots in the cloud computing area at present is how to share the tremendous amount of information and improve its application value.The traditional data sharing method cannot satisfy the storage requirements of large data and also cannot solve the problem of high speed calculation as well as the high fault tolerance,which requires a new sharing method.Based on the data integration pattern of data warehouse,according to the idea of the blackboard system and “Publish-Subscribe” data issue strategy,a data sharing model based on HBase database is put forward and the operating mechanism of it is analyzed.Data sharing based on Hadoop not only improves the ability and speed of processing of massive data,but also reduces the potential damage the original data sharing method may cause to the entire system.The study of data sharing based on Hadoop gives reference to large enterprises for sharing of massive data,which not only fulfills the needs of continual steep increasing and computation of massive data,but also improves the reliability of the system.
data sharing;data integration;HBase;blackboard system
2015-01-25
2015-05-18
時(shí)間:2016-03-22
國(guó)家自然科學(xué)基金重點(diǎn)項(xiàng)目(71331002);國(guó)家自然科學(xué)基金青年基金項(xiàng)目(71201045);安徽省科技攻關(guān)計(jì)劃項(xiàng)目(1301041173)
陸文星(1971-),男,副教授,碩士生導(dǎo)師,研究方向?yàn)樾畔⒐芾砗托畔⑾到y(tǒng)、項(xiàng)目管理、決策支持系統(tǒng);涂竹松(1989-),男,碩士研究生,研究方向?yàn)樵朴?jì)算。
http://www.cnki.net/kcms/detail/61.1450.TP.20160322.1517.014.html
TP31
A
1673-629X(2016)04-0036-05
10.3969/j.issn.1673-629X.2016.04.008