GoldenGate 基本概要

1. GoldenGate的歷史

GoldenGate 公司于1995年成立于美國加州舊金山,它的名稱源自舊金山聞名于世的 金門大橋。兩位創始人Eric Fish 和Todd Davidson最初旨在為Tandem計算機公司設計一個 容錯系統,由于GoldenGate 的健壯性和出色的數據復制功能,銀行用它來把AT M網絡的 交易數據發送到IBM 大型機,后來廣泛地應用到金融行業及要求數據復制高效、健壯的各 個行業,全球licences 數量超過4000。

該公司于2009年9 月被Oracle 公司收購,在此之前 Oracle 和GoldenGate 公司就有了 長達超過10年的合作關系。Oracle 收購GoldenGate 以后,按照Oracle 公司的一貫策略, 迅速把它和自己的數據庫、中間件以及應用集成,依托 Oracle 公司研發技術的優勢,并對 其做了大量的更新和改進。截止到目前為止,全球已經有五百多家大客戶使用GoldenGate 作為其容災、復制的解決方案。作為一個企業級的成熟產品,因為其快速、易用、靈活、 健壯等特性,越來越多的用戶把它作為關鍵業務系統容災、復制、同步的首選。隨著Oracle 公司對其不斷改進,這個產品會越來越穩定、成熟、可靠,同時也會有更多人去學習它, 使用它。

目前GoldenGate 的最新版本為11.1 ,為了和 Oracle 數據庫、中間件產品的稱謂保持一 致,Oracle 稱之為11g ,目前Oracle 公司把它歸到Fusion Middleware ,也就是融合中間件 產品線中。但實際上它和數據庫的聯系更加緊密,有經驗的DBA花較短的時間就可以迅 速地掌握它。

2. GoldenGate家族

Oracle GoldenGate最為常見的家族成員包括GoldenGate 、GoldenGate Director(現更 名為GoldenGate Management Pack,但是絕大部分熟悉 GoldenGate 的人還是習慣性地稱其 為GoldenGate Director,為了保證上下文的一致性,這里統一稱其為 GoldenGate Director)、 GoldenGate Veridata 。另外,也有不太常見的GoldenGate for Mainframe 和GoldenGate Adapters。

GoldenGate 產品是核心產品,GoldenGate Director為GoldenGate 提供友好的GUI 配置 管理界面,而GoldenGate Veridata為GoldenGate 源端和目標端提供數據比對和校驗的功能。 注意這三者并不是一個打包的產品,比如如果您購買了 GoldenGate 軟件,如果需要圖 形界面或需要數據校驗的功能,就需要額外購買 GoldenGate Director 或者GoldenGate Veridata。

3. GoldenGate及Oracle產品戰略

在Oracle 收購GoldenGate 以后,與 Oracle 原有的 Data Guard、 ODI 互為補充,共同 為企業提供跨平臺實時數據同步的解決方案。與此同時,又可以與Oracle Real Application Cluster 、Data Guard 一起為用戶提供豐富、靈活的容災方案及高可用特性,這既是Oracle 公司當前也是其未來的產品發展策略與方向。

另外有的人可能注意到了Oracle 公司對其集成在數據庫中的Streams的態度的一些 變化。Oracle 公司聲稱對其產品Streams將不再做任何重大改進,而是會把 Streams的一些 優秀特性集成到GoldenGate 產品上來,同時 Oracle 也承諾繼續對現有使用Streams的客戶 提供技術支持。與此同時,集成在Oracle 數據庫中的另外一項邏輯復制產品——Data Guard Logical Standby 也遭受了同樣的命運。Oracle 對其產品線可整合能力可見一斑。

4. GoldenGate支持的平臺以及數據庫

截止到筆者撰寫本書為止,GoldenGate 幾乎支持市面上流行的所有主流操作系統平臺 和數據庫。

目前經過GoldenGate 11.1 認證的主流數據庫版本包括以下幾種。

? ? Oracle 8i (只支持DML)。

? ? Oracle 9 i 以上所有的數據庫版本 ( 支持DML和DDL)。

? ? IBM DB2 UDB 8.1 、8.2、9.1、9.5 以上版本(只支持DML)。

? ? Microsoft SQL Server 2000、2005和2008(只支持DML)。

? ? MySQL 4.1、5.0(只支持DML)。

? ? Sybase ASE 12.5.4 、15.0 (只支持DML)。

5. GoldenGate的定位

? ? 零宕機時間數據庫升級和遷移。

? ? 滿足用戶亞秒級實時數據的需求。

? ? 可持續的數據高可用性和實時商務智能。

? ? 異構平臺及跨操作系統實時數據同步。

? ? 對源系統和目標系統是非侵入式的。

6. GoldenGate技術架構

和傳統的邏輯復制一樣,Oracle GoldenGate 實現原理是通過抽取源端的redo log 或者 archive log ,然后通過TCP/IP投遞到目標端,最后解析還原應用到目標端,使目標端實現 同源端數據同步。圖1-1 是Oracle GoldenGate 的技術架構。

