XML技術與資料庫的發展趨勢分析

2021-08-29 11:53:38 字數 4889 閱讀 8769

資料庫技術及其應用系統經歷了從層次資料庫、網狀資料庫到關聯式資料庫以及物件導向資料庫的發展,在傳統的商業和事務處理領域內逐步成熟,取代了原有的基於檔案系統的資料處理方式,成為計算機資訊系統中的重要基礎和支柱。但隨著internet的飛速發展,web的出現改變了人們習慣的處理方式,也給資料庫技術提出了必須面對的重要問題,即如何有效地儲存和管理web上的資料(文件),使其既能被高效地操作和維護,又能在internet平台上方便地表示和交換。

xml技術自出現以來發展非常迅速,在許多領域內得到廣泛的支援而有著廣闊的應用前景。例如電子資料交換、電子商務等更是將xml作為一種基礎性、支柱性的技術來看待。

1、資料庫簡史

資料庫系統是隨著計算機技術的不斷發展,在特定的歷史時期、特定的需求環境下出現的。在2023年的第一台計算機到20世紀60年代這漫長的20年裡,計算機作業系統主要侷限於檔案的操作,對資料的管理也主要是通過檔案系統來實現。進行計算所需要的各種資料存放在各自的檔案裡,使用這些資料時將檔案開啟,讀取檔案中的資料到記憶體中,當計算完畢後,將計算結果仍舊寫入到檔案中去,它的不足主要集中在無法對資料進行有效的統一管理。針對檔案系統的重要缺點,人們逐步發展了以統一管理資料和共享資料為主要特徵的系統,即資料庫系統。2023年,美國通用電氣公司開發成功了世界上的第乙個資料庫系統ids(integrateddatastore)。ids奠定了網狀資料庫的基礎,並得到了廣泛的發行和應用,成為資料庫系統發展史上的一座豐碑。2023年,美國國際商用機器公司(ibm)也推出世界上第乙個層次資料庫系統ims(informationmanagement system),同樣在資料庫系統發展史上占有重要的地位。

70年代初,e.f.codd在總結前面的層次、網狀資料庫優缺點的基礎上,提出了關係資料模型的概念及關係代數和關係演算。在70年代,關係資料庫系統無論從理論上還是實踐上都取得了豐碩的成果。在理論上確立了完整的關係模型理論、資料依賴理論和關聯式資料庫的設計理論;在實踐上,世界上出現了很多著名的關係資料庫系統,比較著名的如systemr、ingres、oracle等。

與檔案系統相比,資料庫系統有幾個方面的特點:向使用者提供高階的介面;向使用者提供非過程化的資料庫語言(即sql語言);查詢的處理和優化;併發控制;資料的完整性約束。

進入80年代之後,計算機硬體技術的飛速提高促使計算機應用不斷深入,產生了許多新的應用領域,例如計算機輔助設計、計算機輔助製造、計算機輔助教學、辦公自動化、智慧型資訊處理、決策支援等。這些新的領域對資料庫系統提出了新的要求。但由於應用的多元化,不能設計出乙個統一的資料模型來表示這些新型的資料及其相互關係,因而出現了百家爭鳴的局面,產生了演繹資料庫、物件導向資料庫、分布式資料庫、工程資料庫、時態資料庫、模糊資料庫等新型資料庫的研究和應用。

2、xml簡介

xml推薦標準1.0版發布於2023年2月,之後迅速在全球掀起了xml應用的浪潮。xml是一種描述型的標記語言,與html同為sgml(標準通用標記語言,iso-8879國際標準)的一種應用。由於xml在可擴充套件性、可移植性和結構性等方面的突出優點,它的應用範圍突破了html所達到的範圍。

一篇xml文件由標記和內容組成。xml中有六種標記:元素(elements)、屬性(attributes)、實體引用(entityreferences)、注釋(comments)、處理指令(processinginstructions)和cdata段(cdatasections)。xml與html最顯著的不同是xml文件中引入了「文件型別宣告」(document type declarations)。dtd使文件可以與分析器交流關於它的內容的元資訊。dtd的出現,賦予了xml文件可擴充套件性、結構性和可驗證性,使xml具備了類似於資料庫的一些性質,可以利用xml來組織和管理資訊;又可以與html一樣在瀏覽器中方便地表示,在internet上高效地傳遞和交換。考慮到與html的相容,dtd並不是xml文件必需的成份。具有dtd的xml文件稱作「valid」,否則就是「well-formed」。

