数据库主流容灾方案对比分析

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 数据库可以通过软件或硬件方式容灾,等级分为数据级容灾和应用级容灾。不同数据库容灾方案都有自己的优势,企业如何选择最优的容灾方案?投资最多的方案就是最安全、最满足实际需求的吗?答案显然是否定,可以说方案没有最好,只有最适合。在设计和选择方案时需要考虑各个因素:如投入成本、复杂度、可行性、异构性、可管理性、可扩展性等,最终方案会采用一种或多种方式组合,以满足企业不同业务系统对RPO、RTO指标的要求。

image.png

说到容灾,先要清楚概念,因为现在很多人把备份和容灾经常放在一起称为灾备,但实际上是两个概念.备份是为了应对灾难来临时造成的数据丢失问题.容灾是为了在遭遇灾害时保证信息系统正常运行,帮助企业实现业务连续。


下面对几种主流的数据库容灾方案进行分析对比,希望在容灾方案设计选型时给大家带来一点思路。

 

一、基于存储硬件的容灾方案

典型代表:EMC SRDFHDS TruecopyIBM PPRC

硬件复制通过基于硬件的远程磁盘镜像实现,其实现要求严格。数据中心的建立离不开磁盘阵列,所以存储硬件厂商也会在第一时间给客户灌输自己基于阵列的容灾方案。只是他们在设计方案的时候往往更多地考虑如何让用户多买阵列,而不是将旧阵列加以重用。

 方案优势:同步异步方式可供选择;数据同步过程不占用主机资源;带宽利用率高;覆盖所有数据对象包括文件数据、数据库数据、裸设备、应用配置文件、应用程序、库函数等;成熟技术,案例丰富。

 方案限制:生产中心与灾备中心必须选择同品牌同级别的盘阵,存储硬件价格昂贵;数据同步过程中灾备中心处于standby状态,不能进行任何读写操作,只能在灾难发生时才能发挥体会到其优越的处理能力,造成资源浪费;需要建立光纤网作为复制链路,费用较高,且两地距离不能太远,光纤长度要求不超过100公里以满足对时延要求;在存储级定制复制策略,无法在操作系统级控制和分辨复制内容,不管是数据库还是普通文件统统进行全盘复制,即使是一些不需要复制的文件也不能进行筛选,浪费带宽、浪费存储。    

 

二、基于卷的复制技术容灾方案

典型代表:Veritas Volume Replicator

 方案优势:IP网作为复制链路,成本低,不受距离限制;以卷作为复制对象,可以实现数据库和普通文件的容灾;支持异构存储;同步和异步方式。

 方案限制:需要复制的数据库和文件必须建立在Veritas Volume Manager之上,即使是已经上线的系统也必须要进行数据的迁移,实施性差和维护复杂;复制过程在主机操作系统级实现,10%-20%主机资源损耗;不支持数据级容灾和RAW设备的数据复制;复制过程中灾备中心的数据库处于standby状态,不能进行任何读写,造成资源浪费。

 

三、基于文件系统的复制技术容灾方案

典型代表: 英方软件 i2availability

基于操作系统对文件系统I/O实时捕获并通过IP网络复制到灾备端对生产中心相关服务进行实时监控,自动或手动将应用切换到灾备中心服务器上。

方案优势: 主机层的数据复制,跨平台、跨系统、跨存储的数据复制;支持数据级和应用级容灾;IP网作为复制链路,成本低,不受距离限制;支持仅复制数据库文件,节约带宽和存储空间;国产厂商,支持国产操作系统和数据库;

方案限制: 依赖于文件系统,不支持RAW设备的数据复制;部分操作系统和文件系统不支持;复制过程中灾备中心的数据库处于standby状态,不能进行任何读写,造成资源浪费。

 

四、基于数据库的复制技术容灾方案

典型代表 Oracle Data GuardOracle Active Data GuardOracle GoldenGate

通过分析数据库Redo LogArchive Log 实现日志的复制,将分析结果直接或转化为SQL语句传到容灾中心,在容灾中通过心Apply数据库日志或将日志转化的SQL语句重做,来保证容灾中心数据与生产中心数据一致。

