萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> oracle教程 >> 解析Oracle 11g:提升管理功能 重用XML

解析Oracle 11g:提升管理功能 重用XML

  Oracle最新的數據庫產品在去年年底開始進入Beta版狀態,在最初公布的測試版當中,Oracle發布了數百項功能改進。作為目前全球市場占有率最大的數據庫產品供應商之一,Oracle的新版產品足可以用萬眾矚目來形容,目前可以確定的是,這個產品的命名將是Oracle 11g。除了版本的更新之外,新的Oracle數據庫仍將使用g作為後綴,以代表這是一個包含了網格技術基礎的數據庫軟件。根據以往幾個版本的經驗,Oracle發布新版數據庫的頻率在3年左右,所以Oracle 11g極有可能在2007年年底之前發布。Oracle 11g是否會進一步擴大Oracle在數據庫市場的領先優勢呢?本文將集中解析Oracle 11g當中新增的功能,從而在一定程度上獲得這一問題的答案,並了解Oracle數據庫產品的發展方向。

  新的管理功能

  在Oracle 11g當中,用戶可以獲得多個方面的性能提升。在2006年10月23日舉行的Oracle OpenWorld大會上,Oracle的執行副總裁Chuck Rozwat曾親自對Oracle 11g的性能進行了演講。據Chuck Rozwat介紹,Oracle移動數據的速度已經超過了專門的文件系統,這一方面得益於Oracle對數據庫引擎的優化,同時也與Oracle 11g中應用的大量壓縮技術有關。例如,在數據表和數據索引方面的壓縮就有不小的增強,而且用戶可以對已壓縮數據進行數據列增刪等多項常規操作。另外,在觸發器等方面,Oracle 11g的運行速度也將更快,特別是針對DML的觸發器程序,執行速度可以獲得四分之一左右的提升。

  Oracle 11g中增加了一種新的觸發器,被稱為compound,這種觸發器允許同時處理BEFORE、ROW和AFTER等部分。這樣做的好處是有助於消除錯誤,同時分別管理每個部分的工作狀態。

  ADR(Automatic Diagnostic Repository),意即自動診斷庫,利用該機制,Oracle數據庫可以通過預設的基線自動捕獲符合標准的問題,同時也可以執行一些確定的數據庫健康檢查工作。發現的這些問題可以被記錄以輔助用戶管理數據庫的狀態,而且這些信息還能夠被發送到Oracle的支持部門。另一項與ADR有關的機制是IPS(Incident Packaging Service),通常被稱為事件打包服務。IPS可以將那些需要跟蹤的、與特定的事件相關的所有信息收集並打包,供管理員進行特定問題域的管理。

  值得一提的是,Oracle 11g當中的補丁更新可以按照功能特性進行細分,這樣用戶就可以了解到哪些補丁是與當前所使用功能相關的,同時也可以基於特定的功能范疇來查找是否有補丁可用,並且該機制還支持對特定功能相關補丁的訂閱。另一個值得關注的特性是Oracle 11g支持熱補丁,這樣在進行漏洞修復和功能修補的時候就無需停止數據庫服務器了,這對於企業用戶來說絕對是一個好消息。

  XML受寵

  在Oracle 11g可以使用CLOB及二進制兩種方式保存XML信息,靈活性很高。Oracle 11g還支持針對XML的查詢機制,同樣有多種機制可以選用,例如XQuery。XQuery是W3C推出的一組關於XML數據查詢和搜索的規范,相對來說,XQuery的語法比直接操作XML要簡單和直觀。說到在XML數據處理方面的增強,值得一提的是,Oracle 11g開始支持JSR 170,這是一套基於Java的內容存儲倉庫API。Oracle 11g提供了二元性的XML支持,意即在實際使用過程中,用戶既可以將XML嵌入到PL/SQL中使用,也可以將PL/SQL整合到XML中使用。

  在Oracle 11g當中,會增加一種新的數據類型,被稱為simple_integer。這種新的整數類型具有非空屬性,而在處理速度上要比PLS_INTEGER更快。另外,在11g中還會包含被稱為虛擬列(Virtual Columns)的數據表功能支持。通過該機制用戶可以根據實際的業務功能來定義數據表列,從而構建更加復雜及更加靈活的數據表。Oracle 11g支持一種新的分區方案,令用戶可以基於時間進行分區,例如分離出某個時間間隔內新增的數據內容,這進一步提高了Oracle數據庫分區機制的靈活性。

  除此之外,Oracle 11g在數據表方面還有很多的改善,例如增強的只讀數據表、為一張表格綁定多個觸發器並為這些觸發器設置先後順序等。

 

  當XML面世之時,也許沒有哪個數據庫廠商會對這種技術給以足夠的關注,然而在今天,XML已經開始對數據存儲產生巨大的影響。由於XML在互聯網應用領域被作為標准廣泛地應用於數據交換和保存,下一代數據庫的形態發展過程將無可避免地留下XML的足跡。XML在數據存儲方面有一個明顯的優點,那就是可以直接將邏輯關系編寫在XML文件當中。將XML融入主流的數據庫引擎,首先要做到的一點是如何將現有的關系型數據輸出成XML格式。現在已經有一些數據庫可以做到將SQL查詢結果直接轉換成XML形式,這樣應用程序就可以直接利用這些XML文件結果作為內容輸出源了。在此基礎上,將已有的文檔和數據通過XML的方式導入到數據庫也是問題的一個重要方面,而這個工作無疑要復雜得多。其實將XML格式的文檔導入到數據庫中並不困難,因為XML文件具有內在的邏輯和規范,困難之處在於將千差萬別的文檔轉換成XML格式的文件。當然,數據的查詢工作也需要做出相應的改變,在支持XML的數據庫當中單純的依靠SQL查詢已經難以保證效率。有兩條截然不同的道路可以實現傳統數據庫與XML的融合,一種方式是數據庫廠商可以編寫更多的轉換器和工具以實現傳統數據庫實體與XML數據的交互,即將XML數據作為各種數據表現形式中的一種來看待;另一種方式就是徹底的在數據庫引擎底層納入對XML數據的支持,甚至基於XML來設計和構建數據庫產品。不知道有多少數據庫廠商有勇氣采取後一種策略,當然這也取決於XML在數據存儲和表現領域會成長到什麼程度。不過可以肯定的一點是,支持XML將會給數據庫廠商帶來足夠的回報,所以在各個廠商的新型數據庫軟件的功能當中,我們都會看到很多XML方面的字樣。

copyright © 萬盛學電腦網 all rights reserved