1
镜像系统与TrustDBRA的对比
一. 产品定位
浪擎AgileMirror镜像系统(以下简称镜像系统)是数据库级别的实时复制容灾产品,具备容灾、容错、查询三大功能。镜像系统采用实时复制与恢复技术,且支持Oracle和SQLServer两大数据库,主要用于关键业务系统。
美创TrustDBRA(以下简称TrustDBRA)也是一款数据库级别的非实时复制容灾产品。TrustDBRA采用非实时复制与恢复技术,仅支持Oracle数据库,主要用于次关键业务系统。
二. 实现原理
镜像系统的原理是实时的复制与恢复。其复制过程为:生产端代理进程实时捕捉数据库在线日志的变化数据块,然后传输到备用数据库端;备用端的装载进程分析和组装这些变化数据块,然后提交给数据库的存储引擎保存到数据库。
镜像系统实现数据丢失趋于零与数据库容灾切换趋于零的容灾指标。镜像系统支持Oracle、SQSLerver两大主流数据库,且完全不依赖数据库的工具或对象来实现数据的实时复制和恢复,因此对数据库无副作用和对性能影响极小。
TrustDBRA仅支持Oracle数据库,且依赖Oracle的日志归档来实现非实时的复制与恢复。其复制过程为:生产端代理进程传输Oracle的定期归档日志到备用数据库端;备用端的装载进程使用Oracle的RMAN工具把归档日志恢复到数据库。TrustDBRA需要等待Oracle周期性的归档信号才能恢复数据。归档周期基本为10分钟左右。
因此TrustDBRA不能实现实时复制与恢复的产品,其数据丢失量是Oracle归档过程中的数据量,在50MB左右。为了少丢数据,TrustDBRA在部署时要求手工编写自动化脚本来强制Oracle产生归档以利于复制与恢复,这样的操作会造成生产端Oracle读写性能大幅下降。
两款产品的不同在于数据的捕获和恢复这两个非常关键的复制阶段和实现。镜像系统完全采用自主知识产权的技术来实现实时复制与恢复;TrustDBRA依赖Oracle的归档和RMAN,做不到实时复制与恢复。
三. 支持数据库与数据类型
镜像系统支持Oracle、SQSLerver两大主流数据库;支持数据库所有数据类型。
TrustDBRA仅支持Oracle数据库;支持Oracle所有数据类型。
两款产品都支持Oracle RAC、ASM等环境;都支持Windows、Linux、AIX、HPUX、Solaris等操作系统。
2
四. 容错功能
镜像系统的容错功能完全采用自身技术来实现,备用端容错进程采用循环写机制保存生产端传输来的日志数据块。当需要容错时,容错代理接收用户选定的恢复时间或事务条件,容错进程将符合条件的一段日志数据恢复到数据库。
TrustDBRA的容错功能利用Oracle的闪回来实现,产品自身不管理存储日志数据。二者实现功能相同。
两款产品都支持数据库所有操作的容错。例如,删表、截断表、删除索引、删除记录等等。
五. 容灾切换
两款产品的数据库容灾切换相同。恢复数据库的读写状态就实现数据库的切换。数据库切换时间秒级别。
浪擎是一家大型的容灾产品和解决方案供应商,产品种类很多。做业务容灾切换时,浪擎的Y系Mcenter产品可以提供监控、报警、切换、回切等功能,可提供完整的业务容灾解决方案。
美创产品线单一,无法提供整体解决方案。
六. 备用数据库在复制期间的状态
镜像系统的备用数据库处于recover或只读状态,备用数据库随时可接替生产数据库。
TrustDBRA的备用数据库处于recove状态,不能读不能查询数据,备用数据库的好坏不能判断。
二者的状态不同还是在于镜像系统采用自身的技术来实现数据恢复;而TrustDBRA依赖Oracle技术,因此做不到只读状态。
七. 实施部署
两款产品实施部署都比较简单。
镜像系统仅需生产端Oracle开启归档,无需其他配置。
TrustDBRA需生产端Oracle开启归档。为了少丢数据,TrustDBRA在部署时要求手工编写自动化脚本来强制Oracle产生归档以利于复制与恢复,这样的操作会造成生产端Oracle读写性能大幅下降。
3
八. 跨平台复制
两款产品都不支持异构操作系统之间的复制;都支持不同品牌的存储之间的复制。
九. 总结
浪擎AgileMirror镜像系统以容灾功能为主、增值功能为辅的容灾产品,具备完全的自主知识产权,且具备非常高的自主创新水平,可以应用在各行各业的重要业务系统上。
美创TrustDBRA的复制、恢复等核心技术依赖Oracle数据库的工具,是一款封装和集成Oracle DataGuard功能的容灾产品,只能应用在容灾指标要求不高、不太重要的业务系统上。