Golden Gate(簡稱OGG)提供異構環境下交易數據的實時捕捉、變換、投遞。數據庫
OGG支持的異構環境有:安全
OGG的特性:性能
- 對生產系統影響小:實時讀取交易日誌,以低資源佔用實現大交易量數據實時複製
- 以交易爲單位複製,保證交易一致性:只同步已提交的數據
- 高性能
- 智能的交易重組和操做合併
- 使用數據庫本地接口訪問
- 並行處理體系
- 靈活的拓撲結構:支持一對1、一對多、多對1、多對多和雙向複製等
- 支持數據過濾和轉換
- 能夠自定義基於表和行的過濾規則.
- 能夠對實時數據執行靈活影射和變換.
- 提供數據壓縮和加密:下降傳輸所需帶寬,提升傳輸安全性.
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記錄的位置來重傳 。