15

当我在 RDS 中启动 Amazon MySQL 数据库实例时,我会为其选择分配的存储量。

当我创建快照(手动或使用自动备份)时,它在“存储”下显示与为实例分配的大小相同的大小,即使我的数据库没有达到那个大小。

由于亚马逊的定价(或免费套餐)取决于使用的存储量,我想知道我正在使用的实际存储大小,而不是原始数据库分配的大小。

通过查看帐户活动,并了解 mysqldump 的工作原理,我猜快照并没有真正包括分配的空白空间。

4

3 回答 3

16

我对这个问题的答案很感兴趣,谷歌搜索把我带到了这里。我很惊讶地看到,虽然有一个被接受的、赞成的答案,但它实际上并没有回答所提出的问题。

问的问题是:

如何判断 Amazon RDS 中 MySQL 数据库快照的原始大小?

但是,接受的答案实际上是这个问题的答案:

当我从源数据库获取 RDS 快照时,我是否会为源数据库的分配大小收费。

至于最初的问题 AFAICT,没有 API 或控制台函数来确定 RDS 快照使用的存储。DBSnapshot 资源已分配_storage ( ruby​​ , java ),但这会返回创建数据库时请求的最大存储大小。这反映了 AWS RDS 控制台:

在此处输入图像描述

有人可能认为这会在 AWS 账单中列出,但它提供的细节很少。对于 RDS:

在此处输入图像描述

账单的 S3 部分就更没用了:

在此处输入图像描述

结论,没有办法告诉Amazon RDS 中 MySQL 数据库快照的原始大小

于 2017-08-15T20:30:08.967 回答
7

根据常见问题,RDS 正在通过 EBS 存储:

Amazon RDS 使用 EBS 卷进行数据库和日志存储。

根据其定价页面,EBS 不存储空块:

由于数据在保存到 Amazon S3 之前已被压缩,并且 Amazon EBS 不保存空块,因此快照大小可能会大大小于您的卷大小。

根据详细信息页面,在制作初始快照后,仅对更改的块占用空间:

如果您的设备具有 100 GB 数据,但在上次快照后仅更改了 5 GB,则后续快照仅消耗 5 GB 额外的空间,并且您只需为额外的 5 GB 快照存储付费,即使之前和之后的快照存储都是如此快照显示完成。

于 2015-12-04T17:13:07.893 回答
-1

RDS 备份是块级的完整虚拟机快照;根本不涉及 mysqldump。鉴于这一事实,您的每个快照将使用与备份发生时的生产实例完全相同的存储量。

于 2014-05-22T23:48:40.237 回答