雖然學(xué)術(shù)界和工業(yè)界對(duì)XML數(shù)據(jù)庫(kù)的研究和開(kāi)發(fā)并不完全一致,但是兩者的目標(biāo)卻非常相似:解決現(xiàn)有問(wèn)題,擴(kuò)展應(yīng)用領(lǐng)域。
一.學(xué)術(shù)界與工業(yè)界的兩種不同索求
Ronald Bourret 在他那篇著名的《XML Database Products》中,將XML數(shù)據(jù)庫(kù)產(chǎn)品分為中間件(Middleware)、支持XML的數(shù)據(jù)庫(kù)(XML-Enabled Databases)、純XML數(shù)據(jù)庫(kù)(Native XML Databases)、XML服務(wù)器(XML Servers)、Wrappers、內(nèi)容管理系統(tǒng)(Content Management Systems)、XML查詢引擎(XML Query Engines)、XML Data Binding、Discontinued products等九種,在業(yè)界影響很大。但是,在XML數(shù)據(jù)庫(kù)的研究和開(kāi)發(fā)人員眼里,或許只有支持XML的數(shù)據(jù)庫(kù)、純XML數(shù)據(jù)庫(kù)能夠稱得上是真正意義上的XML數(shù)據(jù)庫(kù)。支持XML的數(shù)據(jù)庫(kù)可以被看做是支持XML數(shù)據(jù)的數(shù)據(jù)庫(kù)系統(tǒng),它可能是關(guān)系數(shù)據(jù)庫(kù)、對(duì)象數(shù)據(jù)庫(kù)等。就在一年半以前,還有相當(dāng)多的人在爭(zhēng)論關(guān)系庫(kù)支持的XML數(shù)據(jù)庫(kù)和純XML數(shù)據(jù)庫(kù)孰優(yōu)孰劣的問(wèn)題。但是,純XML數(shù)據(jù)庫(kù)卻在這種爭(zhēng)論中悄然進(jìn)步,在技術(shù)上有了長(zhǎng)足的發(fā)展。
人們已經(jīng)越來(lái)越傾向于認(rèn)為XML數(shù)據(jù)庫(kù)就是純XML數(shù)據(jù)庫(kù)。隨著金融界確立XBRL(XML的一個(gè)子集)標(biāo)準(zhǔn)和政府規(guī)范電子政務(wù)的XML格式,實(shí)踐推動(dòng)著XML數(shù)據(jù)庫(kù)技術(shù)不斷向前發(fā)展。
XML數(shù)據(jù)庫(kù)系統(tǒng)從最初簡(jiǎn)單的查詢引擎,不斷地加入查詢優(yōu)化、事務(wù)處理、觸發(fā)器、并發(fā)控制、代數(shù)系統(tǒng)等傳統(tǒng)的數(shù)據(jù)庫(kù)技術(shù),一步步地從性能和功能上完善自己。
從目前XML數(shù)據(jù)庫(kù)的產(chǎn)品情況來(lái)看,學(xué)術(shù)界的實(shí)驗(yàn)系統(tǒng)和市場(chǎng)產(chǎn)品之間有著些許微妙的差別,盡管它們的主流技術(shù)是一致的。
學(xué)術(shù)界完成的實(shí)驗(yàn)室原型系統(tǒng)一般側(cè)重于下面的一些特點(diǎn):
● 專注于查詢性能的提高,對(duì)查詢優(yōu)化的研究較多。為了提高查詢效率,學(xué)術(shù)界十分重視索引結(jié)構(gòu)的設(shè)計(jì),先后提出二十幾種適合于XML數(shù)據(jù)的索引方式,比如影響很大、簡(jiǎn)單易用的三元組索引,并在此基礎(chǔ)上開(kāi)發(fā)出了以結(jié)構(gòu)化聯(lián)接為基礎(chǔ)的查詢模式匹配方法。
● 強(qiáng)調(diào)平臺(tái)無(wú)關(guān)性。在XML數(shù)據(jù)庫(kù)研究的早期,業(yè)界曾存在一個(gè)爭(zhēng)論:到底將XML數(shù)據(jù)存儲(chǔ)在關(guān)系庫(kù)中,還是另外開(kāi)發(fā)存儲(chǔ)XML的物理數(shù)據(jù)庫(kù)。這在一定程度上影響著XML的研究者,在設(shè)計(jì)索引結(jié)構(gòu)時(shí)必須考慮使索引過(guò)的XML數(shù)據(jù)可以存儲(chǔ)在多種數(shù)據(jù)庫(kù)結(jié)構(gòu)中。
● 從理論的角度較多地考慮了XML數(shù)據(jù)庫(kù)的模式設(shè)計(jì)規(guī)范化問(wèn)題。設(shè)計(jì)了基于鍵的函數(shù)依賴推理,在如何優(yōu)化XML數(shù)據(jù)庫(kù)設(shè)計(jì)、消除數(shù)據(jù)冗余和不一致方面有了一些實(shí)質(zhì)上的進(jìn)展。
工業(yè)界的XML數(shù)據(jù)庫(kù)產(chǎn)品更加強(qiáng)調(diào)實(shí)用,有著一些與學(xué)術(shù)界原型系統(tǒng)不盡相同的特點(diǎn):
● 現(xiàn)有的主流XML數(shù)據(jù)庫(kù)產(chǎn)品都在底層提供collection數(shù)據(jù)結(jié)構(gòu),以存儲(chǔ)XML元素節(jié)點(diǎn),通過(guò)B+樹(shù)結(jié)構(gòu)來(lái)索引這些元素節(jié)點(diǎn)。這一點(diǎn)與關(guān)系庫(kù)系統(tǒng)的底層處理如出一轍。在collection之上一般還會(huì)有一級(jí)或兩級(jí)索引,以加快查詢處理速度。這一點(diǎn)比平臺(tái)無(wú)關(guān)的實(shí)驗(yàn)原型系統(tǒng)更高效實(shí)用。
● 市場(chǎng)上的數(shù)據(jù)庫(kù)產(chǎn)品通過(guò)引入日志管理,建立了較完善的事務(wù)處理機(jī)制,這為上層的數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)提供了便利。目前的商用XML數(shù)據(jù)庫(kù)一般提供事務(wù)處理功能,包括提交、回滾和日志文件。通過(guò)提供事務(wù)日志機(jī)制,紀(jì)錄系統(tǒng)執(zhí)行的每個(gè)事務(wù)的詳細(xì)情況,保證在系統(tǒng)出現(xiàn)問(wèn)題后可以完全恢復(fù)。
● 增強(qiáng)了對(duì)異構(gòu)數(shù)據(jù)源的集成管理。樹(shù)型結(jié)構(gòu)的XML數(shù)據(jù)有其難以管理的一面,但是,XML技術(shù)的可擴(kuò)展性又使得它具有集成異構(gòu)數(shù)據(jù)源的強(qiáng)大能力。因此,市場(chǎng)上的XML數(shù)據(jù)庫(kù)產(chǎn)品普遍具有較強(qiáng)的集成多種數(shù)據(jù)源的功能。這也是當(dāng)前市場(chǎng)上的XML數(shù)據(jù)庫(kù)產(chǎn)品的一大亮點(diǎn)。
二.實(shí)驗(yàn)室的原型系統(tǒng)和商用化產(chǎn)品
最近幾年以來(lái),在學(xué)術(shù)界和工業(yè)界的共同推動(dòng)下,如雨后春筍般誕生出大量的XML數(shù)據(jù)庫(kù)原型系統(tǒng)和商用產(chǎn)品。
在Ronald Bourret的《XML Database Products》中一共列了36種XML數(shù)據(jù)庫(kù)產(chǎn)品,大致上可分為三大類型:
● 商業(yè)類(commercial):如Ipedo、Tamino、Natix、Xyleme等。其中,美國(guó)Ipedo公司的Ipedo XML Database和德國(guó)Software AG公司的Tamino是其中的佼佼者,成為目前市場(chǎng)上的主流產(chǎn)品。
● 研究類(research):如Stanford大學(xué)早期開(kāi)發(fā)的Lore等。
● 開(kāi)放源碼類(open source):其中影響較大的是Berkeley DB XML、dbXML、XDB和Xindice。
需要指出的是, Lore database systems 只是Stanford大學(xué)早期針對(duì)半結(jié)構(gòu)化數(shù)據(jù)而開(kāi)發(fā)的數(shù)據(jù)庫(kù)系統(tǒng)。Lore連同其專設(shè)語(yǔ)言Lorel都是為半結(jié)構(gòu)化數(shù)據(jù)而寫(xiě)的。盡管說(shuō)XML數(shù)據(jù)在某種程度上也是一種半結(jié)構(gòu)化數(shù)據(jù),但是,兩者之間還是有著一些差別,導(dǎo)致Lore database systems很難成為一種完全意義上的XML數(shù)據(jù)庫(kù)系統(tǒng)。
事實(shí)上,在學(xué)術(shù)界,真正受到關(guān)注的XML數(shù)據(jù)庫(kù)原型系統(tǒng)有三家:密歇根大學(xué)安阿伯分校的Timber、西雅圖華盛頓大學(xué)的Tukwila和威斯康星大學(xué)麥迪遜分校的Niagara。其中,影響最大的是Timber,在該系統(tǒng)的實(shí)施過(guò)程中,產(chǎn)生了許多有關(guān)XML數(shù)據(jù)庫(kù)的新的概念和方法。當(dāng)然,多倫多大學(xué)的Tox也是一個(gè)相當(dāng)不錯(cuò)的系統(tǒng),尤其是其出色的索引結(jié)構(gòu)。但是,總體上不如前面的三家有名。
三.核心技術(shù)的進(jìn)展
綜合XML數(shù)據(jù)庫(kù)的實(shí)驗(yàn)室原型和商業(yè)產(chǎn)品的共性,XML數(shù)據(jù)庫(kù)的核心技術(shù)主要包括:
1.查詢語(yǔ)言
自從1995年XML技術(shù)的研究和開(kāi)發(fā)逐漸升溫以來(lái),形形色色的XML查詢語(yǔ)言不斷問(wèn)世。比較有代表性的如早期的XML-QL、XQL、UnQL,后來(lái)的Quilt、Xpath,以及由Quilt發(fā)展而來(lái)的XQuery。在W3C的極力推動(dòng)和學(xué)術(shù)界、工業(yè)界的大力支持下,XQuery逐漸在這些查詢語(yǔ)言中脫穎而出,成為事實(shí)上的工業(yè)標(biāo)準(zhǔn)。
XQuery的FLWR語(yǔ)句規(guī)范,有著與關(guān)系數(shù)據(jù)庫(kù)的SQL完全類似的表達(dá)方式,使得它在一般用戶眼里,也變得友好起來(lái)。
而Xpath可以理解為是XQuery的一個(gè)子集。Xpath表達(dá)式在相關(guān)文獻(xiàn)中被證明與查詢模式樹(shù)是等價(jià)的,這也與學(xué)術(shù)界推崇的模式樹(shù)查詢方式一致,使得實(shí)驗(yàn)室系統(tǒng)可以毫不困難地處理Xpath查詢表達(dá)式,并能進(jìn)行查詢優(yōu)化。這一點(diǎn)在XML數(shù)據(jù)庫(kù)研究中顯得頗有價(jià)值。
2.XML文檔解析
在圖1中,將XML文檔載入數(shù)據(jù)庫(kù)時(shí),會(huì)經(jīng)過(guò)一個(gè)XML數(shù)據(jù)解析器。數(shù)據(jù)解析器會(huì)依據(jù)一定的規(guī)則對(duì)XML數(shù)據(jù)進(jìn)行解析后裝入數(shù)據(jù)庫(kù)。目前的數(shù)據(jù)解析器一般提供SAX(simple API for XML)和DOM(document object model)兩種方式。
SAX和DOM是針對(duì)XML文檔的兩種不同的應(yīng)用程序編程接口API。SAX更多地依賴語(yǔ)法制導(dǎo)(syntax driven),而DOM則提供一組功能程序來(lái)開(kāi)發(fā)與XML數(shù)據(jù)相關(guān)的應(yīng)用。
SAX解析器是邊讀入邊解析,帶有一定的實(shí)時(shí)性,特別適合于XML流數(shù)據(jù)的處理。而DOM解析器是待整個(gè)文檔均導(dǎo)入內(nèi)存后才開(kāi)始解析,在一定程度上受到內(nèi)存容量的限制。目前的XML數(shù)據(jù)庫(kù)產(chǎn)品均支持這兩種解析方式。
3.查詢處理
查詢處理的方式和效率,一直是XML數(shù)據(jù)庫(kù)研究和開(kāi)發(fā)者關(guān)注的首要問(wèn)題。
如圖1所示,XML數(shù)據(jù)庫(kù)的查詢處理一般是從解析查詢語(yǔ)言(如XQuery)的查詢語(yǔ)句表達(dá)式開(kāi)始的。XML數(shù)據(jù)庫(kù)的查詢解析器將表達(dá)式解析為一棵查詢模式樹(shù)(有的系統(tǒng)叫做語(yǔ)法樹(shù))。
假設(shè)一個(gè)XQuery表達(dá)式為:
book [tittle = ‘XML’] // [ year = ‘2000’]
它所對(duì)應(yīng)的模式樹(shù)如圖2所示,它表示我們要查詢的 book節(jié)點(diǎn)滿足下面的條件:
● 有一個(gè)子節(jié)點(diǎn)tittle,它的內(nèi)容為串值XML;
● 它有一個(gè)后代節(jié)點(diǎn)year,它的內(nèi)容為串值2000。
從語(yǔ)義上來(lái)說(shuō),就是:查找“一本2000年出版的、名為XML的書(shū)”。
接下來(lái)就是到XML數(shù)據(jù)庫(kù)中去匹配這棵樹(shù),得到最終的XML結(jié)果文檔。
在如何匹配模式樹(shù)的技術(shù)上,實(shí)驗(yàn)室原型系統(tǒng)與商業(yè)產(chǎn)品之間有著一些差別。
比如,在Timber中,考慮了一種叫做“結(jié)構(gòu)化聯(lián)接”的技術(shù)。它的基本思路是將上述的模式樹(shù)分解為二元關(guān)系序列。而在此之前,也已經(jīng)將XML文檔庫(kù)做了索引處理,文檔中每個(gè)元素節(jié)點(diǎn)均被標(biāo)以一個(gè)三元組索引,形式為:(文檔標(biāo)識(shí)符,開(kāi)始位置:結(jié)束位置,層號(hào))。
于是,該查詢模式可以分兩步來(lái)完成:在索引過(guò)的XML數(shù)據(jù)庫(kù)中匹配上述分解的二元結(jié)構(gòu)關(guān)系;將查找到的二元結(jié)構(gòu)匹配結(jié)果組裝(stitching)成最終的符合上述查詢表達(dá)式的完整文檔。
結(jié)構(gòu)化聯(lián)接技術(shù)在2002年被提出并在Timber中實(shí)現(xiàn)以后,在學(xué)術(shù)界引起過(guò)較大的反響。自2002年以來(lái)不斷有技術(shù)上的改進(jìn)文章出現(xiàn)在數(shù)據(jù)庫(kù)的三大國(guó)際會(huì)議(VLDB、SIGMOD/PODS、ICDE)上,其中較有影響的成果是隱檢整枝聯(lián)接(holistic twig join)技術(shù),可以用相互連接的多棧結(jié)構(gòu)一次性生成查詢結(jié)果文檔。
在商用產(chǎn)品中,由于文檔元素節(jié)點(diǎn)均存儲(chǔ)在B+樹(shù)結(jié)構(gòu)中,可以直接到底層的數(shù)據(jù)庫(kù)中去查找相關(guān)的匹配節(jié)點(diǎn)序列,再根據(jù)其指針關(guān)聯(lián),將結(jié)果節(jié)點(diǎn)集組裝成結(jié)果文檔。
總的來(lái)說(shuō),實(shí)驗(yàn)室產(chǎn)品在輸入節(jié)點(diǎn)序列較長(zhǎng)時(shí)效率會(huì)較高,尤其是隱檢整枝聯(lián)接技術(shù)。而商用產(chǎn)品在查詢的文檔較大時(shí)更顯優(yōu)勢(shì)。
在查詢處理階段,實(shí)驗(yàn)室產(chǎn)品做了而商用產(chǎn)品沒(méi)做的事情就是模式樹(shù)的最小化。它的主要思想就是,模式樹(shù)的匹配效率依賴于模式樹(shù)的規(guī)模(元素節(jié)點(diǎn)的多少)。而一般的模式樹(shù)均存在一定量的冗余節(jié)點(diǎn),可以通過(guò)最小化算法予以去除。
根據(jù)復(fù)旦大學(xué)數(shù)據(jù)庫(kù)研究中心XML小組的實(shí)驗(yàn)結(jié)果表明,在隨機(jī)建立的XML查詢模式樹(shù)集合中,最小化算法平均可以消除30%的冗余節(jié)點(diǎn)。
當(dāng)然,模式樹(shù)最小化算法的時(shí)間復(fù)雜度比較高,目前的關(guān)注點(diǎn)主要在于時(shí)間復(fù)雜度的降低上。最新算法的時(shí)間復(fù)雜度已經(jīng)降低到低階的多項(xiàng)式時(shí)間了。這項(xiàng)技術(shù)的實(shí)用化是值得期待的。
4.事務(wù)處理和版本控制
目前的商用XML數(shù)據(jù)庫(kù)一般提供事務(wù)處理功能,包括提交、撤回和日志文件。我們知道,事務(wù)為數(shù)據(jù)庫(kù)的一組操作,這些操作組成一個(gè)邏輯單元,執(zhí)行時(shí)要么全部完成,要么全部不做(do all or do nothing)。XML數(shù)據(jù)庫(kù)通過(guò)提供事務(wù)日志機(jī)制,紀(jì)錄系統(tǒng)執(zhí)行的每個(gè)事務(wù)的詳細(xì)情況,保證在系統(tǒng)出現(xiàn)問(wèn)題后可以完全恢復(fù)。
事務(wù)遵循的ACID性質(zhì) (原子性、一致性、獨(dú)立性和持久性) 保證了大部分事務(wù)處理穩(wěn)定地運(yùn)行。
商用XML數(shù)據(jù)庫(kù)也包含對(duì)XML文檔的版本控制功能。使用版本控制,用戶或應(yīng)用程序可以檢入(check in)或檢出(check out)XML文檔,利用版本號(hào)、日期或者標(biāo)簽獲得以前版本的文檔,以及顯示XML文檔的版本歷史信息。每一個(gè)處于版本控制之下的文檔都有自己的歷史信息,紀(jì)錄了修改文檔的作者以及時(shí)間等。使用者可以根據(jù)文檔或用戶或日期來(lái)查看整個(gè)的版本歷史信息。
版本控制允許用戶通過(guò)查詢更新原信息。通過(guò)更新引擎可以注釋、修改和精煉信息。內(nèi)置的版本系統(tǒng)跟蹤信息的變化,提供這些變化的歷史信息。
應(yīng)該說(shuō),在事務(wù)處理和版本控制機(jī)制上,實(shí)驗(yàn)室產(chǎn)品的考慮是不夠的,所提供的事務(wù)處理的功能顯得簡(jiǎn)單。盡管加州大學(xué)洛杉磯分校的數(shù)據(jù)庫(kù)實(shí)驗(yàn)室在XML的版本控制方面有一些突出的成果,但是,目前尚未形成產(chǎn)品。
還有一個(gè)需要說(shuō)明的是多事務(wù)并發(fā)控制機(jī)制和加鎖協(xié)議。這項(xiàng)技術(shù)的研發(fā)目前剛剛起步。現(xiàn)今的商用XML數(shù)據(jù)庫(kù)只在邏輯層面提供并發(fā)加鎖協(xié)議,但粒度為整個(gè)文檔。隨著單個(gè)XML文檔的增大,這個(gè)粒度顯然太粗。這一點(diǎn)可能要等待研究界開(kāi)發(fā)出粒度為文檔元素節(jié)點(diǎn)的并發(fā)協(xié)議了。
5.代數(shù)系統(tǒng)和模式規(guī)范化
代數(shù)表達(dá)式和數(shù)據(jù)庫(kù)模式設(shè)計(jì)理論曾經(jīng)是關(guān)系數(shù)據(jù)庫(kù)理論的精髓。代數(shù)系統(tǒng)成為關(guān)系庫(kù)查詢優(yōu)化的重要工具,而范式理論的提出也曾為RDBMS設(shè)計(jì)優(yōu)化的庫(kù)結(jié)構(gòu)提供了依據(jù)。那么,人們不禁要問(wèn),在XML數(shù)據(jù)庫(kù)中是否存在相類似的理論和方法?
由于這兩個(gè)問(wèn)題有一定的難度,注定只能是由學(xué)術(shù)界的實(shí)驗(yàn)系統(tǒng)先行一步。
學(xué)術(shù)界公認(rèn)的三大實(shí)驗(yàn)系統(tǒng)都設(shè)計(jì)了相應(yīng)的代數(shù)系統(tǒng),其中影響最為廣泛的是Timber中實(shí)現(xiàn)的TAX(Tree Algebra for XML)。TAX以整個(gè)文檔樹(shù)作為操作的基本單位,在邏輯層提供選擇、投影、聯(lián)接等類似關(guān)系庫(kù)的9種基本操作和5種附加操作,以匹配模式樹(shù)得到實(shí)例樹(shù)(witness tree)為基本操作方法。在物理層提出7種基本操作實(shí)現(xiàn)上述邏輯運(yùn)算。
Timber依據(jù)TAX對(duì)XML查詢語(yǔ)句進(jìn)行改寫(xiě)和優(yōu)化,但是效果并不理想。業(yè)界對(duì)TAX存在問(wèn)題的看法是,過(guò)分地模仿了關(guān)系庫(kù)的代數(shù)系統(tǒng)而忽略了對(duì)XML文檔本身特點(diǎn)的考慮。
XML模式規(guī)范化理論的早期開(kāi)拓者是賓夕法尼亞大學(xué)的樊文飛等人。從定義XML的鍵(key)和函數(shù)依賴,到XML和DTD范式,再到基于約束的XML數(shù)據(jù)庫(kù)的模式規(guī)范化,XML數(shù)據(jù)庫(kù)的模式規(guī)范化理論在穩(wěn)步地推動(dòng)著。國(guó)內(nèi)的復(fù)旦大學(xué)數(shù)據(jù)庫(kù)研究中心等單位也有著不錯(cuò)的研究進(jìn)展。在未來(lái)兩年內(nèi),估計(jì)會(huì)有較成熟的XML數(shù)據(jù)庫(kù)模式設(shè)計(jì)理論投入到實(shí)驗(yàn)室產(chǎn)品和商用系統(tǒng)中。
6.多數(shù)據(jù)源的集成
多數(shù)據(jù)源的集成是數(shù)據(jù)庫(kù)市場(chǎng)對(duì)XML數(shù)據(jù)庫(kù)系統(tǒng)提出的要求。從1970年IBM公司的E.F.Codd提出關(guān)系數(shù)據(jù)庫(kù)的概念以來(lái),關(guān)系數(shù)據(jù)庫(kù)在幾乎所有的應(yīng)用領(lǐng)域都取得了巨大成功。XML數(shù)據(jù)庫(kù)是一個(gè)新事物,它從誕生的那一天起,就面臨著關(guān)系數(shù)據(jù)庫(kù)一統(tǒng)天下的局面。有人說(shuō),關(guān)系數(shù)據(jù)庫(kù)完全戰(zhàn)勝層次和網(wǎng)狀數(shù)據(jù)庫(kù)用了將近20年時(shí)間,XML數(shù)據(jù)庫(kù)也會(huì)用20年時(shí)間戰(zhàn)勝關(guān)系數(shù)據(jù)庫(kù)。這種看法并不全面。至少?gòu)哪壳皝?lái)看,兩者應(yīng)該各展所長(zhǎng),共同服務(wù)于巨大的數(shù)據(jù)庫(kù)市場(chǎng)。
那么,XML數(shù)據(jù)庫(kù)的優(yōu)勢(shì)在哪呢?用XML技術(shù)來(lái)進(jìn)行多數(shù)據(jù)源的集成就是其中之一。
從2001年以后,面對(duì)多數(shù)據(jù)源的集成這個(gè)傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)做不了的事情,Ipedo等商用數(shù)據(jù)庫(kù)系統(tǒng)將自己的數(shù)據(jù)庫(kù)系統(tǒng)擴(kuò)展為一個(gè)集成平臺(tái),它可以將關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)、MIS系統(tǒng)、OA系統(tǒng)、文件系統(tǒng)等集成在同一個(gè)平臺(tái)上,給用戶提供統(tǒng)一的界面。如Ipedo公司的Ipedo XML智能平臺(tái),為用戶提供XML View來(lái)統(tǒng)一訪問(wèn)底層的異構(gòu)數(shù)據(jù)。人們也從這一點(diǎn)上進(jìn)一步看到了XML技術(shù)的力量。
四.未來(lái)的技術(shù)發(fā)展方向
經(jīng)過(guò)近5年業(yè)界同仁的共同努力,XML數(shù)據(jù)庫(kù)技術(shù)取得了很大的進(jìn)展,已經(jīng)有若干種XML數(shù)據(jù)庫(kù)產(chǎn)品問(wèn)世并服務(wù)于社會(huì)生活的各個(gè)方面。但是,XML數(shù)據(jù)庫(kù)的事業(yè)才剛剛開(kāi)始,還有很多問(wèn)題等待著我們?nèi)ソ鉀Q。
未來(lái)幾年,XML數(shù)據(jù)庫(kù)技術(shù)有可能在下述方面取得進(jìn)展:
● 異構(gòu)數(shù)據(jù)源的集成。XML數(shù)據(jù)庫(kù)對(duì)多數(shù)據(jù)源的集成,是對(duì)XML技術(shù)可擴(kuò)展性這一長(zhǎng)處的極好發(fā)揮。但是,就目前的集成程度和在應(yīng)用層上所提供的功能來(lái)看還是遠(yuǎn)遠(yuǎn)不夠的。如何從對(duì)數(shù)據(jù)的集成過(guò)渡到對(duì)系統(tǒng)的集成,從而在遠(yuǎn)景目標(biāo)上實(shí)現(xiàn)類似于網(wǎng)格計(jì)算(grid computing)概念的系統(tǒng),恐怕是XML數(shù)據(jù)庫(kù)工作者的核心任務(wù)之一。
● 底層索引結(jié)構(gòu)。目前的商用XML數(shù)據(jù)庫(kù)系統(tǒng)優(yōu)于實(shí)驗(yàn)室原型系統(tǒng)的特點(diǎn)之一就是其底層的索引結(jié)構(gòu)。但是,現(xiàn)有的商用XML數(shù)據(jù)庫(kù)的底層索引結(jié)構(gòu)一般都是B+樹(shù)。雖然B+樹(shù)索引是一種成熟的索引結(jié)構(gòu),但是,研究結(jié)果顯示,在XML數(shù)據(jù)庫(kù)中,它的性能表現(xiàn)并不是最好的。學(xué)術(shù)界已經(jīng)開(kāi)發(fā)出了若干種適用于XML數(shù)據(jù)的索引結(jié)構(gòu),如XR樹(shù)、XB樹(shù)等,需要XML數(shù)據(jù)庫(kù)工作者來(lái)進(jìn)一步關(guān)注。
● 并發(fā)加鎖協(xié)議。在現(xiàn)有的XML數(shù)據(jù)庫(kù)系統(tǒng)中,加鎖的粒度是整個(gè)文檔,事務(wù)并發(fā)的層次也在文檔一級(jí)。隨著應(yīng)用級(jí)文檔的日益增大,這個(gè)粒度在一定程度上將會(huì)成為系統(tǒng)效率的瓶頸。如何通過(guò)邊鎖(edge lock)機(jī)制來(lái)實(shí)現(xiàn)元素節(jié)點(diǎn)級(jí)粒度的加鎖?這一工作現(xiàn)在吸引了不少研究者的目光,而且,上述的鎖協(xié)議是在邏輯層,如何將它映射到底層的B+樹(shù)索引(或者XR樹(shù)索引)上,也是必須要做的一件事情。
● XML模式規(guī)范化是一個(gè)值得關(guān)注的方向。一旦取得突破,將會(huì)使我們可以像在關(guān)系庫(kù)中那樣方便地設(shè)計(jì)XML數(shù)據(jù)庫(kù)的結(jié)構(gòu),消除數(shù)據(jù)的冗余和不一致現(xiàn)象。目前,這一領(lǐng)域已經(jīng)成為學(xué)術(shù)界關(guān)注的熱點(diǎn)。但是,完整的、為業(yè)界所公認(rèn)的理論體系尚未建立。
Author: orangelizq
email: orangelizq@163.com

歡迎大家訪問(wèn)我的個(gè)人網(wǎng)站
萌萌的IT人
posted on 2009-12-09 17:02
桔子汁 閱讀(383)
評(píng)論(0) 編輯 收藏 所屬分類:
SOA