新技術帶來的新麻煩
xml(標准化越來越近了)(Extensible Markup Language)技術作為一種自我描述的數據結構,具有極大的靈活性,憑借其可擴展、平台無關和易於交換等特性獲得各方面的一致認可。隨著業務和IT技術的進化,越來越多的公司開始廣泛采用xml(標准化越來越近了)技術。同時,為了實現在不同的系統和應用程序之間交換數據以適應業務環境的快速變化,大量的企業開始建立 SOA(Service OrIEnted Architecture,面向服務的架構),而xml(標准化越來越近了)正是SOA得以建立的基礎。因此,幾乎所有的著名IT企業都在尋找辦法來高效地共享、搜索和管理公司產生的大量 xml(標准化越來越近了) 文檔和消息,從而幫助公司減少存儲和使用 XML(標准化越來越近了) 數據所需的時間和工作量,進而減少開發費用並提高業務靈活性。
管理新的數據形式常常要面對新的挑戰,迅速增長的xml(標准化越來越近了)格式數據就給企業帶來了這種麻煩。xml(標准化越來越近了)數據模型與傳統的關系模型有很大的區別,關系模型是以關系 (表)、屬性 (列)為基礎的,而xml(標准化越來越近了)數據模型是以節點 (元素、屬性、備注等)和節點間存在著的相互關系為基礎的,目前普遍采用的管理和共享 XML(標准化越來越近了) 數據的一般方法都存在一定的缺陷。
文件系統可以應付簡單的任務,但是在需要處理大量文檔時它們就表現出弱勢了,並發性、恢復、安全和可用性問題變得難以管理。商業關系數據庫管理系統(DBMS)解決了這些問題,但是在其他方面仍有所欠缺,它們常常提供兩種基本的數據庫設計選項 —— 將每個 xml(標准化越來越近了) 文檔完整地存儲為一個大型對象,或者將它拆散,分散存儲在多個表的多個列中,在許多情況下,這些選項都會導致性能問題、管理困難、查詢的復雜性增加以及其他一些問題。而純粹的XML(標准化越來越近了) DBMS 在 IT 基礎設施中引入了一種新型的環境,而且這種環境還沒有經過考驗,它的集成能力、需要的人員技能以及未來的生命力還不確定,會造成很多風險因素。
那如何才能做到即充分利用xml(標准化越來越近了)的各種特性,又能夠簡單、高效的存儲XML(標准化越來越近了)數據呢?
IBM DB2 9破難關
面對這些挑戰,經過多年的積累和持續創新,IBM在業內率先推出了第一個直接支持 XML(標准化越來越近了) 的混合數據服務器——IBM DB2 9(代號為Viper)。
IBM DB2 9提供了與以前版本非常不同的體系結構,它通過提供新的查詢語言、新的存儲技術、新的索引技術和支持xml(標准化越來越近了) 數據及其固有層次結構的特性,使得IBM DB2 9成為 IBM 的第一個“混合型”(即多結構)數據庫管理系統。除了支持表數據模型之外,DB2 還支持 xml(標准化越來越近了) 文檔和消息中固有的層次化數據模型。用戶可以在一個表中自由地混合存儲傳統 SQL 數據和最新的 xml(標准化越來越近了) 數據。還可以使用 SQL(如果願意,可以加上 xml(標准化越來越近了) 擴展)和 XQuery(新出現的 xml(標准化越來越近了) 數據查詢標准)來查詢和處理這兩種形式的數據。在經過實踐檢驗的數據庫管理基礎設施上進行擴展,IBM 為 DB2 9 用戶提供了同時處理關系數據和 xml(標准化越來越近了) 數據的強大支持。新的基於XML(標准化越來越近了)的應用程序使用DB2可以無縫地訪問關系數據庫資源,擁有企業級XML(標准化越來越近了)應用的訪問能力。
DB2 在所有特性/接口中都整合了對xml(標准化越來越近了)數據的支持,而DB2 對 XML(標准化越來越近了) 的 “固有”支持是在對其他技術的現有支持之外提供的,SQL、表格數據結構和各種 DBMS 特性現有仍然能夠獲得最好的支持。因此,用戶可以用一個數據庫對象同時管理 “傳統的” SQL 數據和 XML(標准化越來越近了) 文檔。
為了高效地管理傳統 SQL 數據類型和 xml(標准化越來越近了) 數據,DB2 包含兩種不同的存儲機制。但是,一定要注意,給定數據類型所用的底層存儲機制對於應用程序是透明的。換句話說,應用程序不需要顯性地指定要使用的存儲機制,也不需要管理存儲的物理細節,比如如何將 XML(標准化越來越近了) 文檔的各個部分拆分到多個數據庫頁上。系統會自動采用適合目標數據的格式,應用程序自然而然地獲得存儲和查詢數據方面的運行時性能優勢。
DB2 9的獨到之處
DB2 使用戶能夠完整地存儲 xml(標准化越來越近了) 文檔,同時 DBMS 完全掌握文檔的內部結構。這樣就避免或減少了其他解決方案涉及的管理任務和程序設計任務。另外,它可以加快文檔之間和文檔內部的搜索,使顧客能夠更快地適應 xml(標准化越來越近了) 模式中反映出的業務需求變化。DB2 對存儲 xml(標准化越來越近了) 數據的惟一要求是它必須是 “良構的(well formed)” —— 也就是說,它必須符合 “W3C xml(標准化越來越近了) 標准”中指定的語法規則。這種寬松的方式給用戶提供了很大的靈活性,更容易存儲包含不同屬性和內部結構的 XML(標准化越來越近了) 文檔集合。
xml(標准化越來越近了) 文檔集合存儲在 DB2 表中,這些表包含一個或多個新的 xml(標准化越來越近了) 數據類型的列。為了用戶易於集成傳統形式的業務數據和 xml(標准化越來越近了) 數據,DB2 管理員可以創建同時包含傳統 SQL 數據類型列和新的 xml(標准化越來越近了) 數據類型列的表。這使管理員能夠使用熟悉的 SQL 數據定義語言(DDL)語句來創建存儲 XML(標准化越來越近了) 數據的數據庫對象。但實際上這個熟悉的接口隱藏了一個事實,那就是DB2是以不同的方式存儲 xml(標准化越來越近了) 數據的,它使用新技術來存儲 xml(標准化越來越近了) 數據的層次結構,並支持高效地搜索原始 xml(標准化越來越近了) 數據的所有部分。 DB2 采用一種經過解析的格式來存儲和操作 xml(標准化越來越近了) 數據,這種格式可以反映原始 xml(標准化越來越近了) 文檔的層次結構。因此,它采用樹和節點作為模型來存儲和處理 xml(標准化越來越近了) 數據。如果用戶要求 DB2 在進行存儲之前針對注冊的 xml(標准化越來越近了) 模式對 xml(標准化越來越近了) 數據進行檢驗,那麼 DB2 將用模式類型信息對 XML(標准化越來越近了) 層次結構中的所有節點進行標注;否則,就用默認的類型信息對節點進行標注。
DB2 新的 XML(標准化越來越近了) 支持包含新的查詢語言功能。程序員現在可以使用 SQL 或 XQuery 搜索數據,XQuery 是一種新的查詢語言,支持導航(即基於路徑的)表達式。實際上,應用程序可以自由地使用這兩種語言的語句,而且一個查詢語句可以結合使用 SQL 和 XQuery。
DB2 對 xml(標准化越來越近了) 支持的新特性包括對熟悉的管理工具的擴展,可以幫助管理員管理以及對數據庫進行調整。例如,備份和恢復設施(包括用於故障恢復的高可用性數據復制)都支持 xml(標准化越來越近了) 列中存儲的文檔。DB2 的圖形化管理工具 DB2 Control Center 使管理員能夠浏覽包含 xml(標准化越來越近了) 數據的表、創建和管理基於 xml(標准化越來越近了) 的索引、發出 SQL/xml(標准化越來越近了) 和 XQuery 語句以及執行許多其他管理任務。因為性能常常是關注的重點,相應的 DB2 設施也進行了擴展來適應 XML(標准化越來越近了) 數據。這些設施包括 DB2 Snapshot Monitor(即 “快照”),它提供對某一時刻 DB2 活動的匯總;RUNSTATS,它收集 DB2 數據庫中存儲的數據的統計信息;以及 EXPLAIN,它報告查詢優化器為滿足給定請求所選擇的訪問路徑。管理員可以通過研究 EXPLAIN 的輸出來判斷使用了哪些 XML(標准化越來越近了) 索引。
如果程序員無法可靠地訪問數據庫中存儲的 xml(標准化越來越近了) 數據,那麼 DB2 新的 xml(標准化越來越近了) 支持的意義就不大了。正是認識到了這一點,IBM 對它的各種編程語言接口進行了增強,從而支持輕松地訪問 XML(標准化越來越近了) 數據。這些增強覆蓋 Java?(JDBC)、C(嵌入式 SQL 和調用級接口)、COBOL(嵌入式 SQL)、PHP 和 Microsoft? 的 .NET 環境(通過 DB2.Net 數據提供程序)。
DB2 9是第一個同時支持關系型數據和內置xml(標准化越來越近了)數據支持的數據庫,將XML(標准化越來越近了)與傳統關系數據庫實現了完美的結合,讓用戶可以付出最小的代價而獲取最先進的技術特性和卓越的性能表現,開啟了混合型數據庫管理系統的新紀元,是IBM 公司26年來信息管理劃時代的技術創新,領導數據管理走向新的高峰,必將成為數據庫發展史上的一個新裡程碑。