当今世界是一个充满着数据的互联网世界,生活的方方面面都在不断产生着数据,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。对于企业而言,数据更是重要的生产资料,关键数据的丢失可能会给企业带来致命一击。一旦客户资料、技术文件、财务账目等客户、交易、生产数据发生丢失、损坏,企业就有可能陷入困境。

云时代中,云数据库都有着高可靠、高可用的架构,保证用户的数据不会丢失。如京东云云数据库RDS就基于全球广受欢迎的MySQL、Percona、 MariaDB、SQL Server、PostgreSQL数据库引擎,提供稳定可靠的云数据库服务。

相比传统数据库,云数据库RDS易于部署、方便管理和扩展,默认支持主从高可用架构,提供数据备份恢复、变更配置、监控报警等整套数据库解决方案,彻底解决数据库使用和运维的烦恼。云数据库RDS通常会提供了地域级高可用切换、多AZ部署,但是当出现地域级故障、人为误删除等各种不同场景时,仍然需要根据业务级别设计数据恢复预案,全方位保证业务的连续性和可靠性。

在数据灾备解决方案中,RPO和RTO是衡量灾备方案的两个重要指标:

RPO(Recovery Point Objective)即数据恢复点目标,主要指的是业务系统所能容忍的数据丢失量;

RTO(Recovery Time Objective)即恢复时间目标,主要指的是所能容忍的业务停止服务的最长时间,也就是从灾难发生到业务系统恢复服务功能所需要的最短时间周期。

从下图中我们可以看到云数据库RDS各个灾备相关功能对RTO和RPO的支持:

功能点RTORPO地域范围自动备份高中等相同地域手动备份中等高相同地域跨地域备份同步中等中等不同地域数据库备份DBS高高不同地域

京东云数据库备份DBS

针对灾备场景,京东云推出了独立的集中式数据库备份服务——数据库备份DBS。

数据库DBS可以实时备份数据到云端或异地机房,为数据库提供持续性、低成本的数据保护,帮助企业快速构建数据库备份中心,满足业务和监管备份合规性要求。同时,京东云云数据库RDS也提供了自动备份、手动备份、跨地域备份同步的功能,为用户系统提供完善、高性价比的灾备解决方案。

如何守护数据安全? 这里有一份RDS灾备方案为你支招

 

目前,数据库DBS提供整库备份和恢复能力,为防止删库跑路、机房容灾等灾备场景提供解决方案。

数据库备份DBS将备份和恢复的目标库扩展到RDS实例之外的其他自建数据库,并且可以快速帮助用户对自建数据库、云RDS实例进行异地备份,通过专线或公网将数据库实时备份到数据库备份DBS上。

数据库备份DBS优势特点

数据库备份DBS具有如下优势:

(1)简单易用

使用数据库备份 DBS 进行数据库备份,只需简单几步即可创建备份任务,开始数据备份;

(2)功能丰富

提供逻辑备份、增量备份等备份选择;

(3)低成本

提供冷备容灾备份方案,降低业务和存储成本;

(4)性能可靠

根据备份量和备份压力,自动扩展,适应高并发、大流量的备份场景;

(5)安全可信

支持备份可用性和完整性校验,保证备份可用性。

 

数据库备份RDS备份方式

京东云云数据库提供了三种不同的备份方式:自动备份手动备份跨地域备份

一、自动备份

自动备份包括全量物理备份和binlog增量备份。

云数据RDS的自动备份默认是开启的,RDS服务将根据备份策略定期触发对RDS实例的备份,您可以在备份策略窗口中选择您需要进行自动备份的时间段,系统自动会在这个时间段内的任意时间点开始执行备份操作。

如何守护数据安全? 这里有一份RDS灾备方案为你支招

 

如何守护数据安全? 这里有一份RDS灾备方案为你支招

 

当RDS实例中的数据量随着业务量的增长达到一定的数量级时,在指定时间周期内备份任务可能无法完成,备份任务在下一个周期内会继续进行,保证RDS实例能正常完成一个全量备份。

