【goldengate】售前瞭解篇

 一直想寫一些數據複製軟件的文章來記錄我從業於該行業的點點滴滴,也是一直藉口沒時間一篇也沒寫成,換了行業換了新公司了每天有大把大把的時間讓我揮霍,閒的鬧心,也是爲了給自己找點事情做,就從入門開始重新學習代表軟件goldengate
Goldengate 1995年成立於舊金山,2009年被oracle公司收購,之後大力在全球推廣,目前國內高端行業已逐漸採用goldengate來做部分解決方案。goldengate本身是一種數據實時複製軟件,可持續實時的將數據從一個數據庫複製到另一個或多個數據庫,供不同需求應用。
官方在這裏提到兩個詞,real-time access,real-time informationgoldengate 在數據複製的同時可以保證源端及目標端得數據的隨時訪問可用,而數據複製的速度官方更是稱可以達到壓秒級,當然我們的環境是測不出壓秒級的,oracle 宣傳goldengate策略就如同當初宣傳自己,先將噱頭拋出,之後再完善再滿足。

 

Transactional data management goledengate 提出的一個名詞,交易數據管理。Goldengate用於交易數據管理的特點爲:
1.           實時性:複製數據過程中速度爲壓秒級,低延遲。由於抓取redo或歸檔的信息並且在傳輸過程中有壓縮操作,所以傳輸量相對是較小的。
2.           支持異構:可以跨不同數據庫、不同os、不同硬件進行數據複製,異構的支持使goldengate在行業中應用的更廣泛更靈活。這是goldengate重要的一個優勢,同類數據複製軟件可以支持異構os異構硬件,但數據庫只支持oracle數據。
3.           交易完整性:goldengate有事物爲單位複製數據,保證源端與目標端數據讀一致。Goldengate架構在一定程度上可以抵禦意外中斷,如源端宕機可以啓用目標端數據庫,goldengate方向複製功能使災後恢復更容易。

 

 

        Goldengate數據複製過程中分爲5個模塊,capture工作爲按事物抓取redolog/歸檔日誌的信息,之後goldengate一種模式是直接將抓取的信息通過route傳輸到目標端一文件形式放入目標端的trail中,然後通過delivery模塊將trail 中的文件抓取出複製到目標端數據庫;另一種模式也是比較常用的模式即圖中,capture抓取日誌以文件形式放入本地的trail中,再由pump模塊將trail中文件抓取出可用信息再通過route傳輸到目標端得trail中,再由delivery模塊將數據複製入目標端數據庫。這種的好處是,如果在傳輸過程中網絡中斷,第一種模式capture抓取出的放在緩存中的信息就會丟失,而如果將抓取的信息放入本地一份再傳輸,這樣就有效保證數據的完整性,但同時性能就會有所下降。
     在capture的過程中可以添加一些過濾信息,將自己定義想要的信息抓取出來比如某張表某個用戶的信息,同時也可以開闢多個capture模塊,將數據分別複製到多個目標端,以模塊化的開發靈活性很強。

 

    圖中爲goldengate的常用架構,模塊化得設計使得goldengate靈活搭建多種架構。
    一對一模式一般用於分擔主交易負載和零宕機數據遷移,一般主交易系統同時讀寫的負載是很高的,goldengate通過搭建另一個數據完全一致的數據庫只用於數據查詢,從而緩解主交易數據壓力。數據遷移是dba工作量很大的一個工作,在平臺一致的並允許停機情況下可以用oracle的工具來遷移,但在異構的情況下遷移將會一件很麻煩的事。Goldengate 在遷移的過程中是不用停機的,並且支持異構,可做到無縫遷移,這種情況下用goldengate做還是很不錯的,但是同步大數據量是否能保證速度與性能,有待測試。
    雙向複製模式是最爲普遍的模式,也是容災行業的新寵,可用於做熱備,做雙活。容災用goldengate在本地或異地做一個或多個數據庫與主交易系統數據庫數據完全一致的數據庫,若主交易系統意外宕機,其他數據庫可立即啓用,很大程度上避免了單點故障,災後重建主交易系統時,開啓反向同步就恢復了主交易系統。
    廣播模式用於數據分發,也可以同樣用於容災中比較常見的是證券行業來做兩地三中心,即通過複製軟件在本地建一個查詢分析備庫,在異地建一個容災庫。另一個用法是在數據同步的過程中選擇性的同步,根據業務系統功能不同的功能的數據同步到不同功能的業務系統中,方便數據的拆離。
    數據集中模式也是很常見的一種架構,將多數據庫的數據集中到同一個數據庫中而建立一個數據倉庫,如某省的警綜平臺系統就需要將其區縣的信息集中收集處理。
    基於消息的數據分發一般與JMS這類消息服務結合起來分發到其他系統中。

 

    該圖爲我上述內容的總結,列出goldengate在行業中應用的幾個方向,當然其他三款數據實時複製軟件也是應用於這幾個方向,很多終端用戶考慮到性價比還是會選擇其他產品的。

 

    上圖爲goldengate所支持的平臺列表,對數據庫而言goldengate支持的相當廣泛的,這是其他數據同步軟件所缺陷的,表中capture模塊沒有列出mysql,之前capture是不支持mysql的,只delivery模塊支持,新版本5.1capture也可以支持。
         oracle 在一些大會上以宣佈goldengate是他們的戰略性產品,oracle stream現已不再開發,將一些stream的技術要融於goldengate,並且oracle11GR2已出現goldengate的部分對象。

 

    以上爲goldengate 產品license list price非折扣價,oracle一樣是按cpu或併發用戶賣的,很多用戶因爲它不便宜望而卻步選擇其他產品。這裏介紹一下veridata這個產品,該產品是goldengate的一個對比數據的工具,往往用goldengate同步完數據不知道源端與目標端是否數據一致,用這個工具就可以進行對比,從邏輯上說這個veridatagoldengate是密不可分的,只是一個小工具價錢卻是goldengate的近兩倍,oracle的定價策略還是很強悍的。Managerment pack fo goldengate goldengate的一個管理工具,可以提供web界面來管理goldengate架構中的所有節點。

 

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