DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> XML“走進”數據庫 - asp.net
XML“走進”數據庫 - asp.net
編輯:XML詳解     

  導 讀:XML是否能取代傳統的數據庫,本文就這個問題做了一些介紹和分析。這對於急於想了解XML發展方向的朋友有一定的幫助。
  --------------------------------------------------------------------------------
  張大佑 編譯
  
  
  
  
   可擴展標記語言(XML,Extensible Markup Language)目前正在成為各種數據特別是文檔的首選格式。由於它具有標記不同字段(fIEld)的能力,使得搜索變得更簡單和動態化,從而把企業准備扔進廢紙簍的文件變成了進行數據挖掘的寶藏。XML把內容從演示格式中解放出來,使材料可以多次重復使用。這樣一來,同樣的內容可以分別用於新聞發布、白皮書、宣傳冊、演示和Web頁面。對那些需要把不兼容的系統融合在一起的企業,XML可以充當公共傳輸工具,以中性格式進行數據傳輸。此外,XML還可以處理各種數據,包括文本、圖像和聲音,並且可以由用戶進行擴展以處理任何特殊類型的數據。
  
   XML的特性使之成為在線和離線數據的共同語言。
  
   現在的問題是,怎樣管理XML標記的數據。一種很有希望的方法是用數據庫對XML進行存儲、檢索和操作,即把XML標記的數據收入一個框架中,在一種更容易管理、更系統化、更為人們所熟悉的環境中完成搜索、分析、更新和成果輸出工作。
  
   這裡有兩種不同的觀點:純粹派認為,只有以XML原始的格式存儲XML的數據庫才能稱為XML數據庫;另一些人認為,只要能存入和檢出XML,且它本身又是一個數據庫,那它就是一個XML數據庫,而不必考慮數據是怎樣存入的。我們暫且把兩派之爭放在一邊,凡內部不是以XML格式存儲的XML數據庫,叫做“XML- enabled數據庫”;如果內部以XML格式存儲數據,就稱為“native-XML數據庫”。
  
   使用現有的數據庫類型和產品而不是以原始格式來存儲 XML,是出自以下幾種考慮:首先,普通的關系數據庫和面向對象數據庫已盡人皆知,而 native-XML數據庫是新的;其次,人們熟知現有的關系數據庫和面向對象數據庫,也了解它們的行為和性能,因此,他們不願意轉向native-XML數據庫,因為其性能,特別是可伸縮性尚未經過檢驗;最後,在企業看來,選擇關系數據庫和面向對象數據庫是比較安全的,不到迫不得已用不著冒險使用新的native-XML數據庫。
  
   所幸的是,您用不著去冒險。現在已經有一些能夠很好地處理XML的XML-enabled數據庫,並且是由久經考驗的關系數據庫和面向對象數據庫擔此重任。這些數據庫在收到XML後,將其分解為字段並按通常的方式存儲它們,當檢索XML 時,這些字段再被拼接成原狀。
  
   設在麻省Reading的Xyvision企業解決方案公司研制的 Content@XML是一套內容管理系統,它可以在任何一種流行的關系數據庫中存儲XML文件。其好處是可以開展基於內容的協同工作,進行多通道內容輸出。一家技術出版商選用了 Content@XML,他們說XML將他們2周的工作壓縮到幾分鐘,“該系統接受的是XML材料,給出的卻是你想要的任何格式的結果。”
  
   Lotus公司的Domino數據庫也可以處理XML,而且其 XML Toolkit甚至可以讓您像在native-XML數據庫中一樣創建和處理內容。
  
   在關系數據庫中處理XML數據時,可用第三方中間件進行轉換,其中有一種產品稱為XML-DBMS,這是一種基於Java Database Connectivity(JDBC) 的工具,可以在XML文檔和數據庫之間傳輸數據。
  
   不過,利用關系數據庫和面向對象數據庫存儲XML也遭到一些批評。例如,有人認為,XML最具吸引力的特性之一是其分層結構,而關系數據庫卻將XML映射成關系表,從而將XML結構變成了平面的行和列。另外,遇到大型或復雜文檔時,在XML與數據庫之間進行來回轉換要耗費相當多的處理時間,從而降低了Web頁面的生成速度。
  
   目前,native-XML數據庫已經開始出現,盡管人們還不能完全信任它,但的確有一些native-XML數據庫開始在實際應用中受到得青睐。另外,主流的數據庫廠商也可能在適當的時機推出自己的native-XML數據庫產品。
  
   第一個,可能也是最有名的商用native-XML數據庫是位於美國加州的Software AG公司開發的Tamino。除了可以存儲和訪問XML外,Tamino 還具備多項功能,包括Open Database Connectivity、符合Unicode要求、HTTP通信及處理非XML數據的能力。Gartner Group的一份報告指出:“Tamino特別適用於需要從多種不同平台和格式整合信息並向業務伙伴或客戶散發這些信息的機構。”
  
   據介紹,Tamino擁有直接XML檢索和特殊檢索的能力,其查詢語言強大而簡短,可進入任意深度,使SQL相形見绌。
  
   其他native-XML數據庫包括dbXML、eXcelon和 XHive/DB,分別由美國的dbXML Group LLC公司、 Excelon公司和荷蘭的The Connection Factory公司研制。奇怪的是,對native-XML數據庫的主要批評之一是性能問題。有人預見到,當所搜尋的信息位於大文檔的未尾時,由於缺乏其他機制,native-XML 數據庫只能艱苦跋涉到最後,而關系數據庫和面向對象數據庫則可以將文檔分成小塊同時進行搜索,速度當然要快得多。
  
   當然,上述困難並非無法克服,只要在存儲時給各文檔分別加上索引就行了。Tamino就具有這種索引能力,從而彌補了大型文檔搜索的不足,另外,native-XML存儲消除了不必要的轉換操作。目前,Tamina有Windows NT、Windows 2000、Solaris和SCO Unix等版本,將來還要出Linux和一些大型機版本。
  
   目前,許多主流的數據庫廠商都在把XML支持結合到其產品中,或者提供可在其數據庫中使用XML的工具。IBM提供了XML Extender for DB2,以允許用戶在DB2中存儲XML文檔,並提供一些新功能協助用戶處理XML文檔;Microsoft 的SQL Server 6.5和7.0也進行了XML擴充,據悉SQL將來要加入XML輸出選項,用以向其他系統傳送信息。Oracle也擁有功能強大的XML索引引擎。
  
   有專家預計,這些數據庫廠商不久將推出自己的native- XML數據庫,以滿足基於Web的電子商務對XML數據處理的需求。
  
   總之,XML的需求正在擴大,新的應用包括采用XML 標簽的Internet搜索引擎、必須快速輸出結果的電子商務系統、帶XML標簽的電子數據交換、數據重復使用和內容個性化。作為處理上述應用的一環,XML數據庫的需求也將快速增長。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved