Quest 公司的Shareplex 与 GoldenGate比较
比較內容
Quest SharePlex for Oracle
Oracle? GoldenGate
產品成熟度
?
SharePlex產品最早發布于1999年,目前的版本為7.0.2,產品成熟度非常高;成熟的產品有效地保障了數據的安全性,避免產品不穩定性對復制環境的影響,10多年來在全球有近1000個大型客戶的成功案例。在中國大陸地區有超過80個的成功案例。Shareplex在多個用戶環境中運行多年時間,復制鏈路非常穩定。
GoldenGate主要面向不同數據庫之間的數據復制和同步,在Oracle數據庫之間的復制并非其業務的主要方面。
目前 GoldenGate在全球約有幾百個成功案例,在國內有不超過10個客戶,其中還有多個用戶未能實施。根據GoldenGate在國內的部分用戶反映,該產品在復制過程中經常出現中斷或數據丟失等故障,需要大量的維護工作。
產品實現原理
Shareplex通過從Oracle日志讀取數據庫的所有變化信息,傳輸到目標數據庫解析成SQL進行裝載,整個過程嚴格遵守數據一致性的順序,在目標數據庫通過主鍵技術保障數據一致性。SharePlex對復制中的表是否有主鍵或唯一索引以及主鍵級別補充日志沒有硬性要求,且所有數據均可由日志中捕捉出來,包括所有DDL操作,不需要從數據庫中查詢任何業務數據,也不需要創建人和觸發器。
GoldenGate通過從Oracle日志讀取數據庫的所有變化信息,傳輸到目標數據庫解析成SQL進行裝載,其復制過程要求所有復制中的表必須有主鍵或唯一索引,同時要求打開主鍵級別的補充日志。GoldenGate在復制Blob等特殊類型時,無法Redo文件中獲取全部信息,必須通過訪問被復制的表中數據或回滾段才能完成捕捉工作,而在業務繁忙的數據庫中回滾段數據更新非常快,GoldenGate經常會因此無法實現數據復制。
安裝及配置
安裝及配置極為簡單,所有步驟均由軟件提示操作,如果出現誤操作將無法繼續,從技術上確保了操作過程的準確性,安裝后僅需要兩個步驟即可以開始數據的復制。
安裝配置復雜,安裝后開始數據復制需要近20個步驟才可完成。且在配置過程中,如果出現錯誤或者遺漏步驟,不會有任何提示,很可能會造成復制軟件的實施失敗。
初始化同步
SharePlex在同構平臺上可采用與Oracle備份恢復相結合的方式實現數據的在線初始化同步,同步過程中對生產系統數據庫沒有任何影響。初始化同步時間約等于數據庫恢復時間。在異構環境下,SharePlex可調用Oracle的EXP/IMP工具,實現在線的初始化同步,同步期間系統資源占用可控制在10%以內。同步時間約等于全庫進行IMP的時間,在同步過程中,還可通過調整并行度等方式,提高同步速度。
GoldenGate提供了在同構平臺上可采用與Oracle備份恢復相結合的方式實現數據的在線初始化同步,同步過程中對生產系統數據庫沒有任何影響。初始化同步時間約等于數據庫恢復時間。但初始化同和開始復制的過程中,GoldenGate不會對元數據庫加鎖,僅僅通過指定從某一個日志開始復制,如果此時數據庫中有長時間未提交的事務跨了多個日志,就會導致GoldenGate在目標端丟失該事務的數據。在異構環境下,GoldenGate無法提供在線的初始化同步功能,必須在應用停止的情況下實現數據的初始化同步。
對生產系統性能影響
SharePlex復制軟件在復制過程中完全在Oracle外部實現復制,對數據庫性能影響極低,同時,捕捉到的數據在網絡正常的情況下,直接通過內存和網絡傳輸到目標系統,無需額外的磁盤I/O,最大程度的降低了對生產系統性能的影響。
GoldenGate對部分特殊數據類型需要從數據庫表中查詢才能復制,DDL操作也需要通過觸發器來捕捉,并非真正意義的日志捕捉復制方案;同時捕捉到的數據必須先寫在本地文件系統,然后再以文件的形式傳輸到目標端,對生產系統和目標系統都有額外的磁盤I/O占用。
復制過程中對數據的校驗
復制過程中可校驗數據是否一致,如果發現不一致,可在日志文件中進行記錄,并將發生不一致問題具體的SQL語句記錄到專門的文件里,同時將有問題的表標示為不易之狀態,提供詳細的診斷信息,以便用戶及時解決,避免更多的錯誤數據。
目標端為了追求復制的性能,沒有數據一致性交驗機制,即使有大量數據不一致,也無法發現,用戶不能及時了解復制鏈路的運行情況。數據錯誤累積下去,會引起相關應用的故障。
復制軟件的異常處理
SharePlex通過多種機制來保障復制過程中的數據安全性,包括在出現復制軟件、數據庫、操作系統,主機等故障情況下恢復,通過復制軟件本身,和在目標數據庫中記錄的信息,可充分保障出現以上各種意外故障后,能準確、迅速的恢復,沒有任何數據損失。
GoldenGate為了追求數據復制的性能,對復制過程中的數據缺乏必要的保障機制,且由于沒有在數據中記錄最后完成復制的事務SCN號等信息,如果出現復制軟件、數據庫、操作系統,主機等故障,很容易造成數據損失,導致數據不一致,這一問題可通過極為簡單的測試模擬并反復再現。
數據比較
SharePlex提供的在線的數據比較功能,如果懷疑發生部分數據不一致,可在應用不停機,且被比較的表上有操作的情況下動態的比較并定位不一致的數據,還可選擇在線的自動修復,充分保障數據的一致性。
GoldenGate的數據比較模塊與其復制模塊之間沒有任何聯系,無法保障在應用不停機的情況下實現動態的數據比較功能。另外,其數據比較需要單獨的服務器,并需要額外購買該模塊才可實現。未提供自動修復功能,需手工進行數據的修復,手工修復過程中可能會導致新的數據不一致問題。
單表同步
SharePlex 提供了方便的單表在線同步工具,僅需要一個命令,即可在線實現新增復制表或不一致表的在線同步,對業務沒有任何影響。
GoldenGate無單表同步工具,如需要對復制內容中的表進行重新同步,必須先將該表放到肚子的復制隊列,并通過手工方式確認該表上沒有為提交事務,然后才能開始同步步驟;整個同步過程約需要20幾個步驟才可完成,極其復雜繁瑣。
支持的數據類型
SharePlex目前已經支持所有的Oracle數據類型,對應用程序沒有限制。
支持數據類型較少,不支持如Bfile,UDT等類型。且對部分特殊字段如Blob,Clob等類型必須要通過訪問復制的表來獲取數據,無法通過日志捕捉來實現。
DDL操作的支持
支持絕大部分DDL操作的復制,簡化了維護的工作量,所有DDL操作均從日志中捕捉。
僅支持少數幾個DDL操作的復制,絕大部分操作需要人工的維護。切對DDL操作的復制需要在生產數據庫創建觸發器實現,并非基于日志捕捉的復制(Golden宣稱它們在數據庫中不需要創建任何對象,實際并非如此)。
對RAC環境的支持
SharePlex支持所有平臺的RAC環境,且當產品安裝的RAC節點出現故障后,可通過Cluster軟件自動切換到另一個節點繼續復制,不需要人工干預,且不會有任何數據損失
支持RAC環境下的數據復制,但如果產品安裝的RAC節點出現故障,復制鏈路無法實現自動的切換,在進行人工干預后,雖然可以繼續復制,但每次切換都會有一定程度的數據損失。必須重新同步數據才可以充分保障數據的一致性。
技術細節
產品的成熟度是由細節決定的,Shareplex從用戶方面進行考慮,非常關注技術細節。如:
(1)DDL可以選擇復制或不復制,可以選擇在復制出錯后的處理方法;
(2)提供多種配置參數供用戶選擇;
(3)可以配置延遲復制
(4)可以忽略針對指定事務或用戶復制
(5)可以按照用戶,表,或者使用通配符配置復制關系
(6)可以穿過主流的網閘設備,并提供專門的功能設置網絡配置……
GoldenGate主要面向不同數據庫之間的復制,對Oracle數據庫之間的復制功能比較簡單,除了基本的復制外,其他輔助功能較少,無法根據用戶實際應用環境實現個性化的配置及功能。
復制性能
SharePlex在目標端采用了多線程的方式實現對數據的加載,在保證所有事務的先后順序以及一致性的基礎上,對大并發量的業務也同樣可保證高速的處理速度。
Goldengate由于僅復制已經提交的事務,所以在目標端只有使用單線程的情況下,才可以滿足事務一致性的要求,而在處理大量并發交易的情況下,無法保障數據的處理速度,GoldenGate也提供了多通道的方式來實現并行,但使用多通道方式的情況下,會將源端的一個事物,在目標端分成多個事務,且無法保證各事務的提交順序與源系統相同,從而無法從根本上保證數據的一致性。
大事務支持
事務開始后就進行復制,無論大事務或者小事務都可保證數據復制的實時性,所有事務與源端完全一致
事務提交后才開始進行復制,在大事務情況下延遲較大。
災難恢復后的數據庫回切
SharePlex提供從容災數據庫到生產數據庫的反向復制,可將接管后容災數據庫上的變化復制回生產數據庫,操作極其簡單,不需要重新初始化同步,可實現接近零停機時間的計劃內維護。
無法提供迅速回切功能,需要把生產系統數據庫全部清空,在用容災數據庫進行重新初始化同步,風險較大。
產品維護及監控
Shareplex提供成熟的手段進行復制鏈路的監控和維護
(1)??? 用戶可通過shareplex控制臺查看數據復制的各種相關信息,并設定個性化的參數以實現特定的功能,管理方便靈活。
(2)??? 可使用自帶的圖形監控程序,查看相關信息,當發生意外情況時可通過電子郵件實現及時的報警。
(3)??? 通過豐富的日記記錄復制軟件的運行情況;
(4)??? 內置支持SNMP功能,可與多種監控平臺結合,實現數據復制的實施監控(使用SNMP方式)
(5)??? 支持電子郵件報警功能,可根據客戶指定的測略,對復制軟件運行情況通過電子郵件通知用戶。
提供了圖形化監控界面,但同樣需要購買額外的模塊才可實現。不支持電子郵件及SNMP方式的報警。
技術服務
?
Quest在國內有完善的服務體系,經驗豐富的技術人員為用戶提供實施和培訓等全面服務。用戶還可以通過Quest專業知識庫等技術資源和完備的技術手冊來學習和掌握產品技術。
Quest有專門的Shareplex全球技術支持中心,為全球用戶提供7*24的技術支持。
原GoldenGate廠商由于公司規模所限,無法提供7*24小時的技術支持,只能在美國的工作時間內提供有限的電子郵件支持。被Oracle收購之后,目前尚未完成相關技術資源的整合,在中國地區沒有熟悉該產品的技術人員。Oracle的技術服務價格較高,且絕大部分情況僅能提供電話或郵件支持,如需現場服務,必須嚴格按照人天計算。總結
以上是生活随笔為你收集整理的Quest 公司的Shareplex 与 GoldenGate比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL ACID及四种隔离级别的解释
- 下一篇: MongoDB数据量大于2亿后遇到的问题