写点什么

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

京东智联云数据库团队

  • 2020-12-24
  • 本文字数:2936 字

    阅读完需:约 10 分钟

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

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


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


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


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


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

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


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

京东智联云数据库备份 DBS

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


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



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


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


数据库备份 DBS 优势特点

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


(1)简单易用

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


(2)功能丰富

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


(3)低成本

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


(4)性能可靠

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


(5)安全可信

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


数据库备份 RDS 备份方式

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


1 自动备份


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


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




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


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


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


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


2 手动备份


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


3 跨地域备份


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


跨地域备份同步服务,通过将云数据库 RDS 实例的备份文件同步到不同 Region(地域),从而确保云数据库 RDS 实例在原 Region(地域)不可用的时候,可以迅速在同步了云数据库 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 等部署您应用程序的所有其他资源。灾备预案需要在实际生产环境中反复测试和验证,完整的灾备方案可以让您及时发现潜在问题,更加从容地应对生产环境中的各种意外和风险及时发现潜在的问题。


后面我们还会对备份、恢复流程进一步提速,尤其是在应用 binlog 环节,最终进一步降低 RTO,给用户更好的使用体验。


目前数据库备份 DBS 已正式开放公测

欢迎大家扫描下方二维码申请公测



2020-12-24 21:391257

评论

发布
暂无评论
发现更多内容

CNCF 官方大使张磊:什么是云原生?,一个Java程序员的面试心得

Java 程序员 后端

dubbo实战之三:使用Zookeeper注册中心,java后端工程师面试题

Java 程序员 后端

透过表象看REST

Jxin

GitHub上标星90k+的《Java知识总结,java基础选择题填空

Java 程序员 后端

AlibabaP8架构师整理,283页的Java核心资料pdf文档,学会后月薪4W没问题

Java 程序员 后端

Bootstrap框架快速上手,这位阿里P7大牛分析总结的属实到位

Java 程序员 后端

Dubbo—SPI及自适应扩展原理,java项目系统架构图

Java 程序员 后端

99%的面试会问到的Redis面试题Redis面试必磕,mybatis面试题2020

Java 程序员 后端

Apache Log4j2详解,【高级Java架构师系统学习

Java 程序员 后端

Elasticsearch的高阶使用方法有哪些?,rabbitmq入门案例

Java 程序员 后端

BAT互联网大厂JAVA岗高频面试题总结,看完offer成功率再翻一番

Java 程序员 后端

GateWay 网关服务,java程序员进阶路线

Java 程序员 后端

Docker下的Nacos环境开发,mysql联合索引原理

Java 程序员 后端

77道Spring面试题以及参考答案(2021年最新版),java面试题加答案

Java 程序员 后端

Anaconda安装,linux操作系统学习

Java 程序员 后端

BATJ真题突击:Java基础+JVM,springboot和vue实战视频

Java 程序员 后端

CDH5部署三部曲之二:部署和设置,高薪程序员必会

Java 程序员 后端

CoProcessFunction实战三部曲之一:基本功能,软件技术java工程师方向

Java 程序员 后端

Docker下,两分钟极速体验Nacos配置中心,mysql视频教程百度网盘

Java 程序员 后端

Fluid 给数据弹性一双隐形的翅膀 -- 自定义弹性伸缩,多线程面试题2021

Java 程序员 后端

5年开发经验,面试10分钟后,面试者,转疯了

Java 程序员 后端

GitHub标星139K的:“Linux系统开发教程”

收到请回复

Linux 架构 后端 计算机

Alibaba船新出品“Java架构核心宝典”,java教程视频百度网盘

Java 程序员 后端

GitHub上访问下载破百万的神仙文档《Java面试神技》看完我呆了

Java 程序员 后端

5分钟掌握JVM常用选项及相关知识,工作面试够用了,dubbo和zkeper的面试题

Java 程序员 后端

9000字通俗易懂的讲解下Java注解,你还看不明白?,linux操作系统基础与应用答案

Java 程序员 后端

97 道大厂 Java 核心面试题出炉,来试试看你会几道题?

Java 程序员 后端

@RequestMapping属性详解 - SpringMVC高手进阶,2021金九银十

Java 程序员 后端

ACID 过时?用 Sagas 搞定数据一致性,面试字节跳动的Java工程师该怎么准备

Java 程序员 后端

Chrome上的这些灵魂插件太猛了,碾压其他同款,java架构师成长直通车分享

Java 程序员 后端

6年开发,五面阿里,耗时3月系统梳理Java全栈知识点,劲爆

Java 程序员 后端

如何守护数据安全? 这里有一份RDS灾备方案为你支招_云计算_InfoQ精选文章