前言

之前在抖音上刷到过一个程序员小哥因为错误操作将公司服务器全部删除然后各处查找备份,备受一身全是汗。混互联网的都知道天灾人祸在所难免,有一个备份就可以尽可能的减少损失,不要像 前沿数控 那样存着价值千万的数据却任何一种备份措施都没有做过。  而且对于备份,尽量有有多个途径进行备份,往往出现事故后平时最倚重的备份途径救不了数据,反而是最不重视的哪一个或许挽救一场灾难。

说到备份就必须提两个概念:RPO 和 RTO

RPO 即 Recovery Point Objective ,最多可能丢失的数据的时长。 RTO 即 Recovery Time Objective ,指的是从灾难发生到整个系统恢复正常所需要的最大时长。

在企业生产级的场景中运维人员和DBA等都在追求者更短的 RPO 和 RTO,特别是在金融场景中因为涉及费用问题,即便是产生了 1s 的数据丢失,都可能意味着大量的资金未被记录会产生不可估量的后果。

但是随着云计算产品的出现,新的产品和技术让更低的 RPO 和 RTO 成为可能。

介绍

如果大家用过阿里云的云数据库的话,应该是对 任意时间点恢复 这个特性有着比较深刻的印象吧,即便没有数据库备份依旧可以对数据库恢复至任意时间点。 现在只要通过 DBS 产品即便不是 DBA 的新手也可以非常方便的自管理自建数据库,获得企业级灾备特性。 当然了 DBS 在备份上的能力远比 RDS 强。

数据库备份(Database Backup,简称DBS)是为数据库提供连续数据保护、低成本的备份服务。它可以为多种环境的数据提供强有力的保护,包括企业数据中心、其他云厂商及公有云。数据库备份拥有一套完整的数据备份和数据恢复解决方案,具备实时增量备份以及精确到秒级的数据恢复能力。

DBS 目前支持 MySQL 5.5~5.7 ,MongoDB 3.2~3.6,Oracle 9i~12c,SQL Server 2008 R2~ 2016 这几款关系型数据库以及指定版本的备份管理。 具体支持情况可以参考: 功能矩阵

特性

实时备份,RPO达到秒级

阿里云DBS - 轻松获得企业级数据库备份体验-米饭粑

表级恢复,故障恢复时间大大缩短

阿里云DBS - 轻松获得企业级数据库备份体验-米饭粑

长期归档,自动管理备份生命周期

阿里云DBS - 轻松获得企业级数据库备份体验-米饭粑

异地灾备,构建数据库冷备中心

阿里云DBS - 轻松获得企业级数据库备份体验-米饭粑 阿里云DBS - 轻松获得企业级数据库备份体验-米饭粑

对比

那么 DBS 和 RDS 究竟有什么区别呢?

一、RDS 的数据库备份功能相对来说比较基础,因为影响到RDS高可用,所以是用户必选项的。而 DBS 的数据库备份属于高级备份功能。

二、 RDS 的数据备份空间和日志文件共享,免费额度为存储空间容量的一半,超出部分按 0.8/G/月 计算。 DBS 的数据备份空间存储在 OSS 上,价格为 0.12元/G/月,并且可以通过生命周期机制进一步降低存储费用。

三、 RDS 的备份存储和实例所在地域一致,DBS 可以将数据备份存放在其他地域的 OSS 上,实现异地备份。

四、 RDS 的备份恢复是全库恢复的,但是有些时候往往我们只可能错误操作了一个表,恢复全库过于麻烦代价也大。DBS提供单表恢复能力,实现分钟级数据恢复

五、 其他高级特性还包括,DBS提供长期归档能力,支持5年数据备份,DBS提供实时备份,RPO达到秒级,DBS提供备份数据生命周期管理,自动转存到性价比更好存储、过期清理等。

教程

这里以 MySQL 为例,进行设置。

由于特性的需求所以需要 MySQL 开启 BinLog,开启 Binlog 教程:为 MySQL/MariaDB 开启 Binlog 功能

一、首先我们得购买一个备份计划,https://common-buy.aliyun.com/?commodityCode=cbspre#/buy

大致要选三个参数,

地域 ,同最终存储备份数据的 OSS 保持一致即可,不是同数据库所在地域相同

数据库类型 ,这个很好选,我们的数据库是什么就选什么

规格 ,不同的规格有不同的数据传输的免费额度,具体规格怎么选,这张图还是比较清晰的。

开发者少量数据备份:推荐选择micro规格,适用于数据文件20GB以下数据库备份,用于网站、博客等后台数据库备份,当数据丢失时,可以恢复到任意时间点。

企业使用:推荐选择small规格,作为DBS主推规格,适用于数据文件100G数据库备份,可以根据实际运行情况,将规格升级到medium、large。

数据文件400GB以上大型数据库备份:推荐选择large规格,提供最高的全量备份性能、增量备份性能、恢复性能和备份数据量限额。

阿里云DBS - 轻松获得企业级数据库备份体验-米饭粑

二、 然后我们就进入我们的备份计划,到这里使用过 DTS 的同学肯定能非常好的适应。如果是走公网不知道如何给账户放权和防火墙屏蔽端口的,可以参考这篇文章: 安装 MariaDB 并通过 DMS 管理

当都测试通过后 就可以下一步了

阿里云DBS - 轻松获得企业级数据库备份体验-米饭粑

三、然后就是进入预检查了

阿里云DBS - 轻松获得企业级数据库备份体验-米饭粑

如果是 Binlog 和 Server_id 的问题可以参考 为 MySQL/MariaDB 开启 Binlog 功能

一般来说我们会遇到一个 “源库权限检查” 的问题,点击后面的“i“ 可以看到帮助,运行一下给出的语句就行。

阿里云DBS - 轻松获得企业级数据库备份体验-米饭粑
阿里云DBS - 轻松获得企业级数据库备份体验-米饭粑

然后我们重新启动一下预检查即可。

四、设置备份周期

阿里云DBS - 轻松获得企业级数据库备份体验-米饭粑

注意点

如果是非云上VPC传输也就是说走公网的话,一定要设置数据库通过 SSL 方式连接,来保障安全性。

体验

DBS 唯一麻烦的地方就是刚才的步骤了,之后就完全在可视化的界面上操作即可。

比如说备份数据的生命周期

阿里云DBS - 轻松获得企业级数据库备份体验-米饭粑

还可以查看全量数据备份和增量日志备份的信息

阿里云DBS - 轻松获得企业级数据库备份体验-米饭粑

可以看到具体的文件都是存储在 OSS 上的。

阿里云DBS - 轻松获得企业级数据库备份体验-米饭粑

总结

总的来说 DBS 是一款专注于数据库备份的产品,非常的专业,除了如果用户没有配置过 Binlog 可能会稍微麻烦点,其他操作的体验都非常的简单。 而且 DBS 是一款 SaaS 产品,意味着和阿里云平台本身绑定并不是太死,线下的IDC或者其他云都可以使用DBS获得备份体验的提升。