干貨:五種常見數(shù)據(jù)復制技術詳解
根據(jù)IDC的相關數(shù)據(jù)統(tǒng)計,2018年全球的數(shù)據(jù)復制存儲市場規(guī)模就已經(jīng)超過了500億美金,而其中而作為數(shù)據(jù)復制技術重要應用場景的數(shù)據(jù)備份和恢復軟件市場的規(guī)模也同樣蔚為可觀。今天,我們就來聊聊5種常見的數(shù)據(jù)復制技術。
復制(Replication)是將一組數(shù)據(jù)從一個數(shù)據(jù)源拷貝到一個或多個數(shù)據(jù)源的技術。方式主要分為同步復制和異步復制:
1、同步復制:要求每一個寫入操作在執(zhí)行下一個操作處理之前,在源端和目標端都能完成。特點是數(shù)據(jù)丟失少,會影響生產(chǎn)系統(tǒng)性能,除非目標系統(tǒng)物理上離生產(chǎn)系統(tǒng)比較近。
2、異步復制:在處理下一個操作前,不等待數(shù)據(jù)復制到目標系統(tǒng)中。特點是復制的數(shù)據(jù)與源數(shù)據(jù)有時間差,但這種復制對生產(chǎn)系統(tǒng)性能影響較小。
在災備方案的設計中,數(shù)據(jù)復制技術的選擇關系到最終災備效果,即RTO與RPO值的大小。根據(jù)數(shù)據(jù)復制技術在不同系統(tǒng)層的應用,可以分為如下五種:
1、基于主機的數(shù)據(jù)復制技術
基于主機的數(shù)據(jù)復制是通過磁盤卷的鏡像或復制進行的,業(yè)務進行在主機的卷管理器層,對硬件設備尤其是存儲設備的限制小,利用生產(chǎn)中心和備份中心的主機系統(tǒng)通過IP網(wǎng)絡建立數(shù)據(jù)傳輸通道,數(shù)據(jù)傳輸可靠,效率相對較高;通過主機數(shù)據(jù)管理軟件實現(xiàn)數(shù)據(jù)的遠程復制,當主數(shù)據(jù)中心的數(shù)據(jù)遭到破壞時,可以隨時從備份中心恢復應用或從備份中心恢復數(shù)據(jù)。
基于主機的數(shù)據(jù)復制不需要兩邊采用同樣的存儲設備,具有較大的靈活性,缺點是復制功能會占用一些主機的CPU資源,對軟件要求較高(很多軟件無法提供基于時間點的快照功能),對主機的性能有一定的影響。
英方獨有的基于操作系統(tǒng)層面的字節(jié)級數(shù)據(jù)捕獲與復制技術在實施過程中,首先會做初始化的數(shù)據(jù)鏡像,然后通過核心的復制引擎,開始旁路監(jiān)聽所有文件系統(tǒng)的寫操作,例如Rename、SetAttr等,都能準確的捕獲,并通過數(shù)據(jù)序列化傳輸技術(Data - Order Transfer,簡稱“DOT”)異步傳輸?shù)綖膫涠耍瓿烧麄€數(shù)據(jù)的捕獲和復制過程。
△字節(jié)級復制技術原理圖
首先,字節(jié)級復制的核心引擎工作時,并沒有復雜的數(shù)學運算,對生產(chǎn)機計算資源占用可以忽略,僅僅是旁路捕獲數(shù)據(jù)。
其次,所有的數(shù)據(jù)都是從內(nèi)存中捕獲,并不涉及生產(chǎn)主機存儲的讀取操作,因此數(shù)據(jù)復制過程不占用主機的存儲IO資源。
最后,基于字節(jié)級的數(shù)據(jù)復制粒度最小到字節(jié),因此對于帶寬資源的要求極低,是適應于異地遠距離、及面向未來的混合IT環(huán)境和云化架構的一種復制方式。
2、基于應用和中間層的數(shù)據(jù)復制技術
應用層面的數(shù)據(jù)復制通過應用程序與主備中心的數(shù)據(jù)庫進行同步或異步的寫操作,以保證主備中心數(shù)據(jù)的一致性,災備中心可以和生產(chǎn)中心同時正常運行,既能容災,還可實現(xiàn)部分功能分擔,但是該技術的實現(xiàn)方式復雜,與應用軟件業(yè)務邏輯直接關聯(lián),實現(xiàn)和維護難度較高,并且使用應用層面的數(shù)據(jù)復制會提高系統(tǒng)的風險與數(shù)據(jù)丟失的風險。
獨立于底層的操作系統(tǒng)、數(shù)據(jù)庫、存儲,應用可以根據(jù)需求實現(xiàn)雙寫或者多寫,從而實現(xiàn)主本和多個數(shù)據(jù)副本之間的數(shù)據(jù)復制功能。這種由應用實現(xiàn)的技術,可以在中間件或者應用平臺層面進行封裝和實現(xiàn),對上面的應用透明,也可以在應用層面實現(xiàn)。
其主要優(yōu)勢是可根據(jù)需求定制、可實現(xiàn)應用和數(shù)據(jù)庫層面的復制;主要不足是目前市場上沒有成熟、適合傳統(tǒng)IT企業(yè)大規(guī)模推廣使用的中間件產(chǎn)品。如果完全由應用封裝平臺或者應用來實現(xiàn),代碼的復雜程度提高,增加了應用的維護成本。
3、基于數(shù)據(jù)庫的數(shù)據(jù)復制技術
基于數(shù)據(jù)庫軟件的復制技術包括物理復制和邏輯復制兩種方式。
邏輯復制是利用數(shù)據(jù)庫的重做日志、歸檔日志,將主本所在站點的日志傳輸?shù)礁北舅谡军c,通過重做SQL的方式實現(xiàn)數(shù)據(jù)復制。邏輯復制只提供異步復制,主副本數(shù)據(jù)的最終一致性,無法保證實時一致性;
物理復制不是基于SQL Apply操作來完成復制,而是通過redo log日志或者歸檔日志在副本站點的同步或者異步持久化寫來實現(xiàn)復制功能,同時副本站點的數(shù)據(jù)可以提供只讀功能。
開放平臺數(shù)據(jù)庫復制技術則是一種基于數(shù)據(jù)庫log(日志)的結構化數(shù)據(jù)復制技術,它通過解析源數(shù)據(jù)庫在線log或歸檔log獲得數(shù)據(jù)的增、刪、改變化,再將這些變化應用到目標數(shù)據(jù)庫,使源數(shù)據(jù)庫與目標數(shù)據(jù)庫同步,以達到多站點間數(shù)據(jù)庫可雙活甚至多活,實現(xiàn)業(yè)務連續(xù)可用和容災的目的。
△數(shù)據(jù)庫日志分析技術
基于數(shù)據(jù)庫的數(shù)據(jù)復制是對數(shù)據(jù)庫記錄級別、表級別容災高可用的基礎技術,英方數(shù)據(jù)庫容災技術結合了主機復制和數(shù)據(jù)庫日志分析的優(yōu)點,提高了系統(tǒng)應用的靈活性,可實現(xiàn)數(shù)據(jù)庫應用多活,同時也極大減少了數(shù)據(jù)庫應用的增量數(shù)據(jù)傳輸。在細粒度數(shù)據(jù)容災、廣域云化容災領域仍然具有廣闊的應用前景。
數(shù)據(jù)庫語義級的實時數(shù)據(jù)同步,在數(shù)據(jù)庫正常使用時,自動完成源端到備端數(shù)據(jù)的初始化全量復制,并實時監(jiān)控及同步復制增量數(shù)據(jù),其正常流程的狀態(tài)轉(zhuǎn)換及條件如下:
英方i2Active便是基于redo log日志分析技術的Oracle數(shù)據(jù)實時復制工具,具有簡單靈活、高性能、非侵入、低影響、低于秒級延遲,低成本的特點,部署和使用也非常簡便。能夠幫助用戶在復雜的應用環(huán)境下完成Oracle容災備份、數(shù)據(jù)遷移、業(yè)務數(shù)據(jù)分發(fā)、構建大型數(shù)據(jù)倉庫等技術數(shù)據(jù)整合等工作。
△Active數(shù)據(jù)庫語義級復制
4、基于存儲系統(tǒng)網(wǎng)關的數(shù)據(jù)復制技術
存儲網(wǎng)關位于服務器與存儲之間,是構架在SAN網(wǎng)絡上的專用存儲服務技術。這項技術基于存儲虛擬化技術。
存儲虛擬化的直接定義:在存儲設備中形成的存儲資源透明抽象層,即存儲虛擬化是服務器與存儲間的一個抽象層,它是物理存儲的邏輯表示方法。其主要目的就是要把物理存儲介質(zhì)抽象為邏輯存儲空間,將分散繁雜的異構存儲管理整合為統(tǒng)一簡單的集中存儲管理,將人們所面對的眾多存儲問題,由繁化簡(其中包括存儲的讀寫方式、連接方式、存儲的規(guī)格或結構等),由散化整(存儲管理)的過程就是存儲虛擬化。
存儲網(wǎng)關通過對于進入的IO數(shù)據(jù)流提供各類數(shù)據(jù)存儲服務,大幅提升了在服務器或者存儲層面難以達到的靈活性、多樣性、異構化等多種存儲服務能力。利用存儲網(wǎng)關,對于后端的存儲數(shù)據(jù)可以提供遠程數(shù)據(jù)復制、異構化存儲融合、存儲設備高可用鏡像、快照服務、數(shù)據(jù)遷移服務甚至于部分存儲網(wǎng)關可以提供精準的持續(xù)數(shù)據(jù)保護連續(xù)數(shù)據(jù)恢復服務。
由于存儲網(wǎng)關卸載了服務器和陣列的復制工作負載,它可以跨越大量的服務器平臺和存儲陣列運行,因而使它成為高度異構的環(huán)境下的容災技術的理想選擇。另外,由于帶寬優(yōu)化、數(shù)據(jù)恢復精細化等方面獨有的優(yōu)勢,這項技術也成為比較主流的一種災備技術。
這項技術主要爭論點在于性能保障能力的發(fā)展程度。近年來,隨著SAN應用的不斷普及,SAN網(wǎng)絡中由異構存儲設備和爆炸式增長的數(shù)據(jù)量所帶來的管理復雜性、資源利用率低、存儲設備自身數(shù)據(jù)服務能力低等問題促進了存儲網(wǎng)關的發(fā)展和應用。
5、基于存儲介質(zhì)的數(shù)據(jù)復制
通過存儲系統(tǒng)內(nèi)建的固件或操作系統(tǒng)、IP網(wǎng)絡或光纖通道等傳輸介質(zhì)連結,將數(shù)據(jù)以同步或異步的方式復制到遠端,從而實現(xiàn)生產(chǎn)數(shù)據(jù)的災難保護。
采用基于存儲介質(zhì)的數(shù)據(jù)復制技術建設容災方案的特點主要是對網(wǎng)絡連接及硬件的要求較高。基于存儲的復制可以是“一對一”復制方式,也可以是“一對多或多對一”的復制方式,即一個存儲的數(shù)據(jù)復制到多個遠程存儲或多個存儲的數(shù)據(jù)復制到同一遠程存儲,而且復制可以是雙向的。
存儲復制技術使基于實現(xiàn)存儲磁盤陣列之間的直接鏡像,通過存儲系統(tǒng)內(nèi)建的固件(Firmware)或操作系統(tǒng),利用IP網(wǎng)絡或光纖通道等傳輸界面連結,將數(shù)據(jù)以同步或異步的方式復制到遠端。當然,一般情況下這種模式,必須同等存儲品牌并且同等型號的存儲系統(tǒng)控制器之間才能實現(xiàn),配備低延遲大帶寬也是必要條件之一。
在基于存儲陣列的復制中,復制軟件運行在一個或多個存儲控制器上,非常適合擁有大量服務器的環(huán)境,原因如下:
獨立于操作系統(tǒng);能夠支持Windows和基于Unix的操作系統(tǒng)以及大型機(高端陣列);許可費一般基于存儲容量而不是連接的服務器數(shù)量;不需要連接服務器上的任何管理工作。
由于復制工作被交給存儲控制器來完成,在異步傳輸本地緩存較大的時候可以很好的避免服務器的性能開銷過大的問題,從而使基于存儲陣列的復制非常適合關鍵任務和高端交易應用。
綜述
在實際工作中,并不能說哪類技術就一定優(yōu)于另一類技術,優(yōu)勢永遠是一個相對的概念,在實際應用中,企業(yè)需要選擇更加適合自身業(yè)務場景的技術路線,畢竟只有適合的,才是最好的。
注:部分內(nèi)容整理于網(wǎng)絡
來源:英方云