目前,處理xml文件的方式主要有sax與dom兩種。sax(******apiforxml)是一種基於流的、以事件處理方式工作的介面。sax 2.0在2023年5月發布,增強了許多功能,包括對名字空間的支援。dom(document object model)則是在對xml文件進行分析後,在記憶體中建立起乙個完整的樹結構,然後在此基礎上進行各種操作。簡單地比較來看,sax對系統資源要求低、速度快,但對文件的操作是唯讀的;dom的處理能力強大,但要求大量的系統資源,尤其是對於大的文件。而後還出現了xpath和xpointer用以完成xml的搜尋和轉換;xsl、xslt和soap用以完成xml的遠端物件訪問,xml query languages的出現使xml查詢語言可用於任何xml文件。

3、xml與資料庫

xml檔案是資料的集合,它是自描述的、可交換的,能夠以樹型或圖形結構描述資料。xml提供了許多資料庫所具備的工具:儲存(xml文件)、模式(dtd,xmlschema,re1axng等)、查詢語言(xquery,xpath,xql,xml-ql,quilt等)、程式設計介面(sax,dom,jdom)等。但xml並不能完全替代資料庫技術。xml缺少作為實用的資料庫所應具備的特性:高效的儲存、索引和資料修改機制;嚴格的資料安全控制;完整的事務和資料一致性控制;多使用者訪問機制;觸發器、完善的併發控制等。因此,儘管在資料量小、使用者少和效能要求不太高的環境下,可以將xml文件用作資料庫,但卻不適用於使用者量大、資料整合度高以及效能要求高的作業環境。

隨著web技術的不斷發展,資訊共享和資料交換的範圍不斷擴大,傳統的關聯式資料庫也面臨著挑戰。資料庫技術的應用是建立在資料庫管理系統基礎上的,各資料庫管理系統之間的異構性及其所依賴作業系統的異構性,嚴重限制了資訊共享和資料交換範圍;資料庫技術的語義描述能力差,大多通過技術文件表示,很難實現資料語義的永續性和傳遞性,而資料交換和資訊共享都是基於語義進行的,在異構應用資料交換時,不利於計算機基於語義自動進行正確資料的檢索與應用;資料庫屬於高階應用,需要昂貴的**和執行環境。而隨著網路和internet的發展,資料交換的能力已成為新的應用系統的乙個重要的要求。xml的好處是資料的可交換性(portable),同時在資料應用方面還具有如下優點:(1)xml檔案為純文字檔案,不受作業系統、軟體平台的限制;(2)xml具有基於schema自描述語義的功能,容易描述資料的語義,這種描述能為計算機理解和自動處理;(3)xml不僅可以描述結構化資料,還可有效描述半結構化,甚至非結構化資料。

4、xml檔案的儲存

xml檔案的儲存方式有三大類:(1)將檔案儲存於檔案系統(storingdocumentsinthe file system);(2)將檔案儲存於blob(storing documents in blobs),利用資料庫的事務管理、安全、多使用者訪問等優點。此外許多關聯式資料庫提供的檢索工具可以進行全文檢索、近似檢索、同義詞檢索和模糊檢索。其中某些工具將會支援xml,這樣就可消除將xml檔案作為純文字檢索所帶來的問題。(3)將檔案儲存於原生xml資料庫(native xml databases,nxd)。nxd是專用於儲存xml檔案的資料庫,支援事務管理、安全、多使用者訪問、程式設計api和查詢語言等。與其它資料庫的唯一區別在於其內部模型是基於xml的。其中,最重要的儲存方式當屬原生xml資料庫。

4.1、原生xml資料庫

