Oracle Streams 性能概要分析(繁体)

来源:互联网 发布:淘宝鞋子有折痕给退吗 编辑:程序博客网 时间:2024/05/29 07:55

執行概要
  一般地說,信息共享意味著用戶和應用通過利用各種特別目的的技術從他們的數據庫中把信息取出來。新的商業模式需要更統一的方案--- 人們能夠自動發現相關信息並能夠使之共享。他應具備充分的靈活性以適應商業需求的變化,同時最大程度地降低對特定目的技術的依賴。我們所需要的是能夠滿足任何信息共享需求的一體化解決方案。
  在Oracle9i 數據庫第二版中,Oracle引進了一個全新的一體化信息共享功能,Oracle 流(Oracle Streams)。Oracle流通過一個單一的解決方案滿足了大部分的數據移動,事物處理傳播連同事件管理的需要。他為建立和運轉分佈式企業和應用,數據倉庫,和高可用性解決方案提供了必要的能力。研發人員和數據庫管理員能夠同時使用Oracle流的任何能力。假如他們的需求發生了變化,他們能夠簡單地啟用Oracle流的一個新功能,而不必放棄現有的功能。 bitsCN.nET中國網管博客
  簡介
  任何數據庫管理系統的一個重要功能是在多個數據庫和應用間共享信息的功能。傳統地說,這意味著用戶和應用將利用各種特定的技術從數據庫中將信息取出來。今天,新的功效和商業模式需要更全面和自動的解決方案。這種方案必須能自動地決定相關的信息,並把這些信息共享於需要他的群體之間。他也必須是一種能夠適應商業需求的變化,同時最大程度地減低對單一目的解決方案依賴的通用解決方案。這種積極地信息共享包括在數據庫中捕獲和管理事件和事物處理,包括但不限於DML,然後將這些事件傳遞到其他數據庫和應用。信息共享對數據和應用集成,複製,裝載數據倉庫,高可用性,數據保護連同其他應用是很重要的。但是,信息共享選擇的多樣性可能極為豐富。一些解決方案是專門用於不同目的的,他們可能不能和其他的選擇相互兼容。IT部門發現沒有一種解決方案能夠滿足任何的需求,並且擔心當他們的需求產生變化時會受到他們所採用的解決方案的限制。他們希望能有一種解決方案能夠滿足信息共享的任何需要。 bitsCN.Com
  
  Oracle9i 數據庫提供了大量的信息共享特性,包括高級隊列,高級複製,變更數據同期捕獲和數據衛士。這些特性提供了具備針對性的交錯能力,並且基於不同的底層技術。在Oracle9i 數據庫第二版中,Oracle 提供了一套全面的基於信息集成共享特性的Oracle 流。Oracle 流能夠使整個應用提升到一個新的層次。最突出的是,Oracle 流能夠通過一個單一的解決方案滿足大部分數據移動,事物處理傳遞連同事件管理的需要。當需求產生了變化,Oracle 流將能適應並滿足新的需求。
  
  Oracle概要
  Oracle流能夠使一個數據庫中的數據,事物處理和事件在本數據庫內部傳遞,也能夠使他們從一個數據庫傳遞到另一個數據庫中。流能夠將被發佈的信息傳遞到訂閱他的目的地。因此這是個全新的特性,和傳統解決方案相比,他在捕獲和管理事件、和其他數據庫和應用共享事件等方面提供了更卓越的功能性。他能夠使IT部門打破各解決方案之間交互使用的循環。Oracle流為建立和運轉分佈式企業和應用,數據倉庫,和高可用性解決方案提供了必要的能力。研發人員和數據庫管理員能夠同時使用Oracle流的任何能力。假如他們的需要發生了變化,他們能夠簡單地啟用Oracle流的一個新功能,而不必放棄現有的功能。 中國網管聯盟
  
  Oracle流提供了一系列的元素。通過利用這些元素,用戶能夠控制哪些信息能夠放入流中,流應如何流動或通過哪些途徑從一個節點流向另一個節點,當流中的事件流向每個節點時他們發生了哪些變化,連同流如何終止等問題。通過指定作用於流上的元素的配置,用戶能夠強調出特定的需要。為了簡化Oracle流的部署,Oracle提供了為特定市場所特別配置的應用。
   
  Oracle流的架構是很靈活的。如上圖所示,流包含三個基本元素。
   捕獲
   存儲
   消費
  捕獲
  Oracle流支持捕獲事件(數據庫變化,和應用生成的信息)並存入存儲區域。這些事件能夠通過兩種方式捕獲。對於隱式捕獲,服務器在一個源數據庫中捕獲DML和DDL。顯式捕獲則允許應用明確地生成事件並將其放入存儲區域。

