【DB筆試面試504】在容災中常用的數據複製技術有哪些?
- 2019 年 10 月 11 日
- 筆記
在容災中常用的數據複製技術有哪些?
答案部分
在構建容災系統所涉及的諸多要素中,數據複製技術是基礎,只有保證了數據的安全可用,應用或是業務的恢復才有可能。正常情況下系統的各種應用在數據中心運行,數據存放在數據中心和災難備份中心兩地保存。當災難發生時,使用備份數據對工作系統進行恢復或將應用切換到備份中心。
數據複製技術的選擇決定災備系統的RPO指標,災難備份系統中數據備份技術的選擇應符合數據恢復時間或系統切換時間滿足業務連續性的要求。
數據複製(Replication)是指利用複製軟件把數據從一個磁盤複製到另一個磁盤,生成一個數據副本。這個數據副本是數據處理系統直接可以訪問的,不需要進行任何的數據恢復操作,這一點是複製與D2D備份的最大區別。
根據不同容災方案所採用數據複製技術位於企業IT架構不同層面,數據複製可分為基於存儲層的複製、基於主機層複製和基於應用的複製。
具體到一個I/O從磁盤到應用的流程上,可能經由磁盤陣列、存儲網絡、卷管理軟件、文件系統、數據庫系統和應用系統全部流程或是其中的幾個流程,那麼數據複製就可以在這些流程的任一層次上實現,如下圖所示:

基於存儲層的複製可以是由存儲設備的控制器執行,也可以是由網絡層的虛擬化存儲管理平台來執行,基於存儲層的複製基於主機和應用的無關性,兼容性要求最低,實施難度最小,但是由於是卷級別的數據拷貝,對網絡帶寬要求最高;基於主機的複製可以由安裝在主機上的卷管理軟件或是文件系統來實現,在實際的應用場景中,以基於卷管理軟件的數據複製技術居多,這種方式通常要求主機平台相關,實施難度升高,但是帶寬要求降低;基於數據層的複製通過數據庫的容災功能模塊來實現,對網絡帶寬要求最低,但是只能實現數據庫數據的容災;基於應用層的數據複製需要對應用程序進行定製開發,現實場景中很難見到。
本文選自《Oracle程序員面試筆試寶典》,作者:李華榮。