原生xml資料庫(nativexmldatabases)為xml文件定義了乙個(邏輯)模型,並根據該模型訪問檔案。這個模型至少應包括元素、屬性、pcdata和檔案順序。其例子有xpath資料模型、xmlin-foset以及dom所用的模型和sax 1.0的事件。它以xml檔案作為其基本儲存單位,對底層的物理儲存模型沒有特殊要求。例如,它可以建在關係型、層次型或物件導向的資料庫之上,或者使用專用的儲存格式,比如索引或壓縮檔案。

nxd最適於儲存以文件為中心的檔案。這是由於nxd保留了檔案、順序、處理指令、注釋、cda-ta塊以及實體引用等,而支援xml的資料庫xed(xml-enableddatabase)無法做到。xed是在原有資料庫基礎上擴充套件了xml支援模組,完成xml資料和資料庫之間的格式轉換和傳輸。從儲存粒度上,可以把整個xml文件作為rdbms表中一行,或把xml文件進行解析後,儲存到相應的**中。為了支援w3c的一些xml操作標準,xpath、xed提供一些新的原語(如oracle9ir2增加了一些資料報來操作xml資料等),並優化了xml處理模組。

nxd一般採用層次資料儲存模型,保持xml文件的樹形結構,省掉了xml文件和傳統資料庫的資料轉換過程。nxd還適用於儲存「天然格式」為xml的檔案,nxd還可以儲存半結構化資料、在某種特定情形下提高訪問速度以及儲存沒有dtd的檔案(良構的檔案)。

4.2、原生xml資料庫的結構

原生xml資料庫的結構可分為兩大類:基於文字的和基於模型的。

基於文字的nxd(text-basednativexmldatabases)將xml作為文字儲存。它可以是檔案系統中的檔案、關聯式資料庫中的blob或特定的檔案格式。基於文字的nxd與層次結構的資料庫很相似,當訪問預先定義好層次的資料時,它比關聯式資料庫更勝一籌。和層次結構的資料庫一樣,當以其它形式比如轉置層次訪問資料時,nxd也會遇到麻煩。這個問題的嚴重程度尚未可知,很多關聯式資料庫都使用邏輯指標,使相同複雜度的查詢以相同的速度完成。

基於模型的nxd(model-basednativexmldatabases)是根據檔案構造乙個內部模型並儲存這個模型。有些資料庫將該模型儲存於關係型和物件導向的資料庫中,例如在關係型資料庫中儲存dom時,就會有元素、屬性、pcdata、實體、實體引用等**。其他資料庫使用了專為這種模型優化了的儲存格式。使用專用儲存格式的基於模型的nxd如果以檔案的儲存順序讀取檔案,其效能與基於文字的nxd相似。

4.3、原生xml資料庫的特性

5、結論

xml技術的出現,使資料處理從檔案方式到資料庫系統再到檔案方式的迴圈,但新的檔案方式已經與最初的檔案系統有了本質的區別----格式化文件。xml和關聯式資料庫在資料應用和資料管理方面各有優勢。

一方面,我們要研究資料庫的新技術、探索資料庫的發展方向;另一方面,在資料庫的基本實現基礎上,新增必要的新技術是探索新資料庫的發展方向。

本文**:

XML技術與資料庫的發展趨勢分析

資料庫技術及其應用系統經歷了從層次資料庫 網狀資料庫到關聯式資料庫以及物件導向資料庫的發展,在傳統的商業和事務處理領域內逐步成熟,取代了原有的基於檔案系統的資料處理方式,成為計算機資訊系統中的重要基礎和支柱。但隨著internet的飛速發展,web的出現改變了人們習慣的處理方式,也給資料庫技術提出了...

DSL技術的發展趨勢

dsl技術的發展趨勢 2006 06 13 08 55 51 據dslforum的統計,截至2005年末,全球dsl使用者數已達1 388億,有20個國家的dsl使用者數已經超過了100萬,其中中國作為世界上最大的dsl使用者市場,使用者數已達到2636萬,約佔世界dsl總使用者數的19 比位居第二...

談雲技術的發展趨勢

雲計算 是乙個很時尚的概念,它既不是一種技術,也不是一種理論,而是一種商業模式的體現方式。準確說,雲計算僅描述了一類棘手的問題,因為這個階段,計算與資料 蹺蹺板的平衡已發生變化,即已經到 移動計算要比移動資料要便宜的多 moving computation is cheaper than movin...