说到容灾,先要清楚概念,因为现在很多人把备份和容灾经常放在一起称为灾备,但实际上是两个概念.备份是为了应对灾难来临时造成的数据丢失问题.容灾是为了在遭遇灾害时保证信息系统正常运行,帮助企业实现业务连续。
下面对几种主流的数据库容灾方案进行分析对比,希望在容灾方案设计选型时给大家带来一点思路。
一、基于存储硬件的容灾方案
典型代表:EMC SRDF、HDS Truecopy、IBM PPRC
硬件复制通过基于硬件的远程磁盘镜像实现,其实现要求严格。数据中心的建立离不开磁盘阵列,所以存储硬件厂商也会在第一时间给客户灌输自己基于阵列的容灾方案。只是他们在设计方案的时候往往更多地考虑如何让用户多买阵列,而不是将旧阵列加以重用。
方案优势:同步异步方式可供选择;数据同步过程不占用主机资源;带宽利用率高;覆盖所有数据对象包括文件数据、数据库数据、裸设备、应用配置文件、应用程序、库函数等;成熟技术,案例丰富。
方案限制:生产中心与灾备中心必须选择同品牌同级别的盘阵,存储硬件价格昂贵;数据同步过程中灾备中心处于standby状态,不能进行任何读写操作,只能在灾难发生时才能发挥体会到其优越的处理能力,造成资源浪费;需要建立光纤网作为复制链路,费用较高,且两地距离不能太远,光纤长度要求不超过100公里以满足对时延要求;在存储级定制复制策略,无法在操作系统级控制和分辨复制内容,不管是数据库还是普通文件统统进行全盘复制,即使是一些不需要复制的文件也不能进行筛选,浪费带宽、浪费存储。
二、基于卷的复制技术容灾方案
典型代表:Veritas Volume Replicator
方案优势:IP网作为复制链路,成本低,不受距离限制;以卷作为复制对象,可以实现数据库和普通文件的容灾;支持异构存储;同步和异步方式。
方案限制:需要复制的数据库和文件必须建立在Veritas Volume Manager之上,即使是已经上线的系统也必须要进行数据的迁移,实施性差和维护复杂;复制过程在主机操作系统级实现,10%-20%主机资源损耗;不支持数据级容灾和RAW设备的数据复制;复制过程中灾备中心的数据库处于standby状态,不能进行任何读写,造成资源浪费。
三、基于文件系统的复制技术容灾方案
典型代表: 英方软件 i2availability
基于操作系统对文件系统I/O实时捕获并通过IP网络复制到灾备端,对生产中心相关服务进行实时监控,自动或手动将应用切换到灾备中心服务器上。
方案优势: 主机层的数据复制,跨平台、跨系统、跨存储的数据复制;支持数据级和应用级容灾;IP网作为复制链路,成本低,不受距离限制;支持仅复制数据库文件,节约带宽和存储空间;国产厂商,支持国产操作系统和数据库;
方案限制: 依赖于文件系统,不支持RAW设备的数据复制;部分操作系统和文件系统不支持;复制过程中灾备中心的数据库处于standby状态,不能进行任何读写,造成资源浪费。
四、基于数据库的复制技术容灾方案
典型代表 Oracle Data Guard、Oracle Active Data Guard、Oracle GoldenGate
通过分析数据库Redo Log和Archive Log 实现日志的复制,将分析结果直接或转化为SQL语句传到容灾中心,在容灾中通过心Apply数据库日志或将日志转化的SQL语句重做,来保证容灾中心数据与生产中心数据一致。
方案优势:灾备端可处于Active状态,可进行正常的查询或写等操作(取决于复制方式),从而降低主库的负载,提高硬件利用率;通过IP网实现数据复制,距离不受限制,成本低;传输数据量小,带宽占用低;与数据库集成在一起,管理简单数据库一致性得到很好保证;支持异构存储。
方案限制:通常专门针对原厂数据库,只能实现单一数据库复制,如果有ORACLE、SQLSERVER等多种数据库,就必须采用相互各不相同的数据库复制技术,管理和维护工作非常复杂;数据库复制技术不是一个完整的容灾解决方案,只能有限的复制数据库数据,不能复制其他的应用程序,配置文件,即使是Oracle自己的tnsnames.ora, listner.ora,initSID.ora, *.ctl也不能复制,一旦这些文件改动过,将需要管员人为操作或者需要其他软件的管理,保证容灾中心与生产中心应用、程序、配置文件同步。
第三方厂商方案
通常是通过解析日志,生成SQL,然后复制到备库进行应用,原理同Oracle GoldenGate方式类似。国外厂商有Quest SharePlex,国内厂商有英方软件、迪思杰等,相比原厂和国外厂商,国内厂商在国产数据库,异构数据库服务支持方面有很大优势。
以上对比分析可以看出,数据库的不同容灾方案,各有优劣,只有充分考虑各种相关因素并结合企业自身特点,才能决定适合当前企业的容灾方案并随着业务在未来不断发展进行调整优化!