[Oracle] Golden Gate - 概念和機制

Golden Gate(簡稱OGG)提供異構環境下交易數據的實時捕捉、變換、投遞。


OGG支持的異構環境有:


OGG的特性:

  • 對生產系統影響小:實時讀取交易日誌,以低資源佔用實現大交易量數據實時複製
  • 以交易爲單位複製,保證交易一致性:只同步已提交的數據
  • 高性能
    • 智能的交易重組和操作合併
    • 使用數據庫本地接口訪問
    • 並行處理體系
  • 靈活的拓撲結構:支持一對一、一對多、多對一、多對多和雙向複製等
  • 支持數據過濾和轉換
    • 可以自定義基於表和行的過濾規則.
    • 可以對實時數據執行靈活影射和變換.
  • 提供數據壓縮和加密:降低傳輸所需帶寬,提高傳輸安全性.
OGG的工作原理:

OGG的進程:


  • Manager進程是GoldenGate的控制進程,運行在源端和目標端上。它主要作用有以下幾個方面:啓動、監控、重啓Goldengate的其他進程,報告錯誤及事件,分配數據存儲空間,發佈閥值報告等。在目標端和源端有且只有一個manager進程
  • Extract運行在數據庫源端,負責從源端數據表或者日誌中捕獲數據。Extract的作用可以按照階段來劃分爲:
    • 初始時間裝載階段:在初始數據裝載階段,Extract進程直接從源端的數據表中抽取數據
    • 同步變化捕獲階段:初始數據同步完成以後,Extract進程負責捕獲源端數據的變化(DML和DDL)
  • Data Pump進程運行在數據庫源端,其作用是將源端產生的本地trail文件,把trail以數據塊的形式通過TCP/IP 協議發送到目標端,這通常也是推薦的方式。pump進程本質是extract進程的一種特殊形式,如果不使用trail文件,那麼extract進程在抽取完數據以後,直接投遞到目標端,生成遠程trail文件。
  • Collector進程與Data Pump進程對應 的叫Server Collector進程,這個進程不需要引起我的關注,因爲在實際操作過程中,無需我們對其進行任何配置,所以對我們來說它是透明的。它運行在目標端,其 任務就是把Extract/Pump投遞過來的數據重新組裝成遠程ttrail文件。
  • Replicat進程,通常我們也把它叫做應用進程。運行在目標端,是數據傳遞的最後一站,負責讀取目標端trail文件中的內容,並將其解析爲DML或 DDL語句,然後應用到目標數據庫中。
關於OGG的Trail文件:
  • 爲了更有效、更安全的把數據庫事務信息從源端投遞到目標端。GoldenGate引進trail文件的概念。前面提到extract抽取完數據以後 Goldengate會將抽取的事務信息轉化爲一種GoldenGate專有格式的文件。然後pump負責把源端的trail文件投遞到目標端,所以源、目標兩端都會存在這種文件。
  • trail文件存在的目的旨在防止單點故障,將事務信息持久化,並且使用checkpoint機制來記錄其讀寫位置,如果故障發生,則數據可以根據checkpoint記錄的位置來重傳 。

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