AWS RDS 备份是增量备份还是差异备份?

AWS RDS backups are incremental or differential?

在AWS RDS文档中,写到执行每日自动备份。但是没有具体说明是增量还是微分

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html

您能说说 AWS 执行的备份类型吗?

最有意义的答案是"neither."

RDS 快照是完整备份...但它们最初是增量创建的。

RDS 快照是底层块存储设备的 EBS 快照。

Amazon RDS creates a storage volume snapshot of your DB instance, backing up the entire DB instance and not just individual databases.

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html

从逻辑上讲,每个快照都是一个独立的快照。您可以删除旧的,并仍然成功地恢复新的。您可以删除除一个以外的所有内容,并且仍然可以恢复那个,无论是哪个。

它们实际上是作为增量快照创建的,只有与先前快照不同的块从磁盘捕获并存储¹...快照...但是捕获的数据不是 "in" 特定的快照——每个快照都包含指向重建它所需的所有快照数据块的指针——所以如果更新的快照依赖于最初的数据在较旧的快照中捕获,这很好:删除较旧的快照不会导致数据实际上被丢弃,只要数据仍被至少一个快照引用。

When you delete a snapshot, only the data referenced exclusively by that snapshot is removed. Deleting previous snapshots of a volume does not affect your ability to restore volumes from later snapshots of that volume.

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html


¹ 只有不同的块 是可能的,因为 EBS 基础架构知道您的卷上的哪些块自上一个仍在存储的快照以来保持不变。当 RDS 要求 EBS 对底层存储卷进行快照时,EBS 只读取已被触及的块。确切地说,这是如何工作的并没有记录,但是有明确的证据表明这种优化在很少的数据更改时拍摄快照所需的时间很短,而在发生许多更改时需要更长的时间。

Amazon RDS 备份类型是增量备份,第一个备份始终是完整备份,其余备份都是增量备份。假设您的 RDS 备份保留期为 7 天,以防万一我们需要将数据库恰好倒回 1 天,那么将应用第一个完整备份和最后五个后续备份。

它是 EBS 的完整快照。 它既不是增量备份也不是差异备份。

这是一个完整的备份。每当我们需要从以前的快照中恢复时,只需 select 复制日期和完整的 RDS。无需处理任何其他备份。

AWS 表示 "Turned on by default, the automated backup feature of Amazon RDS will backup your databases and transaction logs. Amazon RDS automatically creates a storage volume snapshot of your DB instance, backing up the entire DB instance and not just individual databases. " 参考:https://aws.amazon.com/rds/details/backup/