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