[关闭]
@lsmn 2018-05-27T23:43:24.000000Z 字数 1701 阅读 2369

Amazon Aurora新增“回溯”特性,让DB集群可以回退到特定时间点

云计算 Amazon DB


摘要

Amazon Aurora是AWS中托管的一个兼容MySQL和PostgreSQL的关系型数据库。该数据库新增了“回溯(backtrack)”特性。借助这个特性,开发人员可以撤销他们的错误操作,如删错了表。

正文

Amazon Aurora是一个完全由AWS托管的、兼容MySQL和PostgreSQL的关系型数据库。该数据库新增了“回溯(backtrack)”特性。在兼容MySQL的Amazon Aurora中,用户可以让数据库集群回溯或回退到一个特定的时间点,而不必从备份还原数据。回溯过程允许把时间点指定到秒,而回退过程通常需要几分钟。这项新特性为开发人员撤销错误操作(如数据或表删除不当)提供了便利。

Amazon Aurora新提供的回溯特性让用户可以把数据库(DB)集群“回退”到指定的那一秒。据该特性的文档介绍,该特性不能代替DB集群日常备份的运行和维护。不过,与传统的备份和还原相比,回溯提供了如下好处:DB集群可以在破坏性动作发生之前回溯到一个时间点,而且只会非常短暂地中断服务;DB集群回溯不需要一个新的DB集群,而是用几分钟让DB集群“回退”;可以轻松找出之前的数据变化——用户可以反复向后或向前回溯,确定数据变化发生的具体时间。

5月10日,Amazon宣布了回溯特性,该特性目前仅适用于MySQL数据库。而且,开发人员需要为所有新启动的Aurora数据库集群或者从备份还原的集群选择加入回溯特性。在启用回溯特性之后,AWS会在Aurora数据库集群中配置一个先入先出(FIFO)缓冲区。在数据库集群使用期间,Aurora会使用一个分布式的日志结构存储系统;任意数据库的每一个变化都会生成新的日志记录,每条记录通过日志序列号(LSN)标识。而且,这些LSN存储在缓冲区中,可以快速访问和恢复。

当开发人员希望启动一次回溯,他们可以终止自己的应用程序,在浏览器中打开Aurora控制台,选择该应用程序使用的集群,点击“Backtrack DB cluster”。

此处输入图片的描述
图片来源:https://aws.amazon.com/blogs/aws/amazon-aurora-backtrack-turn-back-time/

下一步,开发人员选择希望回到的时点,并选择“Backtrack DB cluster”选项执行回溯。然后,开发人员可以在控制台中监控回溯执行情况——该过程包括Aurora数据库服务停止数据库、关闭所有连接,放弃未提交的写入,然后等待回溯完成后恢复正常操作。当回溯完成时,控制台会通知开发人员。

此处输入图片的描述
图片来源:https://aws.amazon.com/blogs/aws/amazon-aurora-backtrack-turn-back-time/

Arjen Schwarz是Bulletproof首席DevOps工程师/AWS交付负责人,他在周记博客中介绍了回溯特性:

如果你有还原Aurora数据库的经验,那么你可能知道,把一个快照还原到一个新集群需要将近一个小时,而通过回溯特性回滚需要的时间以秒计算,而且,你可以回滚到你希望的那一秒。这就是说,如果你因为执行了错误的查询或者推出应用程序新版本失败而需要回滚的话,你不会丢失任何数据,也用不了多少时间就可以做到了。

注意,如果开发人员回溯的时间太久,那么他们就会回溯到另一个时点——实际上,该特性允许开发人员反复“取消”或搜索整个时间线。而且,按照设计,Aurora服务提供了可以和新的回溯特性一起使用的克隆、备份和还原功能。

Aurora回溯特性在所有运行Amazon Aurora的AWS区域中都可以使用。对于托管在公司美国区域的数据库,这项新特性的成本约为每百万条变更记录0.012美元,在欧洲和亚洲要稍贵一点。要了解详细价格信息,请查看Aurora定价页面

查看英文原文:Amazon Aurora Adds "Backtrack" Feature to Enable Rewinding a DB Cluster to a Specific Point in Time

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注