趙國(guó)鋒,葛丹鳳
(1.重慶郵電大學(xué) 電子信息與網(wǎng)絡(luò)研究院, 重慶 400065; 2.重慶市光通信與網(wǎng)絡(luò)高校重點(diǎn)實(shí)驗(yàn)室, 重慶 400065)
?
數(shù)據(jù)虛擬化研究綜述
趙國(guó)鋒1,2,葛丹鳳1
(1.重慶郵電大學(xué) 電子信息與網(wǎng)絡(luò)研究院, 重慶 400065; 2.重慶市光通信與網(wǎng)絡(luò)高校重點(diǎn)實(shí)驗(yàn)室, 重慶 400065)
摘要:大數(shù)據(jù)系統(tǒng)中數(shù)據(jù)源多,數(shù)據(jù)規(guī)模大,且數(shù)據(jù)具有異構(gòu)異質(zhì)的特點(diǎn),為滿足各種數(shù)據(jù)集成需求,如何快速高效地整合數(shù)據(jù)就顯得越來(lái)越重要且具有挑戰(zhàn)性。數(shù)據(jù)虛擬化能夠靈活地實(shí)現(xiàn)各種數(shù)據(jù)集成需求,介紹數(shù)據(jù)虛擬化的概念、優(yōu)勢(shì)及應(yīng)用需求,給出一種數(shù)據(jù)虛擬化系統(tǒng)架構(gòu),并對(duì)其中的數(shù)據(jù)虛擬化平面與管理平面以及各層的功能進(jìn)行了闡述。重點(diǎn)針對(duì)數(shù)據(jù)虛擬化系統(tǒng)中存在的一些關(guān)鍵問(wèn)題與挑戰(zhàn)進(jìn)行了詳細(xì)分析,給出了需要進(jìn)一步研究的課題與方向。
關(guān)鍵詞:大數(shù)據(jù);數(shù)據(jù)集成;數(shù)據(jù)虛擬化
0引言
近年來(lái),大數(shù)據(jù)為眾多行業(yè)的發(fā)展帶來(lái)了重大機(jī)遇也面臨著艱巨挑戰(zhàn)。面對(duì)多樣化、異構(gòu)多源產(chǎn)生且跨行業(yè)整合的大規(guī)模數(shù)據(jù),尤其是半結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù),必須解決數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)分析、數(shù)據(jù)管理、數(shù)據(jù)安全5個(gè)方面的問(wèn)題[1-4]。
在大數(shù)據(jù)技術(shù)創(chuàng)新的第一階段,需要解決的主要問(wèn)題是如何高效地組織存儲(chǔ)與快速處理大數(shù)據(jù)。出現(xiàn)了以Hadoop為代表的分布式存儲(chǔ)計(jì)算架構(gòu)、以HDFS(Hadoop distributed fiel system)為代表的分布式文件系統(tǒng)、以BigTable、DynamoDB為代表的多種存儲(chǔ)模型、大規(guī)模并行處理(massively parallel processing,MPP)數(shù)據(jù)庫(kù)等大數(shù)據(jù)處理技術(shù),這些技術(shù)是建立在大規(guī)模集群基礎(chǔ)上的,需要大量的物理資源,其中也必然存在手工部署難、成本高、效率低、單點(diǎn)失效(無(wú)法保證服務(wù)的連續(xù)性)等問(wèn)題[5-6]。
除了極少數(shù)企業(yè),如Google,F(xiàn)acebook等,大多數(shù)企業(yè)并不具備提供上述技術(shù)與基礎(chǔ)設(shè)施的能力,而云計(jì)算[7-8]為大數(shù)據(jù)提供了可以彈性擴(kuò)展、相對(duì)便宜的存儲(chǔ)空間和計(jì)算資源,使得越來(lái)越多的企業(yè)將自己的各種應(yīng)用程序及信息基礎(chǔ)設(shè)施轉(zhuǎn)移到云平臺(tái)上,云計(jì)算模式帶來(lái)了大數(shù)據(jù)技術(shù)的第2次創(chuàng)新,即以用戶業(yè)務(wù)需求為基礎(chǔ)的技術(shù)創(chuàng)新[9-11]。
在構(gòu)建全面的云基礎(chǔ)設(shè)施時(shí),虛擬化是最主要的技術(shù)創(chuàng)新。目前云中心使用的虛擬化技術(shù)通常包括計(jì)算虛擬化(虛擬機(jī)),存儲(chǔ)虛擬化和網(wǎng)絡(luò)虛擬化技術(shù)。這些技術(shù)成為構(gòu)建云中心信息基礎(chǔ)設(shè)施的基石,也為云中的大數(shù)據(jù)分析應(yīng)用提供了技術(shù)保障。作為虛擬化技術(shù)的一種延伸,數(shù)據(jù)虛擬化技術(shù)引入到基于云的大數(shù)據(jù)平臺(tái),使得云上的大數(shù)據(jù)擁有跨節(jié)點(diǎn)、集群和層化的功能服務(wù),為端用戶提供高靈活性[12-16]。大數(shù)據(jù)促使數(shù)據(jù)虛擬化成為一種新興的數(shù)據(jù)集成與管理方法,應(yīng)用領(lǐng)域由金融服務(wù)、電信業(yè)和政府部門(mén)逐漸擴(kuò)展到醫(yī)療、保險(xiǎn)、零售、制造、電子商務(wù)及媒體/娛樂(lè)行業(yè)等[17-19]。
伴隨著SaaS(software-as-a-service),IaaS(infrastructure-as-a-service)、PaaS(platform-as-a-service)等云計(jì)算模式以及大數(shù)據(jù)的應(yīng)用,人們逐步認(rèn)識(shí)到數(shù)據(jù)的價(jià)值并且將數(shù)據(jù)作為一種服務(wù)。同時(shí)也誕生新的商業(yè)模式,使用戶可以按需訂購(gòu)各種所需的數(shù)據(jù)服務(wù)[20]。數(shù)據(jù)即服務(wù)(data-as-a-service,DaaS)作為一種數(shù)據(jù)資源的集中化管理和服務(wù)提供方法,使數(shù)據(jù)服務(wù)的提供更靈活,更有利于發(fā)揮數(shù)據(jù)的價(jià)值。同時(shí)大數(shù)據(jù)時(shí)代的到來(lái)也將促進(jìn)DaaS模式的快速發(fā)展,用戶將重點(diǎn)關(guān)注數(shù)據(jù)服務(wù)帶來(lái)的價(jià)值而不再是技術(shù)細(xì)節(jié)[21]。
數(shù)據(jù)虛擬化是實(shí)現(xiàn)數(shù)據(jù)服務(wù)的關(guān)鍵技術(shù),但是它也并非一個(gè)新概念。早在2003年就有人提出用數(shù)據(jù)虛擬化將多源數(shù)據(jù)進(jìn)行統(tǒng)一邏輯抽象、集成或封裝為數(shù)據(jù)服務(wù)發(fā)布[22-23],2009年引起一些研究者注意但并沒(méi)有得到更多關(guān)注[24-25]。近年來(lái)隨著大數(shù)據(jù)技術(shù)的發(fā)展,數(shù)據(jù)虛擬化再次得到重視。一般性來(lái)說(shuō),虛擬化是指對(duì)物理資源的透明模擬仿真。它將物理資源和邏輯資源相分離,使用戶僅與邏輯的虛擬資源進(jìn)行交互。因此物理上多個(gè)數(shù)據(jù)源可能存儲(chǔ)在各處,而數(shù)據(jù)虛擬化技術(shù)并不改變數(shù)據(jù)源的物理存儲(chǔ)位置,但是在邏輯上進(jìn)行集中以便于數(shù)據(jù)管理和使用。數(shù)據(jù)虛擬化技術(shù)能夠隱藏?cái)?shù)據(jù)存儲(chǔ)的相關(guān)技術(shù)細(xì)節(jié)及數(shù)據(jù)源位置等信息,為用戶提供統(tǒng)一的數(shù)據(jù)服務(wù)訪問(wèn)層,實(shí)現(xiàn)數(shù)據(jù)即服務(wù)的目標(biāo)。
數(shù)據(jù)虛擬化不管是作為大數(shù)據(jù)時(shí)代DaaS的一項(xiàng)關(guān)鍵技術(shù)還是一種獨(dú)立的數(shù)據(jù)集成與管理方法,都是為數(shù)據(jù)消費(fèi)者提供靈活的、多角度和全方位的公共數(shù)據(jù)訪問(wèn)。隨著用戶業(yè)務(wù)需求、云應(yīng)用的擴(kuò)展、大數(shù)據(jù)應(yīng)用場(chǎng)景及數(shù)據(jù)復(fù)雜性的增長(zhǎng),數(shù)據(jù)虛擬化將成為一種主流的數(shù)據(jù)集成管理及用戶交互技術(shù)。理論上講,數(shù)據(jù)虛擬化平臺(tái)追求的最終目標(biāo)是不僅保證數(shù)據(jù)的有效共享,還提供數(shù)據(jù)分析和挖掘服務(wù),讓各種技術(shù)性細(xì)節(jié)都“不復(fù)存在”,使用戶可以專注于解決業(yè)務(wù)應(yīng)用問(wèn)題。
1數(shù)據(jù)虛擬化的概念
1.1數(shù)據(jù)虛擬化的概念
數(shù)據(jù)虛擬化是針對(duì)異構(gòu)、多源、多所有者的數(shù)據(jù)集,通過(guò)對(duì)數(shù)據(jù)資源的邏輯虛擬化,實(shí)現(xiàn)數(shù)據(jù)的集成管理并提供統(tǒng)一的訪問(wèn)接口,以便為各種數(shù)據(jù)消費(fèi)需求提供跨數(shù)據(jù)源整合的數(shù)據(jù)服務(wù)。數(shù)據(jù)消費(fèi)者不用關(guān)心數(shù)據(jù)從哪些數(shù)據(jù)源來(lái),如何進(jìn)行集成,以及數(shù)據(jù)的存儲(chǔ)位置與方式、訪問(wèn)接口等細(xì)節(jié),數(shù)據(jù)虛擬化將這些技術(shù)細(xì)節(jié)對(duì)用戶應(yīng)用隱藏,通過(guò)一個(gè)邏輯抽象層集成管理、整合各個(gè)數(shù)據(jù)源。數(shù)據(jù)的清洗、轉(zhuǎn)換與加載在邏輯抽象層完成,實(shí)現(xiàn)用戶以完全透明的方式訪問(wèn)所有的數(shù)據(jù)源。同時(shí),數(shù)據(jù)處理整合的周期變得更短更靈活,并且能夠確保數(shù)據(jù)的統(tǒng)一訪問(wèn)、建模、部署、優(yōu)化和管理,邏輯上就像統(tǒng)一的一個(gè)數(shù)據(jù)資源,用戶只需通過(guò)統(tǒng)一的接口進(jìn)行訪問(wèn)即可[15,26-27]。
如圖1所示,來(lái)自于企業(yè)、網(wǎng)絡(luò)、感知、社交等等對(duì)象產(chǎn)生或提供的數(shù)據(jù)源,如企業(yè)銷售數(shù)據(jù)、網(wǎng)站交易數(shù)據(jù)、統(tǒng)計(jì)數(shù)據(jù)等,具有數(shù)據(jù)多樣化、異構(gòu)化、分布式、不同開(kāi)放性等特點(diǎn),數(shù)據(jù)虛擬化系統(tǒng)提供跨數(shù)據(jù)源、跨平臺(tái)的數(shù)據(jù)集成、管理與整合服務(wù),為各種應(yīng)用需求提供所需的數(shù)據(jù)服務(wù)。
圖1 數(shù)據(jù)虛擬化概念圖Fig.1 Conceptual data virtualization
1.2數(shù)據(jù)虛擬化的應(yīng)用
通過(guò)數(shù)據(jù)虛擬化,對(duì)數(shù)據(jù)消費(fèi)者而言,不需提取和存儲(chǔ)大量的異構(gòu)數(shù)據(jù)集,只需查詢請(qǐng)求已發(fā)布的數(shù)據(jù)服務(wù),然后通過(guò)對(duì)應(yīng)的APIs查詢獲取所需數(shù)據(jù)資源,從而大大簡(jiǎn)化用戶對(duì)各個(gè)分散數(shù)據(jù)源信息的訪問(wèn)。
數(shù)據(jù)虛擬化在數(shù)據(jù)質(zhì)量、緩存、查詢處理等方面也有了較大的改善。通常在數(shù)據(jù)集成中引起數(shù)據(jù)質(zhì)量問(wèn)題的根源是對(duì)源數(shù)據(jù)的多次復(fù)制轉(zhuǎn)移,而數(shù)據(jù)虛擬化恰恰從根本上解決了這個(gè)問(wèn)題。數(shù)據(jù)虛擬化通過(guò)邏輯抽象層實(shí)現(xiàn)源數(shù)據(jù)的共享,而且不需關(guān)心數(shù)據(jù)源的位置,避免了數(shù)據(jù)多次復(fù)制、轉(zhuǎn)移、加載過(guò)程導(dǎo)致的數(shù)據(jù)不一致等問(wèn)題,從而提高了數(shù)據(jù)質(zhì)量,降低數(shù)據(jù)出錯(cuò)的風(fēng)險(xiǎn)[28]。
在數(shù)據(jù)集成方面,郭樹(shù)盛等[29]提出一種基于數(shù)據(jù)虛擬化的新型TEL方法,利用數(shù)據(jù)虛擬化創(chuàng)建虛擬表,在數(shù)據(jù)抽取和加載之前完成虛擬轉(zhuǎn)換任務(wù),避免應(yīng)用臨時(shí)數(shù)據(jù)存儲(chǔ)區(qū)來(lái)暫存抽取過(guò)來(lái)的多源數(shù)據(jù),減少數(shù)據(jù)緩存壓力。此外文中還針對(duì)傳統(tǒng)ETL(extract-transform-load)中存在的數(shù)據(jù)臨時(shí)存儲(chǔ)、查詢響應(yīng)慢問(wèn)題,提出基于數(shù)據(jù)虛擬化的SeaBase架構(gòu)(SeaBase是一個(gè)關(guān)系云數(shù)據(jù)庫(kù)而非一組數(shù)據(jù)庫(kù)的聯(lián)邦)。由于SQL(structured query language)查詢中可能包含不同應(yīng)用的部分相同數(shù)據(jù),利用數(shù)據(jù)虛擬化在SeaBase中緩存元數(shù)據(jù)而非源數(shù)據(jù),一方面減少查詢的響應(yīng)時(shí)間,一方面也優(yōu)化了數(shù)據(jù)存儲(chǔ)。所以,數(shù)據(jù)虛擬化在數(shù)據(jù)集成方面帶來(lái)了很多優(yōu)勢(shì),為數(shù)據(jù)集成提供了一個(gè)新的方向。
數(shù)據(jù)虛擬化在未來(lái)將有廣泛的應(yīng)用。對(duì)于企業(yè)而言,通過(guò)數(shù)據(jù)虛擬化在數(shù)據(jù)倉(cāng)庫(kù)、應(yīng)用程序、文本數(shù)據(jù)等數(shù)據(jù)源之上建立整合所有系統(tǒng)信息的數(shù)據(jù)層,可以減少數(shù)據(jù)的存儲(chǔ)和維護(hù)成本,避免企業(yè)內(nèi)部及外部數(shù)據(jù)孤島的存在。對(duì)于一些難以用數(shù)字解釋和認(rèn)知的對(duì)象,如人類復(fù)雜多變的表情不能用單純的數(shù)據(jù)進(jìn)行準(zhǔn)確表達(dá),將數(shù)據(jù)虛擬化應(yīng)用于反映認(rèn)知對(duì)象信息的海量數(shù)據(jù)分析,有助于快速進(jìn)行認(rèn)知和決策。另外,通過(guò)數(shù)據(jù)虛擬化可以將多源數(shù)據(jù)進(jìn)行整合,并以數(shù)據(jù)服務(wù)的方式發(fā)布到外部,這樣就會(huì)催生出大量新的數(shù)據(jù)服務(wù)和應(yīng)用。
2數(shù)據(jù)虛擬化系統(tǒng)架構(gòu)
從用戶應(yīng)用的角度出發(fā),我們認(rèn)為數(shù)據(jù)虛擬化系統(tǒng)架構(gòu)應(yīng)該包含3層:應(yīng)用層、數(shù)據(jù)虛擬化層和源數(shù)據(jù)層。其中,數(shù)據(jù)虛擬化層包括數(shù)據(jù)虛擬化平面和管理平面,二者相互結(jié)合執(zhí)行全方位的查詢、處理、集成和管理功能。數(shù)據(jù)虛擬化系統(tǒng)架構(gòu)如圖2所示。
2.1應(yīng)用層
應(yīng)用層主要是面向前端各種各樣的數(shù)據(jù)查詢?cè)L問(wèn)應(yīng)用,將用戶的查詢請(qǐng)求傳遞到數(shù)據(jù)虛擬化層。系統(tǒng)為數(shù)據(jù)消費(fèi)者的查詢請(qǐng)求提供多種訪問(wèn)接口,用于訪問(wèn)數(shù)據(jù)虛擬化系統(tǒng),如某些數(shù)據(jù)消費(fèi)者可以用JDBC/SQL接口訪問(wèn),另一些數(shù)據(jù)消費(fèi)者可以采用MDX(multi-dimensional expressions)接口或基于SOAP(simple object access protocol)接口訪問(wèn)相同的數(shù)據(jù)服務(wù),對(duì)數(shù)據(jù)消費(fèi)者而言可以根據(jù)自己確定的訪問(wèn)方式發(fā)起查詢請(qǐng)求。
圖2 數(shù)據(jù)虛擬化系統(tǒng)架構(gòu)圖Fig.2 Architecture of data virtualization system
2.2數(shù)據(jù)虛擬化層
數(shù)據(jù)虛擬化層是整個(gè)數(shù)據(jù)虛擬化系統(tǒng)的核心,包括2個(gè)平面:數(shù)據(jù)虛擬化平面和管理平面。其中,數(shù)據(jù)虛擬化平面包含4個(gè)層次的內(nèi)容,完成數(shù)據(jù)的抽象、元數(shù)據(jù)建模、數(shù)據(jù)源映射、查詢驅(qū)動(dòng)與響應(yīng)等功能;管理平面進(jìn)行系統(tǒng)配置、管理、監(jiān)測(cè)、安全、數(shù)據(jù)檢查與維護(hù)等工作。下面對(duì)數(shù)據(jù)虛擬化平面及管理平面分別進(jìn)行介紹。
2.2.1數(shù)據(jù)虛擬化平面
1)查詢響應(yīng)層。該層針對(duì)用戶的查詢需求,主要任務(wù)是制定最佳的查詢處理策略和性能優(yōu)化措施。其中處理策略是數(shù)據(jù)虛擬化系統(tǒng)根據(jù)用戶查詢請(qǐng)求對(duì)目標(biāo)數(shù)據(jù)的訪問(wèn)方式給出執(zhí)行方案與流程;優(yōu)化器是系統(tǒng)確定數(shù)據(jù)訪問(wèn)方式之后,對(duì)查詢過(guò)程作出優(yōu)化以提高查詢效率。
2)數(shù)據(jù)服務(wù)層。數(shù)據(jù)虛擬化系統(tǒng)面向用戶會(huì)創(chuàng)建各種數(shù)據(jù)服務(wù)。數(shù)據(jù)服務(wù)的最常用對(duì)象是數(shù)據(jù)視圖或虛擬表。整體上看,數(shù)據(jù)虛擬化系統(tǒng)中會(huì)定義2種類型的表:即虛擬表和數(shù)據(jù)封裝表。由于不同的數(shù)據(jù)源所有者會(huì)開(kāi)放全部或部分的數(shù)據(jù)給虛擬化系統(tǒng),這些開(kāi)放數(shù)據(jù)可能是原始數(shù)據(jù),更多的是加工后的數(shù)據(jù)。封裝表對(duì)應(yīng)于不同的數(shù)據(jù)源,實(shí)現(xiàn)對(duì)開(kāi)放源數(shù)據(jù)的接口封裝,并作為這些數(shù)據(jù)源的代理供虛擬化系統(tǒng)調(diào)用。
在數(shù)據(jù)服務(wù)層進(jìn)行數(shù)據(jù)視圖/虛擬表的定義、認(rèn)證和授權(quán);數(shù)據(jù)服務(wù)的封裝、發(fā)布與組合。視圖/虛擬表的定義是建立在封裝表或其他虛擬表之上,虛擬表之間可以進(jìn)行組合與嵌套,虛擬表在定義之后可以作為一種數(shù)據(jù)服務(wù)發(fā)布出去。數(shù)據(jù)服務(wù)更多關(guān)注數(shù)據(jù)資源的獲取與集成方式,而虛擬表的定義關(guān)注的是數(shù)據(jù)本身,因此數(shù)據(jù)虛擬化系統(tǒng)可以以虛擬表的方式呈現(xiàn)數(shù)據(jù)服務(wù)所需的底層數(shù)據(jù)。
3)元數(shù)據(jù)組織層。數(shù)據(jù)虛擬化系統(tǒng)不會(huì)存儲(chǔ)數(shù)據(jù)源的物理數(shù)據(jù),但是針對(duì)不同的數(shù)據(jù)源開(kāi)放數(shù)據(jù),需要對(duì)開(kāi)放數(shù)據(jù)源的元數(shù)據(jù)進(jìn)行組織存儲(chǔ)與管理,并面向數(shù)據(jù)服務(wù)層作為其定義數(shù)據(jù)視圖或虛擬表的基礎(chǔ)。針對(duì)用戶的查詢請(qǐng)求,高性能的元數(shù)據(jù)組織、存儲(chǔ)與快速查找是保證用戶獲取所需數(shù)據(jù)資源的關(guān)鍵。該層主要包括2個(gè)方面的內(nèi)容:元數(shù)據(jù)的抽取、存儲(chǔ)與元數(shù)據(jù)組織模型。
4)數(shù)據(jù)映射層。數(shù)據(jù)映射層實(shí)現(xiàn)虛擬表到數(shù)據(jù)源的映射,從而保證數(shù)據(jù)虛擬化平臺(tái)向數(shù)據(jù)消費(fèi)者交付正確的數(shù)據(jù)。在此應(yīng)該理清虛擬表、映射與封裝表三者之間的關(guān)系。虛擬表是建立在封裝表基礎(chǔ)之上,而封裝表是以數(shù)據(jù)源為基礎(chǔ)的。封裝表與數(shù)據(jù)源之間是多對(duì)一的關(guān)系,根據(jù)一個(gè)數(shù)據(jù)源可以定義一個(gè)或多個(gè)封裝表。定義虛擬表的過(guò)程也是定義映射的過(guò)程,在封裝表基礎(chǔ)上定義虛擬表。映射對(duì)于虛擬表而言相當(dāng)于查詢定義,包含虛擬表的結(jié)構(gòu)(行、列選擇;列轉(zhuǎn)換;表名稱改變;分組等)、數(shù)據(jù)如何被轉(zhuǎn)換為虛擬表的內(nèi)容等。如果沒(méi)有映射,虛擬表就是一個(gè)沒(méi)有內(nèi)容的空表。因此,要保證正確的映射,必須正確分析封裝表中數(shù)據(jù)間關(guān)系,保證從數(shù)據(jù)源到封裝表再到虛擬表的定義是準(zhǔn)確的。數(shù)據(jù)虛擬化系統(tǒng)中也允許少量虛擬表在起初不定義映射,它們是從數(shù)據(jù)消費(fèi)者角度來(lái)定義的(自頂向下),因此定義時(shí)只關(guān)心數(shù)據(jù)消費(fèi)需求而不考慮數(shù)據(jù)源表中數(shù)據(jù)類型、列間關(guān)系等,但是在后期必需執(zhí)行映射的再定義。
總結(jié)來(lái)說(shuō),當(dāng)用戶發(fā)起一個(gè)查詢請(qǐng)求,查詢引擎確定查詢策略并進(jìn)行查詢結(jié)果計(jì)算、優(yōu)化及結(jié)果響應(yīng)。若數(shù)據(jù)服務(wù)層沒(méi)有預(yù)先定義該查詢對(duì)應(yīng)的虛擬表,則元數(shù)據(jù)組織層需根據(jù)系統(tǒng)存儲(chǔ)的元數(shù)據(jù)信息對(duì)查詢所需的相關(guān)元數(shù)據(jù)進(jìn)行組織,生成對(duì)應(yīng)的臨時(shí)虛擬表。數(shù)據(jù)映射層實(shí)施相應(yīng)虛擬表與封裝表的映射,進(jìn)而訪問(wèn)底層數(shù)據(jù)源。
2.2.2管理平面
管理平面的目標(biāo)是通過(guò)配置、監(jiān)測(cè)、管理控制等手段支撐整個(gè)虛擬化系統(tǒng)的安全、可靠、高效運(yùn)行。通過(guò)對(duì)數(shù)據(jù)虛擬化系統(tǒng)的配置,完成生產(chǎn)、備份、故障切換等任務(wù)。數(shù)據(jù)虛擬化平臺(tái)中的整合管理工具支持軟件供應(yīng),對(duì)源數(shù)據(jù)訪問(wèn)的授權(quán),與LDAP(lightweight directory access protocol)的整合以及其他安全工具等。系統(tǒng)管理工具管理服務(wù)器會(huì)話、數(shù)據(jù)服務(wù)、元數(shù)據(jù)等。
針對(duì)數(shù)據(jù)虛擬化平面的4個(gè)層次,管理平面也要完成對(duì)應(yīng)的管理功能。對(duì)于數(shù)據(jù)映射層而言,要實(shí)現(xiàn)每個(gè)應(yīng)用所需數(shù)據(jù)的映射,管理層必須實(shí)現(xiàn)對(duì)封裝表、源數(shù)據(jù)、源數(shù)據(jù)間關(guān)系的管理;在元數(shù)據(jù)組織層,管理環(huán)境要實(shí)施對(duì)元數(shù)據(jù)的清洗、一致性檢測(cè)等任務(wù),保證元數(shù)據(jù)緩存的高效性;在數(shù)據(jù)服務(wù)層,管理環(huán)境要完成對(duì)虛擬表或數(shù)據(jù)服務(wù)組合、更新過(guò)程的維護(hù)等,部署管理器完成對(duì)數(shù)據(jù)服務(wù)的擴(kuò)展部署,確保其持續(xù)可用;針對(duì)查詢響應(yīng)層,控制器、監(jiān)測(cè)器、管理器等共同作用保證整個(gè)查詢過(guò)程的正確實(shí)施。
2.3源數(shù)據(jù)層
源數(shù)據(jù)層針對(duì)各個(gè)數(shù)據(jù)所有者提供的多源異構(gòu)數(shù)據(jù)源進(jìn)行統(tǒng)一的接口管理,實(shí)現(xiàn)數(shù)據(jù)虛擬化系統(tǒng)中各種不同數(shù)據(jù)源的訪問(wèn)細(xì)節(jié)對(duì)用戶進(jìn)行屏蔽。通過(guò)ODBC/JDBC,JSON,API等接口,實(shí)現(xiàn)源數(shù)據(jù)的獲取和傳輸,最終完成用戶所需數(shù)據(jù)資源的交付。
特別注意:源數(shù)據(jù)層只是對(duì)各種物理數(shù)據(jù)源的訪問(wèn)接口管理,并不需要了解具體的物理源數(shù)據(jù)的組織、存儲(chǔ)及管理方式;物理數(shù)據(jù)源由所有者管理,并根據(jù)自身策略來(lái)開(kāi)放全部或部分源數(shù)據(jù)的視圖給數(shù)據(jù)虛擬化系統(tǒng)。
3數(shù)據(jù)虛擬化的研究問(wèn)題
一個(gè)完整的數(shù)據(jù)虛擬化系統(tǒng)應(yīng)具備創(chuàng)建視圖/虛擬表、提供數(shù)據(jù)服務(wù)、優(yōu)化聯(lián)合查詢、數(shù)據(jù)緩存、以及細(xì)粒度的安全性等能力,使用戶在不同數(shù)據(jù)源中發(fā)現(xiàn)數(shù)據(jù)、檢索與訪問(wèn)數(shù)據(jù)。雖然數(shù)據(jù)虛擬化會(huì)在很大程度上能夠提高數(shù)據(jù)集成的靈活性和敏捷性,如用戶通過(guò)單一接入點(diǎn)訪問(wèn)不同數(shù)據(jù)源的數(shù)據(jù)、數(shù)據(jù)服務(wù)面向所有的數(shù)據(jù)消費(fèi)者、避免數(shù)據(jù)物理轉(zhuǎn)移、提高數(shù)據(jù)使用率等,但是仍然存在一些問(wèn)題與挑戰(zhàn)需要研究解決。
3.1異構(gòu)數(shù)據(jù)源的集成
不同數(shù)據(jù)源的數(shù)據(jù)可能采用不同結(jié)構(gòu)的數(shù)據(jù),包括結(jié)構(gòu)化、半結(jié)構(gòu)化與混合結(jié)構(gòu)數(shù)據(jù)。如有的數(shù)據(jù)集采用關(guān)系數(shù)據(jù)模式,有的采用HTML/XML文件,有的采用日志格式文件等。這些異構(gòu)的數(shù)據(jù)源是數(shù)據(jù)統(tǒng)一集成中必然存在的巨大挑戰(zhàn)。一些研究者從不同角度出發(fā)進(jìn)行研究,例如,改進(jìn)和擴(kuò)展查詢語(yǔ)言,將查詢請(qǐng)求劃分為多個(gè)子查詢,基于語(yǔ)義相似性對(duì)元數(shù)據(jù)融合等[30-31]。數(shù)據(jù)虛擬化面向的是多種不同應(yīng)用,若對(duì)每類應(yīng)用的查詢,分別優(yōu)化其查詢語(yǔ)言則會(huì)影響整個(gè)數(shù)據(jù)虛擬化平臺(tái)的效率,因此數(shù)據(jù)虛擬化平臺(tái)提供多種訪問(wèn)接口對(duì)來(lái)自不同數(shù)據(jù)源的數(shù)據(jù)進(jìn)行統(tǒng)一存取或訪問(wèn)。例如,對(duì)于關(guān)系數(shù)據(jù)庫(kù)SQL Server,Oracle,Access,Excel等利用ODBC接口通過(guò)SQL語(yǔ)言訪問(wèn);對(duì)于web應(yīng)用程序則可以用REST或JSON接口等,以便屏蔽數(shù)據(jù)源數(shù)據(jù)模型的異構(gòu)性,提供對(duì)數(shù)據(jù)的統(tǒng)一訪問(wèn)。解決數(shù)據(jù)源的異構(gòu)性是保證數(shù)據(jù)服務(wù)的基礎(chǔ),但是由于數(shù)據(jù)源的多樣性及復(fù)雜性,可能需要開(kāi)發(fā)和改善更多種訪問(wèn)接口,所以對(duì)于數(shù)據(jù)源的異構(gòu)性問(wèn)題不容小覷。
3.2異質(zhì)數(shù)據(jù)的集成
對(duì)于數(shù)據(jù)異質(zhì)性問(wèn)題,Sujansky[32]從結(jié)構(gòu)差異、命名差異、語(yǔ)義差異和內(nèi)容差異4個(gè)方面分析了多源數(shù)據(jù)的異質(zhì)性,如數(shù)據(jù)格式中存在多種日期與時(shí)間戳的格式,相同的數(shù)據(jù)在不同的數(shù)據(jù)源中有不同的定義等,因此數(shù)據(jù)異質(zhì)性處理不當(dāng)會(huì)導(dǎo)致集成數(shù)據(jù)的質(zhì)量急劇下降。一些解決方案通過(guò)將數(shù)據(jù)虛擬化、抽象化,用一種統(tǒng)一的描述語(yǔ)言(如XML)或代碼生成技術(shù)對(duì)所需數(shù)據(jù)進(jìn)行處理或創(chuàng)建虛擬表、自動(dòng)生成數(shù)據(jù)服務(wù)[33-34],對(duì)用戶而言屏蔽掉了底層數(shù)據(jù)的存儲(chǔ)格式、語(yǔ)義等方面的差異,一定程度上解決了這一問(wèn)題,但是仍沒(méi)有通用的數(shù)據(jù)模型。
由于XML語(yǔ)言易于操作、理解、跨平臺(tái)可移植性等特點(diǎn),很多數(shù)據(jù)虛擬化平臺(tái)采用XML語(yǔ)言對(duì)數(shù)據(jù)進(jìn)行統(tǒng)一描述,如文獻(xiàn)[35]從數(shù)據(jù)描述方式的通用性出發(fā),提出一種基于XML語(yǔ)言的DIMs(data information model)數(shù)據(jù)信息模型,并滿足數(shù)據(jù)模型的可移植性。
解決數(shù)據(jù)異質(zhì)性是進(jìn)行元數(shù)據(jù)組織,創(chuàng)建可重用視圖/虛擬表的前提。值得注意的是,由于底層數(shù)據(jù)模型的差異,在轉(zhuǎn)化為統(tǒng)一數(shù)據(jù)格式時(shí),如何保證數(shù)據(jù)的正確、完整、一致性,從而確保數(shù)據(jù)映射的準(zhǔn)確性,這是急需解決的一個(gè)關(guān)鍵問(wèn)題。
3.3數(shù)據(jù)映射
在圖2所示的數(shù)據(jù)映射層,數(shù)據(jù)映射對(duì)查詢到準(zhǔn)確的源數(shù)據(jù)十分重要。基于一個(gè)數(shù)據(jù)源可以定義多個(gè)封裝表,基于一個(gè)封裝表也可以定義多個(gè)虛擬表。由于底層數(shù)據(jù)源的復(fù)雜多樣性,分散的數(shù)據(jù)源間不可避免地會(huì)出現(xiàn)數(shù)據(jù)重復(fù),建立的封裝表間也會(huì)出現(xiàn)數(shù)據(jù)重疊現(xiàn)象。對(duì)查詢而言,同一虛擬表可能會(huì)產(chǎn)生多個(gè)映射,進(jìn)而引發(fā)底層數(shù)據(jù)源中相同數(shù)據(jù)的重復(fù)查詢,導(dǎo)致查詢的整體效率下降[36-38]。這個(gè)問(wèn)題涉及到封裝表與映射策略,在定義封裝表及映射過(guò)程中,要考慮到源端數(shù)據(jù)中的重復(fù)數(shù)據(jù)現(xiàn)象,對(duì)于基于不同數(shù)據(jù)源創(chuàng)建的有重疊數(shù)據(jù)的封裝表是進(jìn)行舍棄還是有效地合并?此外對(duì)于自頂而下定義的虛擬表,如何根據(jù)查詢需求來(lái)正確定義映射?在保證數(shù)據(jù)消費(fèi)者查詢到所需數(shù)據(jù)的同時(shí)又避免重復(fù)數(shù)據(jù)查詢,這是實(shí)現(xiàn)數(shù)據(jù)高效及準(zhǔn)確映射時(shí)面臨的挑戰(zhàn)。
3.4元數(shù)據(jù)組織模型
類似于數(shù)據(jù)庫(kù)管理系統(tǒng),元數(shù)據(jù)也是虛擬化系統(tǒng)運(yùn)行的核心。在元數(shù)據(jù)組織模型方面,目前的數(shù)據(jù)組織模型中,有些只關(guān)注某種特定應(yīng)用或服務(wù)本身,沒(méi)有考慮數(shù)據(jù)源間的數(shù)據(jù)關(guān)系,導(dǎo)致用戶在查詢時(shí)不得不對(duì)數(shù)據(jù)描述及組織方式進(jìn)行分析,再通過(guò)編程查找底層數(shù)據(jù)源,這對(duì)于希望簡(jiǎn)單快速地獲取所需數(shù)據(jù)資源的用戶而言過(guò)于復(fù)雜[39-41]。如文獻(xiàn)[39]在數(shù)據(jù)即服務(wù)思想基礎(chǔ)上,針對(duì)傳統(tǒng)HTML數(shù)據(jù)模型在用戶查詢方面的不足,提出一種概念信息模型DEMODS(description model for DaaS ),該模型隱藏了服務(wù)自動(dòng)查詢方式,將各數(shù)據(jù)源的數(shù)據(jù)交予數(shù)據(jù)組合和分析工具,對(duì)用戶而言不用關(guān)心中間查詢的操作。文獻(xiàn)[40]針對(duì)鐵路分布式系統(tǒng)的信息轉(zhuǎn)換、數(shù)據(jù)共享中存在的數(shù)據(jù)模型的異質(zhì)性,提出一種基于XML的三維元數(shù)據(jù)組織模型,描述了不同系統(tǒng)中數(shù)據(jù)間關(guān)系,并實(shí)現(xiàn)不同數(shù)據(jù)模型與該元數(shù)據(jù)組織模型間的映射。
針對(duì)一個(gè)數(shù)據(jù)虛擬化系統(tǒng),合適的元數(shù)據(jù)組織模型是關(guān)鍵。根據(jù)用戶查詢需求及源數(shù)據(jù)間關(guān)系,對(duì)元數(shù)據(jù)進(jìn)行分析、重新歸類,建立結(jié)構(gòu)性與關(guān)聯(lián)性良好的、通用的元數(shù)據(jù)組織模型,特別是在數(shù)據(jù)服務(wù)層沒(méi)有預(yù)先定義虛擬表或數(shù)據(jù)服務(wù)的情況下,元數(shù)據(jù)組織模型對(duì)于及時(shí)快捷的數(shù)據(jù)交付十分重要。目前虛擬化系統(tǒng)中的元數(shù)據(jù)組織模型還沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),由于應(yīng)用需求的靈活多樣性,研究合適的元數(shù)據(jù)組織模型非常關(guān)鍵。
3.5數(shù)據(jù)服務(wù)
大數(shù)據(jù)技術(shù)的創(chuàng)新及DaaS模式的發(fā)展不僅促進(jìn)了數(shù)據(jù)服務(wù)的潮流還推動(dòng)了組合數(shù)據(jù)服務(wù)的研究,即多個(gè)基本數(shù)據(jù)服務(wù)通過(guò)關(guān)聯(lián)可以組合成滿足業(yè)務(wù)需求的復(fù)合數(shù)據(jù)服務(wù)。文獻(xiàn)[42-44]針對(duì)DaaS組合服務(wù)中存在的數(shù)據(jù)結(jié)構(gòu)的不兼容、數(shù)據(jù)隱私問(wèn)題進(jìn)行了研究,并提出了相應(yīng)的解決方法。數(shù)據(jù)虛擬化系統(tǒng)同樣支持?jǐn)?shù)據(jù)服務(wù)間的組合,在組合過(guò)程中,由于不同數(shù)據(jù)服務(wù)中數(shù)據(jù)屬性、數(shù)據(jù)隱私程度、數(shù)據(jù)結(jié)構(gòu)等的不同,也存在數(shù)據(jù)結(jié)構(gòu)的不兼容、數(shù)據(jù)質(zhì)量下降、數(shù)據(jù)訪問(wèn)權(quán)限差異等問(wèn)題,目前數(shù)據(jù)虛擬化方案對(duì)這方面的研究較少,大都是用戶在利用相應(yīng)的分析組合工具進(jìn)行處理,這增加了用戶的負(fù)擔(dān)。
由于數(shù)據(jù)虛擬化系統(tǒng)創(chuàng)建的主要對(duì)象是數(shù)據(jù)服務(wù),未來(lái)的研究中可以將數(shù)據(jù)虛擬化系統(tǒng)與DaaS模式融合,將數(shù)據(jù)虛擬化系統(tǒng)創(chuàng)建的數(shù)據(jù)服務(wù)作為基本服務(wù),通過(guò)DaaS將基本數(shù)據(jù)服務(wù)模式進(jìn)行合并、刪除、排序、數(shù)據(jù)結(jié)構(gòu)調(diào)整等,組合成新的數(shù)據(jù)服務(wù),在減少用戶操作的同時(shí)保證組合數(shù)據(jù)服務(wù)的質(zhì)量。
另外,對(duì)于非關(guān)系數(shù)據(jù)庫(kù),非結(jié)構(gòu)化的數(shù)據(jù)內(nèi)容而言,如何創(chuàng)建數(shù)據(jù)服務(wù),能否以虛擬表的形式呈現(xiàn)各種底層數(shù)據(jù)源的查詢,這也是創(chuàng)建數(shù)據(jù)服務(wù)中的一個(gè)重要問(wèn)題。為了保證數(shù)據(jù)服務(wù)的持續(xù)可用,數(shù)據(jù)虛擬化系統(tǒng)需要對(duì)虛擬表進(jìn)行更新,涉及到虛擬表如何根據(jù)底層數(shù)據(jù)源的變化進(jìn)行自動(dòng)即時(shí)更新。針對(duì)數(shù)據(jù)服務(wù)生成的虛擬表,如何保證更新的一致性及效率問(wèn)題都是需要研究的重要問(wèn)題[45-46]。
3.6查詢優(yōu)化
查詢優(yōu)化的目標(biāo)是提高用戶獲取所需數(shù)據(jù)資源的效率,也是數(shù)據(jù)虛擬化系統(tǒng)中的關(guān)鍵問(wèn)題。一些研究利用中間件思想,將查詢優(yōu)化建立在數(shù)據(jù)模型基礎(chǔ)上。通過(guò)對(duì)數(shù)據(jù)的分析挖掘提取出能夠表示數(shù)據(jù)屬性、數(shù)據(jù)間關(guān)系的最少元數(shù)據(jù),通過(guò)訪問(wèn)元數(shù)據(jù)縮小數(shù)據(jù)的查詢范圍從而減少查詢響應(yīng)時(shí)間,優(yōu)化查詢[47],這也從另一個(gè)角度說(shuō)明了元數(shù)據(jù)的質(zhì)量及組織模型的重要性。也有一些研究通過(guò)優(yōu)化查詢系統(tǒng)的性能,提高查詢效率,如文獻(xiàn)[48]通過(guò)在存儲(chǔ)系統(tǒng)中加入一組豐富的硬件加速引擎來(lái)提高對(duì)存儲(chǔ)數(shù)據(jù)的并行處理能力。一些企業(yè)如Cisco,Composite利用基于規(guī)則或成本的優(yōu)化器對(duì)每個(gè)查詢請(qǐng)求制定最佳查詢方案,并利用掃描多路技術(shù)、約束傳播技術(shù)、并行處理技術(shù)等優(yōu)化網(wǎng)絡(luò)資源和數(shù)據(jù)庫(kù),從而保證目標(biāo)數(shù)據(jù)及時(shí)快捷地交付[49]。
目前數(shù)據(jù)虛擬化系統(tǒng)常用的一些查詢優(yōu)化技術(shù)有Query substitution, SQL pushdown,Parallel processing,Distributed joins,Ship joins,SQL override等。這些技術(shù)針對(duì)不同的應(yīng)用場(chǎng)景,在某些方面也存在一定的限制,如Query substitution主要應(yīng)用于嵌套虛擬表的查詢;SQL pushdown不能用于底層數(shù)據(jù)源為序列文件或XML Web服務(wù);Ship joins一般用于合并2個(gè)不同的數(shù)據(jù)源[50-52]。
由于應(yīng)用的多樣性,沒(méi)有一種查詢策略能夠適用于所有的應(yīng)用場(chǎng)景。此外在提高查詢效率方面,除了應(yīng)用這些優(yōu)化技術(shù),對(duì)于一些特定的查詢應(yīng)用,有時(shí)需要將查詢請(qǐng)求轉(zhuǎn)化為另一種查詢語(yǔ)言。
從另外一個(gè)角度來(lái)看,應(yīng)用緩存技術(shù)對(duì)于提高系統(tǒng)查詢性能有極大的裨益。數(shù)據(jù)虛擬化系統(tǒng)通過(guò)提供靈活可擴(kuò)展的緩存機(jī)制,針對(duì)底層數(shù)據(jù)源進(jìn)行相關(guān)數(shù)據(jù)的緩存,對(duì)于查詢而言,可以從緩存中查找數(shù)據(jù),加速查詢并減小底層數(shù)據(jù)源的查詢負(fù)載。此外,為了保證緩存數(shù)據(jù)的一致性和新鮮度,還必須根據(jù)底層數(shù)據(jù)的變化即時(shí)更新緩存,這會(huì)涉及到數(shù)據(jù)一致性、更新效率問(wèn)題。
3.7系統(tǒng)擴(kuò)展性
數(shù)據(jù)虛擬化系統(tǒng)作為一種平臺(tái),新的數(shù)據(jù)源、應(yīng)用請(qǐng)求、數(shù)據(jù)結(jié)構(gòu)等會(huì)持續(xù)加入,系統(tǒng)必須具備良好的擴(kuò)展性。
新的數(shù)據(jù)所有者會(huì)開(kāi)放數(shù)據(jù)源并注冊(cè)到系統(tǒng)平臺(tái),原有的開(kāi)放數(shù)據(jù)源也會(huì)全部或部分注銷,這樣會(huì)引起系統(tǒng)內(nèi)的元數(shù)據(jù)組織、虛擬表定義、數(shù)據(jù)映射、數(shù)據(jù)緩存等等面臨重構(gòu)問(wèn)題,系統(tǒng)必須具備在線添加、修改、更新能力,如何提高系統(tǒng)的擴(kuò)展性與伸縮性是一個(gè)重要問(wèn)題。
由于用戶的應(yīng)用查詢需求是無(wú)法預(yù)測(cè)的,要保證數(shù)據(jù)查詢的性能,尤其是在處理一些大容量數(shù)據(jù)時(shí),必須考慮到系統(tǒng)規(guī)模擴(kuò)展后帶來(lái)的性能挑戰(zhàn)。在設(shè)計(jì)與開(kāi)發(fā)數(shù)據(jù)虛擬化系統(tǒng)的早期階段,就需注意考慮數(shù)據(jù)查詢處理過(guò)程的性能與相關(guān)解決方案的可擴(kuò)展性,以提高數(shù)據(jù)虛擬化系統(tǒng)的擴(kuò)展性及查詢性能。
另外,在數(shù)據(jù)源不斷地更新與數(shù)據(jù)消費(fèi)者訪問(wèn)規(guī)模增長(zhǎng)的情況下,如何確保數(shù)據(jù)源、封裝表與虛擬表的同步性、數(shù)據(jù)一致性,并保證所有數(shù)據(jù)消費(fèi)者的QoE體驗(yàn),這也是數(shù)據(jù)虛擬化系統(tǒng)需要考慮的重要課題。
3.8數(shù)據(jù)安全
數(shù)據(jù)安全包括數(shù)據(jù)的認(rèn)證、授權(quán)和加密,認(rèn)證和授權(quán)主要是針對(duì)用戶而言的,而加密則是從數(shù)據(jù)本身考慮的,數(shù)據(jù)只有在安全的基礎(chǔ)上實(shí)現(xiàn)有效的共享才會(huì)產(chǎn)生更大的價(jià)值[53-55]。數(shù)據(jù)虛擬化系統(tǒng)針對(duì)不同應(yīng)用的相同數(shù)據(jù)服務(wù)實(shí)行不同的認(rèn)證和授權(quán)機(jī)制,這一特性對(duì)數(shù)據(jù)安全又有新的要求,如查詢與數(shù)據(jù)源間的安全通信、跨平臺(tái)/跨系統(tǒng)訪問(wèn)的數(shù)據(jù)安全等。
當(dāng)用戶進(jìn)行數(shù)據(jù)請(qǐng)求訪問(wèn)時(shí),數(shù)據(jù)虛擬化系統(tǒng)會(huì)對(duì)用戶憑證(如用戶ID、密碼等)進(jìn)行檢測(cè)。不同的用戶即便是對(duì)相同的數(shù)據(jù)元素的訪問(wèn)權(quán)限也是不同的,如對(duì)于一個(gè)虛擬表,有些用戶可能只具有該表部分內(nèi)容的訪問(wèn)權(quán)限。需特別注意的是數(shù)據(jù)虛擬化系統(tǒng)只執(zhí)行數(shù)據(jù)消費(fèi)者權(quán)限的檢測(cè),確定用戶對(duì)數(shù)據(jù)的訪問(wèn)權(quán)利,而源數(shù)據(jù)訪問(wèn)的授權(quán)工作則是由底層數(shù)據(jù)源的所有者決定的,二者的訪問(wèn)權(quán)限必須區(qū)分開(kāi)。有些底層數(shù)據(jù)源有自己的安全訪問(wèn)機(jī)制,對(duì)數(shù)據(jù)消費(fèi)者而言,要實(shí)施對(duì)源數(shù)據(jù)的訪問(wèn)需要具備虛擬表與底層數(shù)據(jù)源的兩層訪問(wèn)權(quán)限;也有一些底層數(shù)據(jù)存儲(chǔ)沒(méi)有定義安全機(jī)制,對(duì)上層數(shù)據(jù)訪問(wèn)是完全公開(kāi)的,用戶只執(zhí)行虛擬表的訪問(wèn)權(quán)限。因此,用戶憑證的安全保存機(jī)制、合適的授權(quán)機(jī)制、安全認(rèn)證性能等都是需要考慮的問(wèn)題。
針對(duì)數(shù)據(jù)服務(wù)訪問(wèn)權(quán)限的定義也在一定程度上限制了用戶查詢數(shù)據(jù)的范圍,因此在定義數(shù)據(jù)服務(wù)時(shí)也需要考慮相應(yīng)的安全機(jī)制。但是從另外一方面來(lái)說(shuō),過(guò)于復(fù)雜的安全機(jī)制也會(huì)影響虛擬化系統(tǒng)在查詢、處理數(shù)據(jù)時(shí)的性能。因此在設(shè)計(jì)數(shù)據(jù)服務(wù)時(shí)如何進(jìn)行安全與性能的折衷將是一個(gè)挑戰(zhàn)。
3.9系統(tǒng)管理
從圖2中可以看出,數(shù)據(jù)虛擬化系統(tǒng)實(shí)質(zhì)上也是一個(gè)數(shù)據(jù)共享的平臺(tái),它以一種更簡(jiǎn)單敏捷的架構(gòu)提供數(shù)據(jù)服務(wù),也必需提供對(duì)整個(gè)數(shù)據(jù)虛擬化環(huán)境的良好管理,解決由誰(shuí)負(fù)責(zé)共享的基礎(chǔ)架構(gòu),誰(shuí)負(fù)責(zé)共享的數(shù)據(jù)服務(wù)等問(wèn)題[24]。數(shù)據(jù)虛擬化管理平面需要多種系統(tǒng)管理工具,對(duì)系統(tǒng)運(yùn)行過(guò)程實(shí)施管理、監(jiān)控,如監(jiān)測(cè)查詢的數(shù)量、查詢性能、系統(tǒng)的可用性、緩存的使用、緩存更新的速率等,這些都是需要考慮的問(wèn)題。
4結(jié)束語(yǔ)
數(shù)據(jù)虛擬化的實(shí)質(zhì)是數(shù)據(jù)聯(lián)合及集成。對(duì)數(shù)據(jù)消費(fèi)者而言,數(shù)據(jù)虛擬化平臺(tái)將數(shù)據(jù)整合與集成,為各種用戶提供所需的數(shù)據(jù)服務(wù)。對(duì)于數(shù)據(jù)提供者而言,數(shù)據(jù)源和存儲(chǔ)位置是對(duì)用戶隔離的,數(shù)據(jù)提供者對(duì)數(shù)據(jù)進(jìn)行完整或部分開(kāi)放以供用戶共享。數(shù)據(jù)虛擬化需要屏蔽掉各數(shù)據(jù)源的異構(gòu)特性,用戶不用關(guān)心數(shù)據(jù)源位置也不用自己去進(jìn)行數(shù)據(jù)轉(zhuǎn)換和集成,通過(guò)數(shù)據(jù)虛擬化平臺(tái)只需用統(tǒng)一的訪問(wèn)規(guī)范和接口,即可獲取所需各數(shù)據(jù)源的數(shù)據(jù)。此外,利用虛擬化系統(tǒng)的整合功能,將數(shù)據(jù)資源進(jìn)行加工處理,最后以各種數(shù)據(jù)服務(wù)的方式呈現(xiàn)出來(lái),這也是數(shù)據(jù)虛擬化的魅力所在。
數(shù)據(jù)虛擬化平臺(tái)可以與SOA(service-oriented architecture)架構(gòu)結(jié)合,通過(guò)創(chuàng)建、發(fā)布數(shù)據(jù)服務(wù)和組合服務(wù)提高應(yīng)用開(kāi)發(fā)效率并簡(jiǎn)化服務(wù)維護(hù)。這樣,則數(shù)據(jù)虛擬化系統(tǒng)將成為一個(gè)數(shù)據(jù)交換平臺(tái),各類應(yīng)用所需的源數(shù)據(jù)在平臺(tái)中進(jìn)行按需整合、集成,或者通過(guò)發(fā)布數(shù)據(jù)服務(wù)或視圖到外部世界進(jìn)而催生出新的應(yīng)用,使大數(shù)據(jù)的價(jià)值發(fā)揮到最大。
隨著大數(shù)據(jù)應(yīng)用范圍的不斷拓展,混合云中的大數(shù)據(jù)存在巨大的數(shù)據(jù)異構(gòu)及異質(zhì)性挑戰(zhàn)也將推動(dòng)數(shù)據(jù)虛擬化這個(gè)領(lǐng)域方向的發(fā)展。當(dāng)然,未來(lái)數(shù)據(jù)虛擬化之路能夠走多遠(yuǎn),將取決于用戶業(yè)務(wù)需求和大數(shù)據(jù)環(huán)境的復(fù)雜性。此外,還取決于用戶對(duì)風(fēng)險(xiǎn)、復(fù)雜性和開(kāi)放、安全的承受程度。
當(dāng)然,數(shù)據(jù)虛擬化也并不適合或解決所有的數(shù)據(jù)集成問(wèn)題,例如對(duì)于數(shù)據(jù)倉(cāng)庫(kù)或數(shù)據(jù)集市等某些特定應(yīng)用案例,通過(guò) ETL 或 ELT 有時(shí)可以提供更好的解決方案。某些情況下,混合的解決方案更加有效,所以要根據(jù)具體的數(shù)據(jù)資源、業(yè)務(wù)或數(shù)據(jù)消費(fèi)者的特點(diǎn)正確進(jìn)行數(shù)據(jù)虛擬化,不能過(guò)多的虛擬化也不能虛擬化不夠。
參考文獻(xiàn):
[1]BATINI Carlo, SCANNAPIECO Monica. Data Quality Issues in Data Integration Systems[M]∥Data and Information Quality. Switzerland: Springer International Publishing, 2016:279-307.
[2]ZHANG X, XIANG S. Data Quality, Analytics, and Privacy in Big Data[M]∥Big Data in Complex Systems. Switzerland: Springer International Publishing, 2015:393-418.
[3]KETTOUCH M S, LUCA C, HOBBS M, et al. Data integration approach for semi-structured and structured data (Linked Data)[C]∥2015 IEEE 13th International Conference on Industrial Informatics (INDIN). Cambridge :IEEE,2015:820-825.
[4]CHEN M, MAO S, LIU Y. Big Data: A Survey[J]. Mobile Networks & Applications, 2014, 19(2):171-209.
[5]KHAN N, YAQOOB I, HASHEM I A, et al. Big data: survey, technologies, opportunities, and challenges[J]. The scientific world journal, 2014(2014):1-18.
[6]DEV D, PATGIRI R. A Survey of Different Technologies and Recent Challenges of Big Data[C]∥International Conference on Advanced Computing, NETWORKING and Informatics. India:Springer,2015:537-548.
[7]GONG Y, YING Z, LIN M. A Survey of Cloud Computing[C]∥Proceedings of the 2nd International Conference on Green Communications and Networks 2012 (GCN 2012). Berlin Heidelberg: Springer, 2013(3):79-84.
[8]BAHRAMI M, SINGHAL M. The Role of Cloud Computing Architecture in Big Data[M]∥Information Granularity, Big Data, and Computational Intelligence. Switzerland: Springer International Publishing, 2015:275-295.
[9]SANGEETHA K S, PRAKASH P. Big Data and Cloud: A Survey[M]∥Artificial Intelligence and Evolutionary Algorithms in Engineering Systems. India: Springer, 2015:773-778.
[10] MANJAIAH D H, SANTHOSH B, PINTO J L J. BigData: Processing of Data Intensive Applications on Cloud[C]∥Computational Intelligence for Big Data Analysis. Switzerland: Springer International Publishing, 2015:201-217.
[11] Sá J O E, MARTINS C, SIMES P. Big Data in Cloud: A Data Architecture[M]∥New Contributions in Information Systems and Technologies. Switzerland: Springer International Publishing, 2015:723-732.
[12] MANOHAR N. A Survey of Virtualization Techniques in Cloud Computing[C]∥Proceedings of International Conference on VLSI, Communication, Advanced Devices, Signals & Systems and Networking (VCASAN-2013). India: Springer, 2013:461-470.
[13] SI S M W, AYE H M, AUNG T N. A Study on the Effects of Virtualization on Mobile Learning Applications in Private Cloud[M]∥ Genetic and Evolutionary Computing. Switzerland: Springer International Publishing, 2016:167-175.
[14] TOFIGH T, ADIBI S, MOBASHER A, et al. Novel approach to big data collaboration with network operators network function virtualisation (NFV)[J]. International Journal of Parallel Emergent & Distributed Systems, 2014, 30(1):65-78.
[15] YASKIN S. Thoughts on Big data and Data Virtualization [EB/OL]. (2012-12-22) [2016-05-24]. http:∥cloudcomputing, sys-con.com/node/1803581.
[16] XIAO L, JIANG W, CHEN F X, et al. A Surveyof Cloud Computing Data Virtualization Service[M]∥Applied Mechanics and Materials.[s.l.]:Trans Tech Publications Inc, 2014(441): 1016-1019.
[17] HE P, WANG P, GAO J, et al. City-Wide Smart Healthcare Appointment Systems Based on Cloud Data Virtualization PaaS[J]. International Journal of Multimedia & Ubiquitous Engineering, 2015, 10(2):371-382.
[18] YU J, BAUMANN P, CROMPTON S, et al. Facilitate earth science data interoperability using the SCIDIP-ES data virtualization toolkit[J]. Earth Science Informatics, 2015, 8(3): 711-719.
[19] XU X, YANG J, TANG Z. Data Virtualization for Coupling Command and Control (C2) and Combat Simulation Systems[M]∥ Advances in Image and Graphics Technologies. Berlin Heidelberg: Springer, 2015:190-197.
[20] DELEN D, DEMIRKAN H. Data, information and analytics as services[J]. Decision Support Systems, 2013, 55(1):359-363.
[21] SARKAR P. Data as a Service : A Framework for Providing Reusable Enterprise Data Services[M]. [s.l.]:Wiley-IEEE Computer Society Press, 2015.
[22] WENG L, AGRAWAL G, CATALYUREK U, et al. Anapproach for automatic data virtualization[C]∥High performance Distributed Computing, 2004. Proceedings. 13th IEEE International Symposium on. [s.l.]: IEEE, 2004: 24-33.
[23] DINIZ B, NOGUEIRA D L, CARDOSO A, et al. Assessing Data Virtualization for Irregularly Replicated Large Datasets[C]∥Cluster Computing and the Grid, 2006. CCGRID 06. Sixth IEEE International Symposium on. [s.l.]:IEEE, 2006, 1: 505-512.
[24] Van der LANS R. Data Virtualization for business intelligence systems: revolutionizing data integration for data warehouses[M]. UK: Elsevier, 2012.
[25] HOPKINS B,CULLEN A,GILPIN M,et al.Data virtualization reaches the critical mass[EB/OL].(2011-06-15) [2016-05-23].https:∥www.forrester.com/report/Data+Virtualization+Reaches+Critical+Mass/-/E-RES59322.[26] DAVIS J R, EVE R. Data Virtualization: Going Beyond Traditional Data Integration to Achieve Business Agility[M]. [s.l.]: Nine Five One Press, 2011.
[27] PULLOKKARAN L J. Analysis of data virtualization & enterprise data standardization in business intelligence[D].USA:Massachusetts Institute of Technology,2013.
[28] LOSHIN, D. Effecting data quality improvement through data virtualization[EB/OL]. (2014-06-16)[2016-05-23].http:∥dataqualitybook.com/kii-content/DataQualityDataVirtualization.pdf.
[29] GUO S S, YUAN Z M, SUN A B, et al. A New ETL Approach Based on Data Virtualization[J]. Journal of Computer Science & Technology, 2015, 30(2):311-323.
[30] MUHAMMAD Intizar Ali, REINHARD Pichler, HONGLINH Truong, et al. DeXIN: An Extensible Framework for Distributed XQuery over Heterogeneous Data Sources[J]. Lecture Notes in Business Information Processing, 2009(24):172-183.
[31] MOURA A M D C, PORTO F, VIDAL V, et al. A semantic integration approach to publish and retrieve ecological data[J]. International Journal of Web Information Systems, 2015, 11(1):87-119.
[32] SUJANSKY W. Heterogeneous Database Integration in Biomedicine[J]. Journal of Biomedical Informatics, 2001, 34(4):285-298.
[33] ROCHLANI Yogesh R , ITKIKAR A R.Integrating Heterogeneous Data Sources Using XML[J]. International Journal of Advanced Research in Computer Engineering & Technology (IJARCET), 2013, 2(1):126-130.
[34] FOKOUE-NKOUTCHE A B, HASSANZADEH O, KEMENTSIETSIDIS A, et al. Data Virtualization Across Heterogeneous Formats: U.S. Patent 20,160,055,184[P]. 2016-2-25.
[35] PANG L Y, ZHONG R Y, FANG J, et al. Data-source interoperability service for heterogeneous information integration in ubiquitous enterprises[J]. Advanced Engineering Informatics, 2015, 29(3):549-561.
[36] SU S H, HLA K H M S. An efficient ontology approach for organizing and mapping deep Web resources[C]∥ Computer and Automation Engineering (ICCAE), 2010 The 2nd International Conference on. [s.l.]: IEEE, 2010:235-240.
[37] SCHADD F C, ROOS N. Word-Sense Disambiguation for Ontology Mapping: Concept Disambiguation using Virtual Documents and Information Retrieval Techniques[J]. Journal on Data Semantics, 2014:1-20.
[38] LUO Yonghong, CHEN Tefang. A Data Mapping Strategy of Parallel Data Mining in Grid[C]∥ The International Conference on E-Business and E-Government, ICEE 2010, 7-9 May 2010. Guangzhou, China: Reference Publications, 2010:1377-1382.
[39] VU Q H, PHAM T V, TRUONG H L, et al. DEMODS: A Description Model for Data-as-a-Service[C]∥ IEEE International Conference on Advanced Information Networking & Applications. Washington, DC, USA: IEEE Computer Society, 2012:605-612.
[40] WANG H, XU W, JIA C. Metadata-oriented Data Model Supporting Railway Distributed System Integration[J]. Journal of Software, 2012, 7(4):814-822.
[41] HELVOIRT S V, WEIGAND H. Operationalizing Data Governance via Multi-level Metadata Management[M]∥ Open and Big Data Management and Innovation. Switzerland: Springer International Publishing,2015:260-272.
[42] AMAROUCHE I A, BENSLIMANE D, ALIMAZIGHI Z. Enabling Semantic Mediation in DaaS Composition: Service-Based and Context-Driven Approach[J]. International Journal of Information Technology & Web Engineering, 2013, 8(4):1-19.
[43] ARAFATI M,DAGHER G G,FUNG B C M,et al.D-Mash:A Framework for Privacy-Preserving Data-as-a-Service Mashups[C]∥IEEE, International Conference on Cloud Computing.Anchorage,AK:IEEE,2014:498-505.[44] TBAHRITI S E, MRISSA M, MEDJAHED B, et al. Privacy-aware DaaS services composition[J]. Lecture Notes in Computer Science, 2011, 6860(55):202-216.
[45] 張鵬, 韓燕波, 王桂玲. 基于數(shù)據(jù)服務(wù)的嵌套視圖動(dòng)態(tài)更新方法[J]. 計(jì)算機(jī)學(xué)報(bào), 2013, 36(2):226-237.ZHANG Peng,HAN Yanbo,WANG Guiling.Implementing Dynamic Nested View Update Based on Data Service[J].Chinese Journal of Computers,2013,36(2):226-237.
[46] HAN Y, WANG G, JI G, et al. Situational data integration with data services and nested table[J]. Service Oriented Computing & Applications, 2013, 7(2):129-150.
[47] HAAS L M, KOSSMANN D, WIMMERS E L, et al. Optimizing Queries Across Diverse Data Sources[C]∥ VLDB 97: International Conference on Very Large Data Bases. 2001:276-285.
[48] PANGAL G, SCHMITZ M B, RAVINDRAN V, et al. Apparatus and method for data virtualization in a storage processing device: US, US 7353305[EB/OL].[2016-05-24]. http:∥xueshu.baidu.com/s?wd=paperuri%3A%2879e397dac9889e8ef005e3b1277dba39%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Fwww.freepatentsonline.com%2F7353305.html&ie=utf-8&sc_us=9640895184321966038.
[49] YUHANNA N, GILPIN M. The Forrester Wave?: Data Virtualization, Q1 2012[EB/OL]. [2016-05-26]. https:∥www.em360tech.com/wp-content/files_mf/13419239601888_forresterwavedatavirtualization_ar.pdf.
[50] TELETIA N, HALVERSON A D, BLAKELEY J A, et al. Performing parallel joins on distributed database data: US, US8473483[P]. 2013.
[51] CHEN Y, ZHANG Y Q. A Query Substitution-Search Result Refinement Approach for Long Query Web Searches[C]∥ Ieee/wic/acm International Conference on Web Intelligence, Wi 2009, Main Conference Proceedings. Milan, Italy: Reference Publications, 2009:245-251.
[52] NI Xing-wang. Research on the Semi-join Query Optimization Technology[J]. Journal of Yangtze University(Natural Science Edition), 2014,11(34):55-58.
[53] LI G S. Research on Security Mechanism of Sharing System Based on Geographic Information Service[M]∥ Proceedings of the International Conference on Information Engineering and Applications (IEA) 2012. London: Springer, 2013:345-351.
[54] LEI D, ZHOU K, JIN H, et al. SFDS: A Security and Flexible Data Sharing Scheme in Cloud Environment[C]∥ International Conference on Cloud Computing and Big Data. Wuhan:IEEE, 2014:101-108.
[55] THILAKANATHAN D, CHEN S, NEPAL S, et al. Secure Data Sharing in the Cloud[M]∥Security, Privacy and Trust in Cloud Systems. Berlin Heidelberg: Springer,2014:45-72.
DOI:10.3979/j.issn.1673-825X.2016.04.009
收稿日期:2016-07-05
修訂日期:2016-07-19通訊作者:趙國(guó)鋒zhaogf@cqupt.edu.cn
基金項(xiàng)目:國(guó)家自然科學(xué)基金(61501075)
Foundation Item:The National Natural Science Foundation of China(61501075)
中圖分類號(hào):
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1673-825X(2016)04-0494-09
作者簡(jiǎn)介:
趙國(guó)鋒(1972-),男,陜西人,教授,博士生導(dǎo)師,主要研究方向?yàn)榛ヂ?lián)網(wǎng)技術(shù)、網(wǎng)絡(luò)測(cè)試與測(cè)量。E-mail: zhaogf@cqupt.edu.cn
葛丹鳳(1990-),女,河南人,碩士研究生,主要研究方向?yàn)榫W(wǎng)絡(luò)管理。E-mail:1255349756@qq.com。
(編輯:魏琴芳)
A survey on data virtualization
ZHAO Guofeng1, 2, GE Danfeng1
(1. Institute of Electrical Information and Network Engineering, Chongqing University of Posts and Telecommunications, Chongqing 400065,P. R. China; 2. Optical Communication and Network Key Laboratory of Chongqing, Chongqing 400065, P. R. China)
Abstract:Varieties of data sources, gigantic volume, heterogeneous data structures shape the big data, where the data integration plays an important role. However, how to integrate data fast and effectively in big data system remains a big challenge. Data virtualization is characterized by a good potential of data integration, thus, we first introduce its concept and advantages. Then, we propose an architecture including two planes and detail the functionalities of each layers within each plane. To benefit future work in this field, we show some issues and research topics on data virtualization.Finally,we briefly discuss and conclude this paper.
Keywords:big data;data integration;data virtualization