1. 程式人生 > >Oracle Golden Gate - 概念和機制

Oracle Golden Gate - 概念和機制

ogg Oracle Golden Gate ogg機制 ogg概念

Oracle Golden Gate - 概念和機制 (ogg)
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投遞過來的數據重新組裝成遠程trail文件。

Replicat進程,通常我們也把它叫做應用進程。運行在目標端,是數據傳遞的最後一站,負責讀取目標端trail文件中的內容,並將其解析為DML或DDL語句,然後應用到目標數據庫中。

關於OGG的Trail文件:
為了更有效、更安全的把數據庫事務信息從源端投遞到目標端。GoldenGate引進trail文件的概念。前面提到extract抽取完數據以後Goldengate會將抽取的事務信息轉化為一種GoldenGate專有格式的文件。然後pump負責把源端的trail文件投遞到目標端,所以源、 目標兩端都會存在這種文件。

trail文件存在的目的旨在防止單點故障,將事務信息持久化,並且使用checkpoint機制來記錄其讀寫位置,如果故障發生,則數據可以根據checkpoint記錄的位置來重傳 。

Oracle Golden Gate軟件是一種基於日誌的結構化數據復制備份軟件,它通過解析源數據庫在線日誌或歸檔日誌獲得數據的增量變化,再將這些變化應用到目標數據庫,從而實現源數據庫與目標數據庫同步。Oracle Golden Gate可以在異構的IT基礎結構(包括幾乎所有常用操作系統平臺和數據庫平臺)之間實現大量數據亞秒一級的實時復制,從而在可以在應急系統、在線報表、實時數據倉庫供應、交易跟蹤、數據同步、集中/分發、容災、數據庫升級和移植、雙業務中心等多個場景下應用。同時,Oracle Golden Gate可以實現一對一、廣播(一對多)、聚合(多對一)、雙向、點對點、級聯等多種靈活的拓撲結構。

Oracle Golden Gate - 概念和機制