【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

如何守护数据安全? 这里有一份 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:392741

评论

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

《Spring实战》读书笔记-第4章 面向切面的Spring

Java 程序员 后端

【Java设计模式实战系列】好的单例模式是怎样的?

Java 程序员 后端

【Java面经】阿里三面被挂!幸获内推,历经5轮终于拿到口碑offer(1)

Java 程序员 后端

【Java面试题】常见Java面试知识点总结

Java 程序员 后端

《JVM系列》 第六章 -- 对象的实例化与内存布局(1)

Java 程序员 后端

「并发原理专题」AQS的技术体系之CLH、MCS锁的原理及实现

Java 程序员 后端

【C 语言小游戏】手打贪吃蛇1

Java 程序员 后端

【Java每日面试题】大厂是如何设计秒杀系统的?

Java 程序员 后端

《重学Java高并发》Disruptor使用实战

Java 程序员 后端

《吃透MQ系列》核心基础全在这里了,一文啃透!

Java 程序员 后端

【Java 基础语法】万字解析 Java 的多态、抽象类和接口

Java 程序员 后端

【Java 多线程 1】CountDownLatch

Java 程序员 后端

“抽象类”到底抽不抽象?实例对比一看便知!

Java 程序员 后端

《菜菜的机器学习sklearn课堂》降维算法PCA和SVD

Java 程序员 后端

【Java设计模式系列】装饰器模式(Decorator Pattern)

Java 程序员 后端

大数据中必须要掌握的 Flink SQL 详细剖析

五分钟学大数据

flink 11月日更

【Java面经】阿里三面被挂!幸获内推,历经5轮终于拿到口碑offer

Java 程序员 后端

Zookeeper(从7个方面来了解Zookeeper基础概念)

Java 程序员 后端

《JVM系列》 第六章 -- 对象的实例化与内存布局

Java 程序员 后端

《Spring实战》读书笔记-第4章 面向切面的Spring(1)

Java 程序员 后端

【Java 集合框架】Stack、Queue 和 Deque 的使用

Java 程序员 后端

【Java核心面试宝典】Day3、图解HashMap高频面试及底层实现架构!

Java 程序员 后端

公有云是什么意思?其存在的意义是什么?

行云管家

云计算 公有云 私有云 混合云

墨天轮国产数据库沙龙 | 张晓庆:GoldenDB分布式数据库的自动安装与备份恢复

墨天轮

数据库 技术沙龙

[译] 微服务的设计模式

Java 程序员 后端

《代码重构》之方法到底多长算“长”

Java 程序员 后端

【Java从0到架构师】SQL 多表查询

Java 程序员 后端

【Java知识点详解 7】装箱和拆箱

Java 程序员 后端

【Java从0到架构师】Maven

Java 程序员 后端

过等保选择云堡垒机还是硬件堡垒机比较好?

行云管家

网络安全 云服务 堡垒机 等级保护

【Java面试题总结 4】Java Web、网络、设计模式综合篇

Java 程序员 后端

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