多重特色 潮數數據庫復制系統提供“零影響”、雙活等體驗
Oracle數據庫是應用最多的數據庫,為中國眾多行業提供了服務。深圳潮數軟件科技有限公司(以下簡稱“潮數科技”)推出專業針對Oracle數據庫的復制系統,其基于Oracle 在線日志和事務進行復制(同步)操作,對原數據庫“零影響”,并提供了諸如雙活、斷點續傳、高可靠性、支持加密傳輸等特色功能。
基于日志、事務捕獲、無需代理和校驗 對原數據庫幾乎“零影響”
數據庫復制(replication)與同步(syhchronize)是有區別的,同步要比復制技術上難得多。因為,同步≠復制,同步的目的是只留下最新的文件,而復制文件只是希望把文件制作一份拷貝。因此,同步是一個雙向的過程,而復制只是簡單的單向過程。同步后,要保證源端和目標端的數據庫是“完全一致的”,也只有這樣,才能夠實現雙活和讀寫分離。
傳統的數據庫備份、復制、同步軟件往往通過觸發器(trigger)來實現數據庫內容的復制,這不僅延遲較高(往往達到秒級或以上),而且對于原有的數據庫和系統是有極大影響的,會“拖累”原數據庫及其系統。
而潮數數據庫復制系統通過實時解析數據庫在線Log日志(先分析Redo log,后分析Archive log)的獲取數據變化信息,然后將這些變化信息發送到目標數據庫去應用,以達到保持源端和目標端數據庫的數據實時保持一致的狀態。
潮數數據庫復制系統無需等待Oracle Redo Log文件歸檔之后再進行處理,而是在線讀取其數據塊內容,抓取日志跟Oracle數據庫寫日志是并行操作而又不互相影響,而且不使用Oracle的任何資源。
即潮數數據庫復制系統通過日志、事務(SCN變化)來捕獲,只有毫秒級的延遲,不依賴于觸發器,多任務并發分析日志,把無用的日志過濾掉,只使用最有用的日志進行分析,排成隊列(按照事務順序生成Jsonfile隊列文件,隊列文件約1/4日志大小)進行處理。不占用Oracle的資源,對于原有的數據庫幾乎是“零影響”。
潮數數據庫復制系統不會傳輸Oracle redo log的全部內容到目標端,除指定復制對象(數據表)相關的DML/DDL操作之外,其他的信息不作處理,也就是說潮數數據庫復制系統以事務為單位來跟蹤,分析在線日志,只處理已經確認(COMMIT)的交易,對于“回滾”(ROLLBACK)操作,潮數數據庫復制系統不處理,所以只需要抓取約1/3日志變化量。
同時,潮數數據庫復制系統所有操作是基于數據庫的,而不是基于磁盤和文件的,配置更靈活,對于系統幾乎是沒有影響的。
而且,潮數數據庫復制系統是基于Oracle的機制來實現同步的,數據無需校驗,減輕了資源占用的同時,保證了數據一致性。而傳統的CDP是需要一致性代理,還需要外圍進行校驗,對于系統資源的占用較大。
潮數數據庫復制系統進行增量同步時,CPU資源占用一般<5%,內存資源占用則<5%,是極小的資源占用,對系統的影響是非常小的。
由于潮數數據庫復制系統對日志的整合和傳輸以“事務”為單位,無需處理復雜的“回滾”(ROLLBACK)機制。所以使用該技術,在擁有高性能的同時還能夠更好地保證數據復制(同步)的一致性和完整性。
雙活數據庫 負載均衡的同時實現讀寫分離
潮數數據庫復制系統在進行數據庫同步操作時,同時支持開歸檔或不開歸檔備份,較RMAN更為先進;而且,其源端和目標端的數據庫都是可用的,是打開的,是“活的”,數據可讀、增、刪、改,可用于數據集成、數據挖掘、數據分析。
小知識 Oracle數據庫的歸檔模式與非歸檔模式的區別
在歸檔模式下,當LGWR后臺進程的寫操作從一個重做日志組切換到另一個重做日志組之后,歸檔寫后臺進程(ARCH/ARCRn)就會將原來的重做日志文件中的信息賦值到歸檔日志文件中,可以把歸檔日志文件看成是重做日志文件的克隆。 Oracle服務器保證,在歸檔寫后臺進程沒有將重做日志文件中的信息賦值到歸檔日志文件之前,和檢查點操作沒有完成之前,LGWR不能再寫這組重做日志文件;同時Oracle還要將一條記錄有這個歸檔日志文件序列號的記錄寫入控制文件。有了歸檔日志文件,Oracle服務器就能保證所謂的全恢復,即所有提交的數據都能恢復,因為那些在重做日志文件中被覆蓋掉的信息已經存在于歸檔日志文件中了。
在非歸檔模式下,沒有產生歸檔文件,數據庫無法保證在系統崩潰之后所有的提交數據都能恢復,因為當重做日志切換了一圈,后提交的數據已經被覆蓋。在非歸檔模式下,數據庫只能保證恢復到上一次備份的時間點,從上一次備份到系統崩潰這段時間內的所有提交的數據會丟失。相對于歸檔模式,數據庫性能會稍有提高。
這樣,能夠實現讀寫分離,也能夠實現更好地負載均衡,尤其是對于源端的壓力明顯減輕,可保證源端更穩定地運行。
與CDP、P2V完全不一樣,此時往往目標端數據庫是關閉狀態,是“死的”,根本不可能實現讀寫分離和負載均衡,浪費了資源。
雙活方案還有一個好處,當一個站點發生故障時,另外一個站點可實時接管所有業務,能夠實現應用級雙活無縫切換,保證業務連續性,防止業務宕機。因此,“雙活”解決方案也成為了當下數據中心建設的熱點話題。
斷點續傳 確認后刪除 解決“大數據問題”
潮數數據庫復制系統提供了斷點續傳功能,能夠提供可靠的傳輸保障。在網絡中斷、系統宕機、數據庫關閉等故障情況下,仍然能夠保證數據的續傳。
潮數數據庫復制系統提供了點對點傳輸,在源端和目標端都設置有磁盤緩存,文件按照順序傳輸。等目標端確認寫入磁盤后才會刪除源端數據。
就算需要同步或復制、備份的數據量很大,斷點續傳、點對點傳輸、刪除確認等特色也能夠保證“大數據”得到很好的處理。
加密傳輸 保證數據安全
潮數數據庫復制系統支持傳輸過程中加密數據,保證在傳輸過程中不被黑客或第三方截獲,保證數據安全。
支持更多操作系統和數據庫 支持異構環境
潮數數據庫復制系統支持更多操作系統和數據庫,其中日志抓取支持: Oracle 9i、10g、11g、12c、Informix、DB2;數據裝載支持: Oracle 9i、10g、11g、12c、MySql、分布式Mysql、Sql Server、HP Vertica、 Teradata;操作系統支持:Windows XP、2000、2003、Linux各版本、 Sun Solaris、 HP NonStop、HP-UX、HP TRU64、 HP OpenVMS、 IBM AIX、IBM z、IBM ISeries、zLinux等。
潮數數據庫復制系統能夠支持Oracle RAC,可以支持24 x 7 有效的數據庫應用系統,在低成本服務器上構建高可用性數據庫系統,并且自由部署應用。在Oracle RAC環境下,Oracle集成提供了集群軟件和存儲管理軟件,為用戶降低了應用成本。當應用規模需要擴充時,用戶可以按需擴展系統,以保證系統的性能。
潮數數據庫復制系統對于異構環境支持較好,尤其是對于異構操作系統支持更好。
潮數數據庫復制系統同時支持國產數據庫和任何支持JDBC接口的數據庫,高靈活、可擴展性,開放式的API,更容易接受擴展性。
潮數數據庫復制系統擁有先進的加載機制,采用并發、多線程的裝載技術,同時支持分布式數據庫加載;同時通過接口的模式支持別的數據庫的加載。
支持異構環境下舊系統不斷機遷移和增量同步
潮數數據庫復制系統能夠提供異構數據庫環境下歷史數據的初始化全同步和實時變化數據的增量同步功能。
首先實現歷史數據初始化全同步歷史數據同步功能:歷史數據和增量數據同時讀取;歷史數據裝載完成后,增量數據開始裝載;之后即開始增量數據同步。
歷史數據的遷移過程中系統不必中斷,有效地保證業務連續。
潮數數據庫復制系統可廣泛地被應用在本地容災、異地容災、異構數據庫數據分發、數據清洗、在線遷移、讀寫分離、合規遵從等場景。