配置自动备份后, 你不再需要每天执行手动备份,RDS服务会保证备份按时进行,并将备份文件完整地保存到指定的位置,避免因故障或异常操作导致你的重要数据丢失。

每次实例创建、删除、扩容等关键流程,都会触发自动备份,包括全量备份binlog备份,甚至数据库配置文件错误日志都会备份,全方面保证用户数据安全。

云数据库RDS每5min进行一次Binlog备份。Binlog配置是row格式,image = full,记录所有数据操作。综上,RDS实例能够为业务提供分钟级RPO,RTO则根据实际数据量确定。

二、手动备份

你可以根据业务需要随时触发一个手动备份,手动备份完成后,备份文件不会被自动清除,需要手动执行删除备份的操作。当RDS实例被删除的时候,备份文件也会自动被删除。

如何守护数据安全? 这里有一份RDS灾备方案为你支招

 

三、跨地域备份

云数据库RDS实例支持跨可用区高可用部署,在单个 AZ(可用区)无法正常提供服务的情况下,仍然可以保持云数据库 RDS 实例正常提供服务。但是如果云数据库RDS实例所在的Region(地域)无法正常提供服务,那么依赖于这个云数据库RDS实例的业务也就瘫痪了。跨地域备份同步服务,为云数据库RDS提供更高可用性,实现跨地域的服务容灾。

跨地域备份同步服务,通过将云数据库RDS实例的备份文件同步到不同 Region(地域),从而确保云数据库RDS实例在原Region(地域)不可用的时候,可以迅速在同步了云数据库RDS备份的地域新建一个新的云数据库RDS实例。

云数据库RDS每十分钟发起一次跨地域备份任务,由于备份任务是一个异步操作,并且数据传输也是一个耗时的过程,虽然不同地域间基于专线进行数据同步,同步速度远超普通公网带宽,但跨地域备份任务的同步时延与数据量息息相关,因此实际延迟时间根据备份文件的传输时间确定。

如何守护数据安全? 这里有一份RDS灾备方案为你支招

 

同时,数据库备份RDS备份在设计时做了很多优化:

RDS实例采用物理热备份的方式,在备份过程中,不影响用户访问数据库DML操作;

RDS实例的备份在从库上进行,不会对主库有任何的影响;

RDS实例备份,采用流式的方式上传到OSS中,备份数据不会占用实例的存储空间,按需并发高速上传数据,减少备份时间。1T数据可以在2-3小时完成备份;

RDS实例备份支持压缩、加密。压缩比可以到3:1,并且保护用户备份数据的安全;

RDS实例的备份文件在对象存储中保存,对象存储提供超高的数据可靠性,保证备份文件的安全。并且对象存储的bucket由RDS服务托管,您无法通过控制台查看对象存储的bucket,但RDS服务提供了备份文件的下载链接,您可以直接将备份文件下载到本地。

数据恢复

在使用云数据库实例的过程中,如果软件异常或者某种突发情况导致数据库中出现脏数据,可以根据备份全量恢复或新建一个数据库实例,也可以选择恢复数据库中的一个或多个库表。

另外,如果你的业务需要进行异地容灾,可以在跨地域备份里选择一个备份文件,在指定地域恢复一个新的数据库实例。RDS采用流式的方式将备份文件从OSS并发下载到本地进行数据恢复,同时支持并发加、解密的策略,进一步降低恢复时间。

目前RDS提供4种恢复策略:根据备份本地覆盖恢复、根本备份创建新实例、按时间点创建新实例和根据时间点恢复本地实例。其中按时间点创建和恢复策略时间可以精确到秒级,根据时间点恢复可以对本地数据做单库单表恢复,并且能够保留本地原库表,通过对比不同时间的同一份数据,获取数据库的具体操作,方便用户对恢复前后的数据做进一步的数据审计。

写在最后

本文围绕云数据库RDS对数据库的灾备方案进行介绍,除了RDS实例以外,完整的灾备方案还应该包含主机、LB等部署您应用程序的所有其他资源。灾备预案需要在实际生产环境中反复测试和验证,完整的灾备方案可以让您及时发现潜在问题,更加从容地应对生产环境中的各种意外和风险及时发现潜在的问题。