陸海鋒
(肇慶學院信息中心,肇慶 526021)
XML是繼HTML之后的又一種Web標記語言,它為用戶提供了靈活的標記擴展機制,使得不同內容的資源能以式良好的自定義的標記元素來表現。XML技術可以讓結構化的信息以網頁的格式來顯示,通過因特網或者各個組織內部的局域網來顯示。XML格式的文檔可以無障礙地在各個結構格式各異的系統(tǒng)之間,以最簡捷的方式完成對數據的輸入和輸出。
XML已逐漸成為Web上數據表示和交換的標準,但在大多數企業(yè)尤其是在地域上分散而管理上又相對集中的大企業(yè)中,每個部門都要維護與本部門有關的數據,將數據存放在本部門建立的關系數據庫中,這樣企業(yè)的整個信息資產就被分裂成“信息孤島”。如何將這些信息有效地集成起來,組成一個分布式數據庫,并發(fā)布為符合用戶要求(DTD或XMLSchema)的XML文檔,是目前分布式數據庫技術發(fā)展中亟待解決的問題[1]。
XML,可延伸標記語言,是萬聯網聯盟(W3C)于1998年制定的互聯網數據傳輸標準格式。XML標記語言像HTML一樣,屬于標記性語言,其設計的初衷是用于傳輸數據,而非顯示數據。XML標記語言具有的特性包括了:自描述、人機共讀性、可擴展性、高靈活性、高度的平臺可適應性,正因為這些特性,XML標記語言已經成為現今互聯網信息交換的標準格式,對于數據倉庫(DW)的未來意義非同一般。另外,由于XML的標簽(Tag)不能預先設定,用戶需要根據實際需求來設定個性化的XML標簽。
盡管現今在互聯網傳輸有用信息有不少的途徑,但XML標記語言還是獲得越來越高的普及度以及關注,究其原因主要基于以下幾點[2]:
(1)語言表達能力:XML標記語言,能夠保證直接而無任何信息遺漏的情況下,用統(tǒng)一的語法顯示關聯數據、報表格式,以及半結構化文檔。
(2)自描述:XML標記語言能把數據與元數據結合,這樣一來,異構的甚至不規(guī)則的數據,不需要依賴固定的行將被淘汰的架構模式,也一樣可以被顯示并且被處理。
(3)XML標記語言提供一種顯示數據的機制,就是以最簡單的文本流的形式,支持簡單的數據傳輸與檢索,支持在既有的網絡協議之下不同系統(tǒng)之間的數據互換。XML標記語言支持半結構化信息以基于網絡的格式存在,就這樣,它們可以顯示在互聯網以及組織機構私有的內部網。同時,XML標記語言使得組織機構不同系統(tǒng)間更容易以最簡化的數據格式,完成數據的輸入輸出。
(4)XML標記語言支持不同計算機之間的數據互換;
(5)XML標記語言便于快捷檢索信息
鑒于XML標記語言在定義數據結構以及在不同系統(tǒng)間傳輸數據方面的突出能力,使得其在構建數據倉庫(DW)方面的價值日益凸顯。
分布式存儲數據庫系統(tǒng),支持應用程序訪問本地或遠程數據庫的資源。在同構分布式數據庫系統(tǒng)中,所有的數據庫的類型都保持一致性;而在異構分布式數據庫系統(tǒng)中,至少有一個數據庫與其他數據庫的類型不一致。分布式數據庫應用了用戶/服務器的架構來處理每一條信息訪問請求。
(1)分布式存儲數據庫的特征
①實現了信息資源與網絡共享資源之間的邏輯關聯;
②信息資源以數據碎片式存在;
③碎片式數據可被復制;
④碎片式的館藏信息資源被分配到各個網站;
⑤各網站連接成通信網絡;
⑥各網站都處于分布式數據庫管理系統(tǒng)的控制之下;
⑦數據庫管理系統(tǒng)能夠自動化管理并操控局部應用程序;
⑧每個參與到數據庫管理系統(tǒng)的數據庫一般都至少擁有一個通用應用程序。
(2)分布式存儲數據庫系統(tǒng)的優(yōu)勢
①根據網站的訪問需求量來分配數據,網站的訪問需求量與所分配的數據成正比;
②數據訪問的速度更快;
③由于在該系統(tǒng)中的許多網站都分散了工作負載,因此處理數據訪問的速度也得到提升;
④能夠以最簡單便捷的方式生成新的網頁
⑤效率得到改善;
⑥降低了整個系統(tǒng)的運作成本;
⑦改善了用戶的操作體驗;
⑧最大限度地降低了單段式故障的可能性;
⑨各個數據庫的運作都是各自獨立的。
在本文中,筆者認為數據庫,即便是分布式數據庫在本質上都是同構的。
所謂的同構分布式數據庫系統(tǒng),是指駐留在一個或多個服務器上的,數量在兩個以上的數據庫,所形成的一個網絡。舉個例子,有來自廣州、佛山、肇慶三地的數據庫,由分布式系統(tǒng)進行連接。只要運行一個應用程序,就能夠在一個分散的數據庫環(huán)境下,同時對多個數據庫里的數據進行訪問或者修改。例如,來自“肇慶”本地數據庫的客戶端提出單次數據查詢,可檢索到,來自遠程“廣州”數據庫以及“佛山”數據庫里相互連接的數據列表里的數據。
原生XML數據庫,特指以高效的方式存儲XML文檔和數據的數據庫,該類數據庫與傳統(tǒng)的關聯數據庫一樣,都支持對數據的存儲、查詢、整合與索引等功能。而原生XML數據庫的存儲介質并非表格,而是所謂的“表示層”。該“表示層”包含了大量的具有相互關聯性的XML文檔或數據。
Oracle的XML數據庫,其技術內涵分為兩大部分,即內置的XML存儲設置以及針對XML數據的檢索技術。該類數據庫同時具備了關系型數據庫技術以及XML技術的雙重優(yōu)勢。舉個例子,在關聯數據庫里處理XML數據,往往不太可能,因為XML數據本質上是具有層次性的,雖然Oracle數據庫是基于關聯模型而建立起來的,但是它能通過運用特殊的SQL操作符,有效對層次性的XML數據進行處理,從而讓用戶能夠從Oracle數據庫中輕松完成對XML數據的查詢及更新。Oracle的XML數據庫把XML文檔對象模型構建成Oracle的內核。因此,絕大部分對XML的操作都可以劃歸為常規(guī)的數據庫處理方式的范疇。
Oracle的XML數據庫具備將所有的結構化和非結構化的信息等同于關聯數據去處理的能力[3]。
最新版本的Oracle,具有將XML文檔直接存入數據庫的能力。它借助于相關數據庫技術的支持,實現了對XML文檔高效能地存儲及檢索,并通過應用SQL與XML相互協調的數據模型,為原生XML數據提供支持。
Oracle使用了一種名為XML類型的專屬原生數據類型,對關聯表格的數據進行存儲和管理。該數據類型脫離了XML語法分析器,直接在Oracle數據庫內進行檢索和存儲??梢哉f,XML數據類型已經成為了Oracle數據庫常態(tài)化的數據類型。
XML數據庫包含以下特征[4]:
(1)支持萬維網絡聯盟(W 3C)以及XML模式數據模型;
(2)支持SQL語言對數據的存儲、查詢與更新,以及可以把SQL轉換成XML;
(3)可對SQL數據進行XML操作;
(4)提供一種針對XML數據的存儲與管理框架,該框架與存儲介質無關,與內容無關,與編程語言無關,開辟了查詢數據庫中XML內容的新途徑。
(5)具有XML專屬的內存管理以及優(yōu)化體制。
XML文檔是以XML類型的表格或者列的形式,存儲于數據庫中的,對于基于非XML模式的存儲,XML數據類型還提供另一種存儲方式的選項,即字符大對象(CLOB)的存儲。描述了以XML格式存儲的Ora?cleXML數據庫整體架構。
最基本的基于表格生成的XML數據,其最簡單的語法格式如下:
現舉一個圖書細節(jié)作為例子來考慮,圖書書本式目錄組成以圖書細節(jié)信息作為測度,而維度包括標題、出版社、出版地、出版年份以及ISBN號。以下SQL表述生成某一維度——書本目錄的模型:
在生成XML文檔后,我們在數據庫可插入或選取相應的屬性值,程序運行實例如下:
以下是關于Oracle的XML數據庫所發(fā)揮的效能的列表[5]。
(1)它促進海量的數據資源以XML的格式實現數據存儲;
(2)使得信息資源被檢索的速度,比較傳統(tǒng)的關系數據庫管理系統(tǒng),要快;
(3)允許常規(guī)的SQL語言查詢的方式訪問到相關的XML格式的數據;
(4)我們可以使用Oracle的聯機事務處理系統(tǒng)(OLTP),數據倉庫;
(5)我們可以通過任一條Oracle的SQL查詢請求,生成一份XML文檔;
(6)我們可以輕易把XML格式數據轉化成HTML數據。
盡管XML應用還有無限的發(fā)展前景,但目前影響還寥寥可數。目前還欠缺比較具體的XML項目。然而,XML擁有為書面文本文檔提供最簡潔的結構的優(yōu)勢,從某種意義上說,它完全可以取代HTML格式,用XML,用戶可以根據自己的使用習慣來定義專屬的網絡標簽。
在當今普遍盛行將海量信息數據存儲于數據庫中。而這類數據庫換言之即為“數據倉庫”。數據倉庫,其實是將從多渠道搜集的信息,在統(tǒng)一的數據格式之下,存儲起來而形成的“知識庫”。從這一龐大的數據庫中,人們試探去開發(fā)出若干功能,例如,檢索功能、編目功能,基于思想內容的索引功能等。而為了挖掘出有價值的信息,筆者認為必須進行數據挖掘。近幾年,數據挖掘技術無論在工業(yè)領域還是社會科學領域都得到廣泛的重視,究其原因是海量信息具有廣泛的適用性。如何將其從單純的數據轉化成有價值的信息或知識,已經成為全社會最迫切的需求了[6]。
通過數據挖掘工具可完成對數據的分析全過程,并且能發(fā)掘出有助于決策及科研需要的重要的數據模式。
本文通過提出基于XML的分布式存儲數據庫系統(tǒng),來一種思路,即可以從傳統(tǒng)的簡單的數據庫系統(tǒng)延伸到一個更廣闊的領域——數據倉庫。
事實上,XML格式有助于將結構化以及非結構化信息,以網頁的格式,通過因特網或組織內部的局域網呈現給用戶。
XML技術近幾年以驚人的速度得到普及。XML技術針對基于網絡的應用程序提供了若干便捷的功能。原生XML數據庫是根據XML數據庫的原始概念,由于若干因素的考量改進而成的。將思路延展下去,可將各種數據挖掘技術運用到某種數據倉庫模型中,從而輕松處理各項業(yè)務產生的海量信息。
在接下來的時間里,筆者計劃把該“基于XML的分布式存儲數據庫”的模型,進行延展,應用到處理非XML的數據中。
參考文獻:
[1]趙朋飛.基于XML的分布式數據庫集成系統(tǒng)[J].計算機工程,2010(7):70-72.
[2]黃偉紅,張福炎.基于XML/RDF的MARC元數據描述技術[J].情報學報,2000(4):326-332.
[3]王韋偉,孫慶鴻.基于XML的分布異構數據集成平臺[J].東南大學學報(自然科學版),2006(05):715-719.
[4]陳鳳巖,唐振宇,步兆軍.基于Java和XML的異構數據庫集成研究[J].情報雜志,2006(07):16-17+21.
[5]祁迪.分布式數據庫特點及其設計方法[J].山東工業(yè)技術,2016(01):152-153.
[6]龐惠,翟正利.論分布式數據庫[J].電腦知識與技術,2011(02):271-273.