www_bitscn_com


  
  Oracle流的顯著特徵之一是支持基於日誌的變更捕獲。從重做日誌文檔中直接捕獲變更能夠使源系統的間接費減低到最少。基於日誌的捕獲使得表的變更能夠被存入日誌文檔,從而能夠確保當發生損害或媒體故障時的可恢復性。Oracle9i數據庫能夠讀,分析和解釋重複操作信息,這些信息當中可能包括數據庫活動歷史的信息。Oracle9i 數據庫第二版能夠挖掘信息並將變更數據傳遞到捕獲過程。數據庫提供了輔助的日誌記錄功能,他能夠將附加信息如主鍵列記錄到重做流中,以有助於這些信息的傳遞。捕獲處理首先捕獲從重做日誌中提取出來的變更數據,將其格式化為邏輯變更記錄(LCR)的格式。然後將其放入存儲區中以備進一步地使用。捕獲處理能夠基於定義好的規則智能化地過濾LCR,從而可僅使所需對象的變更被捕獲。 bitscn.com
  Oracle流除支持對存檔日誌文檔的挖掘,還支持對在線重做日誌的熱挖掘。在熱挖掘的情況下,重流在變更數據被寫入的同時就被熱挖掘,從而減少了捕獲的延遲。
  用戶應用能夠顯式地將信息表現事件加入到存儲區域。這些信息能夠作為LCR進行格式化,這將使得他們能夠被應用引擎所消費,他們也能夠被格式化為可被其他用戶應用通過利用顯式出列所消費的格式。用戶應用也能夠將信息加入到隊列表中,他能夠被應用處理所捕獲,並作為LCR在存儲區域中發佈。
  存儲
  事件一旦被捕獲就將被放入存儲區域。存儲區域是個隊列,他可為存儲和管理捕獲事件提供服務。數據庫表的變更將被格式化為LCR,然後被存儲於存儲區,直到有訂閱者消費他們。LCR存儲提供了一個安全的保留場所,並能完成對LCR數據的審核和跟蹤。
  
  訂閱者檢驗存儲區域的內容,以決定他們是否對表現該事件的信息有興趣。訂閱者能夠是個用戶應用,通常是位於另一個系統中的其他存儲區域,或缺省應用處理。訂閱者能夠Oracle 流有選擇的評價一系列的規則以決定這些信息是否滿足訂閱時所定制的基準。假如滿足基準,這些信息將被訂閱者消費。 bitsCN.nET中國網管博客
  
  假如訂閱者是用戶應用,該應用將把信息從存儲區域提取出來以便於消費該信息。假如訂閱者是另一個存儲區域,該信息將被傳遞到該存儲區域。假如訂閱者是個缺省應用處理,他也將被提取出來被該應用處理所消費。
  
  傳遞
  存儲區域中的事件也可被傳遞到相同數據庫中的其他存儲區域,或其他遠程數據庫中的存儲區域。為了簡化網絡路徑和減少WAN通訊量,事件並無需被發送到任何數據庫和應用中去。相反,他們能夠被直接傳遞到位於一個或多個系統中的存儲區域中,直到到達訂閱他們的系統。並不是任何的需要訂閱事件,這樣能夠為特定系統決定利用哪些事件提高靈活性。一個單一的存儲區域能夠存儲來源於多個數據庫的事件,這樣能夠簡化安裝和配置。
  
  轉換
  轉換是指一個對像在參和捕獲和應用過程中形式的變化,或他所保有的數據的變化等。轉換可能包括在特定站點的某個表的特定列中數據類型的變化,只在一個站點的某個表中追加一列,或在特定站點的某個表中包含一個數據子集。 www_bitscn_com
  
  轉換能夠用PL/SQL功能表示,他輸入源數據類型,並返回該對象的目標數據類型。轉換能夠在信息入列時被指定,即當信息被插入到存儲區域之前就被轉換為正確的類型。他也可被指定於傳遞,這將有助於數據子集向遠程站點的傳遞。最後,他也可被指定於出列或本地應用,這將有助於按照指定站點的方式格式化信息。
  
  消費
  存儲區域的信息能夠被應用引擎所消費,他們所表示的變化將被應用於數據庫,或他們將被應用所消費。Oracle流包括一個靈活的應用引擎,他允許使用一個標準的或定制的應用功能。因此數據在需要時能夠被轉換。對於顯式出列的支持允許應用研發人員使用Oracle流通知應用數據的變化,也能夠充分利用Oracle流的變化捕獲和傳遞能力。
  
  缺省應用
  缺省應用引擎使用DML變化,DDL變化和用戶指定的LCR。假如目標數據庫Oracle數據庫,應用引擎將在Oracle數據庫所在系統的本地運行。 中國網管論壇
  
  假如目標行已被改變但沒有包含所期待的數據值,缺省應用引擎將會檢測出這種衝突。假如檢測出衝突,將會啟動一個解決程式。
  
  應用引擎由一個應用協調器,一個獲取受控和一個或多個應用受控組成。獲取受控負責組合由Oracle生成的LCR的事務處理。應用協調器執行事務處理從屬性和DML層級從屬性計劃以捕獲最大化並行性。
  
  由於應用協調器和應用受控一般位於相同的Oracle事例中,因此在從屬性計劃中不會有網絡往復產生。應用引擎能夠激活用戶指定功能以採用變化。
  
  用戶定義的功能應用
  應用引擎能夠將LCR傳遞到用戶定義的功能中去。他為處理LCR提供了極大的靈活性。一個典型的用戶定義功能是在把LCR所表示的數據應用到本地表之前,預先對數據進行再格式化,例如,映射事務處理的字段格式,對像名和列名等。用戶定義功能也可被用於執行行子集,或用來更新在源數據庫中沒有出現的對象。
  
  顯式出列
  用戶應用能夠使LCR或其他信息從接收的存儲區域顯式出列。這能夠使用戶應用更有效地訪問流存儲區域中的數據。流能夠向註冊的PL/SQL或OCI功能發送通知,為應用提供一個可選方案以獲取新的信息。當然,為使存儲區域中新訂閱的信息可有效利用,應用仍然能夠捕獲,甚至等待。 中國網管論壇
  
  網絡指向
  管理員在指定流的路徑上具備很大的靈活性。通過使用存儲區域隊列的基於規則的發行和訂閱能力,他們能夠選擇哪些變化將被傳遞到每一個目的數據庫中,並能指定達到目的地的路徑信息。例如,一個事件能夠通過一個並沒有實際應用該事件的集線器數據庫來傳遞。





原创粉丝点击