DB2 在存儲xml數據的優點

XML是一種靈活的語言。在其中用戶可以標記自己的tag(標籤)來定義其數據類型。在這些tag中用戶可以自己定義原理或者屬性的名稱,這樣的話只要得到了XML文件,即使另一個對此係統毫不知情的用戶也可以很輕易地讀懂這些數據。

  當不同的用戶在交換數據的時候,只要遵循XML標準,每一個應用程序可以針對自己所使用的數據類型編寫XML解釋器,將XML文件中的數據輕易地轉化成自己使用的數據類型,這樣就可以保證在不同的應用程序之間數據得以快速地交流。

  但是作爲存儲數據的數據庫,以往的基於關係的表並不能夠很好地適應這種新的需求。用戶仍然需要花費大量時間將XML數據轉化到關係類型然後輸入數據庫,或者根據需要編寫複雜的查詢再將這些數據讀取出來。這種方法既添加了難度,也降低了效率。原本的XML文件會被重新解析到各個表中,這個過程對於複雜或者有着大數據量的系統來說是相當消耗資源的。

  DB29數據庫相對於其他數據庫管理系統來說有了大幅度的創新。實際上,DB2 9對於XML的支持不僅僅體現在XML類型的數據上,一些用關係模型難以解決的問題也可以使用XML模型得以解決。DB2 9對XML的支持與經典的關係數據模型相比所具有的優勢是不可忽略的。

  與其他主流數據庫管理系統比起來,DB2有其優勢也有自己的不足。在處理datawarehouse系統上DB2的性能應該是非常優秀的,同時DB2對優化器做的相當完美,對於大部分複雜查詢可以有效地將其重寫爲最優語句,並且分配合理的執行計劃。

  DB2在關閉機制上有一定的不足。這與DB2的設計框架相關,內存鎖的使用在提升效率的同時也對系統的優化要求提到了最高。如果用戶對數據庫的本身優化和應用程序優化做的不足,那麼DB2會容易出現鎖等待現象。

  此外,DB2在API與函數的提供上還不完善。但是多倫多實驗室的人正在盡力完善這個模塊,在DB2 9中我們期待看到更多更爲強大的函數。

  同時,對於所有的數據庫系統高可用性也是一個比較令人頭疼的問題。在DB2中的高可用性對於普通用戶來說可能比較複雜,但是IBM有一些經典的技術文檔可以用來參照幫助用戶自己設置。對於管理多分區系統的DBA來說,怎樣對各分區協調,如何合理設置分區鍵是重要的。

  作爲技術支持小組的人,需要真正深入理解各分區之間的通訊與工作機制是最重要的。記得以前看過一篇文章說DB2的share nothing架構是騙人的東西,個人認爲是因爲他對DB2多分區理論只是做了一些文字上的理解,但是對於其中的內存CPU,磁盤資源的分配卻根本沒有理解。

  也許很多人都認爲DB2比起其他的數據庫系統要複雜很多,但是個人認爲那是由於這些人對其底層的架構和模型不瞭解所導致的。真正意義上理解DB2以後就會發現其中的每一個模塊都是經過精心設計的。如能完整地優化系統,許多數據庫常見的問題就不會出現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章