Golden Gate(簡稱OGG)提供異構環境下交易數據的實時捕捉、變換、投遞。
OGG支持的異構環境有:
OGG的特性:
對生產系統影響小:實時讀取交易日志,以低資源占用實現大交易量數據實時復制OGG的進程:
數據庫源端,負責從源端數據表或者日志中捕獲數據。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記錄的位置來重傳 。