方案优势:灾备端可处于Active状态,可进行正常的查询或写等操作(取决于复制方式),从而降低主库的负载,提高硬件利用率;通过IP网实现数据复制,距离不受限制,成本低;传输数据量小,带宽占用低;与数据库集成在一起,管理简单数据库一致性得到很好保证;支持异构存储。

方案限制通常专门针对原厂数据库,只能实现单一数据库复制,如果有ORACLESQLSERVER等多种数据库,就必须采用相互各不相同的数据库复制技术,管理和维护工作非常复杂;数据库复制技术不是一个完整的容灾解决方案,只能有限的复制数据库数据,不能复制其他的应用程序,配置文件,即使是Oracle自己的tnsnames.ora, listner.orainitSID.ora, *.ctl也不能复制,一旦这些文件改动过,将需要管员人为操作或者需要其他软件的管理,保证容灾中心与生产中心应用、程序、配置文件同步。

第三方厂商方案

通常是通过解析日志,生成SQL,然后复制到备库进行应用,原理同Oracle GoldenGate方式类似。国外厂商有Quest SharePlex,国内厂商有英方软件、迪思杰等,相比原厂和国外厂商,国内厂商在国产数据库,异构数据库服务支持方面有很大优势。

 

  以上对比分析可以看出,数据库的不同容灾方案,各有优劣,只有充分考虑各种相关因素并结合企业自身特点,才能决定适合当前企业的容灾方案并随着业务在未来不断发展进行调整优化!

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
消息中间件 canal 缓存
项目实战:一步步实现高效缓存与数据库的数据一致性方案
Hello,大家好!我是热爱分享技术的小米。今天探讨在个人项目中如何保证数据一致性,尤其是在缓存与数据库同步时面临的挑战。文中介绍了常见的CacheAside模式,以及结合消息队列和请求串行化的方法,确保数据一致性。通过不同方案的分析,希望能给大家带来启发。如果你对这些技术感兴趣,欢迎关注我的微信公众号“软件求生”,获取更多技术干货!
149 6
项目实战:一步步实现高效缓存与数据库的数据一致性方案
|
2月前
|
canal 缓存 NoSQL
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
根据对一致性的要求程度,提出多种解决方案:同步删除、同步删除+可靠消息、延时双删、异步监听+可靠消息、多重保障方案
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
|
3月前
|
关系型数据库 MySQL 分布式数据库
PolarDB 与传统数据库的性能对比分析
【8月更文第27天】随着云计算技术的发展,越来越多的企业开始将数据管理和存储迁移到云端。阿里云的 PolarDB 作为一款兼容 MySQL 和 PostgreSQL 的关系型数据库服务,提供了高性能、高可用和弹性伸缩的能力。本文将从不同角度对比 PolarDB 与本地部署的传统数据库(如 MySQL、PostgreSQL)在性能上的差异。
225 1
|
3月前
|
关系型数据库 MySQL 数据库
|
3月前
|
存储 机器学习/深度学习 自然语言处理
LangChain与向量数据库:高效的信息检索方案
【8月更文第4天】随着自然语言处理技术的发展,特别是深度学习的进步,我们能够更加高效地处理大量的文本数据。LangChain 作为一种强大的工具链,旨在简化和加速构建复杂的自然语言处理应用程序。结合向量数据库,LangChain 可以实现高效且精准的信息检索功能。本文将探讨这一组合的工作原理,并通过一个具体的实现案例来展示其在实际应用中的效果。
440 2
|
13天前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
14天前
|
缓存 关系型数据库 MySQL
高并发架构系列:数据库主从同步的 3 种方案
本文详解高并发场景下数据库主从同步的三种解决方案:数据主从同步、数据库半同步复制、数据库中间件同步和缓存记录写key同步,旨在帮助解决数据一致性问题。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
高并发架构系列:数据库主从同步的 3 种方案
|
4月前
|
SQL Linux 数据库
|
1月前
|
SQL 关系型数据库 MySQL
Vanna使用ollama分析本地数据库
这篇文章详细介绍了如何使用Vanna和Ollama框架来分析本地数据库,实现自然语言查询转换为SQL语句并与数据库交互的过程。
149 7
Vanna使用ollama分析本地数据库
|
16天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
33 2