6.1 Manager進程

Manager進程是GoldenGate 的控制進程。如果把所有的 Oracle 進程比喻為軍隊,那么 Manager 就相當于司令。Manager 進程運行在源端和目標端上,它主要有以下幾個方面的 作用:啟動、監控、重啟GoldenGate 的其他進程,報告錯誤及事件,分配數據存儲空間, 發布閾值報告等。

每個源端或者目標端有且只能存在一個 Manager 進程。其運行狀態有兩種即 RUNNING(正在運行)和STOPPED(已經停止)。

在Windows 系統上,Manager進程是作為一個服務來啟動的,而在類UNIX 系統中, Manager則是一個操作系統進程。

6.2 Extract 進程

Extract 運行在數據庫源端,負責從源端數據表或者日志中捕獲數據。在早期的 GoldenGate 版本中,它通常被稱為Collect 進程。按照其所處的階段不同,Extract 的作用 可以按照時間來劃分。

初始數據裝載階段:在初始數據裝載階段,Extract 進程直接從源端的數據表中抽取數據。 同步變化捕獲階段:初始數據同步完成以后,Extract 進程負責捕獲源端數據的變化 (DML和DDL)。

Extract 進程利用其內在的checkpoint 機制,周期性地檢查并記錄其讀寫的位置,通常 是寫入到一個本地的trail 文件。這種機制是為了保證如果Extract 進程終止或者操作系統 宕機,重新啟動 Extract 進程后,GoldenGate 能夠恢復到以前的狀態,從上一個斷點處繼續 往下運行,而不會有任何數據損失。

Extract 進程的狀態包括STOPPED(正常停止)、STARTING (正在啟動)、RUNNING (正在運行)、ABENDED (Abnomal End 的縮寫,表示異常結束)。

6.3 Pump 進程

Pump 進程運行在數據庫源端,其作用非常簡單。如果源端使用了本地的trail 文件, 那么Pump 進程就會把trail 以數據塊的形式通過TCP/IP協議發送到目標端,這通常也是推 薦的方式。Pump 進程本質是Extract 進程的一種特殊形式,如果不使用trail 文件,那么就 是Extract 進程在抽取完數據以后,直接投遞到目標端。

與Pump 進程相對應的叫做Server Collector 進程,這個進程不需要引起人們的關注, 因為在實際操作過程中無需對其進行任何配置,所以對人們來說它是透明的。它運行在目 標端,其任務就是把 Extract/Pump 投遞過來的數據塊重新組裝成trail 文件,人們稱之為遠 程trail 文件。

6.4 Trail文件

為了更有效、更安全地把數據庫事務信息從源端投遞到目標端,GoldenGate 引進trail 文件的概念。前面提到Extract 抽取完數據以后GoldenGate 會將抽取的事務信息轉化為一 種GoldenGate 專有格式的文件,然后Pump 負責把源端的trail 文件投遞到目標端,所以源、 目標兩端都會存在這種文件,源端存放的trail 文件叫本地trail 文件,目標端存放的trail 文件叫遠程trail 文件。trail 文件存在的目的旨在防止單點故障,將事務信息持久化,并且 使用checkpoint 機制來記錄其讀寫位置,如果故障發生,則數據可以根據checkpoint 記錄 的位置來重傳。

值得一提的是,trail 文件并不總是必須的。人們可以在配置Extract 進程的時候通過 TCP/IP協議直接把日志的信息投遞到目標端。但通常并不推薦這么做,因為一旦發生系統 宕機或者網絡故障,則有可能造成數據的丟失。

6.5 Replicat 進程

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

和Extract 進程一樣,Replicat也有其內部的checkpoint 機制,保證進程重新啟動后可 以從上次記錄的位置開始恢復,而無數據損失的風險。 它的運行狀態和 Extract 進程一致,包括 STOPPED、STARTING 、RUNNING 、 ABENDED 。

6.6 GGSCI

GGSCI是GoldenGate Software Command Interface的縮寫,它提供了十分豐富的命令 來對GoldenGate 進行各種操作,如創建、修改、監控GoldenGate 進程等。

絕大部分的操作都是通過它來完成的。當然如果您需要GUI 方式的圖形界面來管理, 則需要購買GoldenGate Director。

7. GoldenGate的復制模式

GoldenGate 的模式包括圖1-2 中描述的幾種,其中“一對一”是 GoldenGate 最簡單的 一種模式,也是最常用的模式。

這種模式的一種典型應用就是用于數據容災,通常源端數據庫為生產端,目標端數據 庫為容災端。

另外一種應用場景是把源端的OLTP系統產生的交易日志傳送到目標端,使用BI數據 倉庫或者是OLAP。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,565評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,115評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,577評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,514評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,234評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,621評論 1 326
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,641評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,822評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,380評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,128評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,319評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,879評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,548評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,970評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,229評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,048評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,285評論 2 376

推薦閱讀更多精彩內容