Amazonrds 简明教程
Amazon RDS - DB Storages
RDS 实例使用 Amazon 区块存储 (EBS) 卷来存储数据和日志。这些存储类型可以在需要时动态增加其大小。但是,基于这些存储类型相关联的数据库工作负载和价格,我们可以自定义存储需求。以下是要决定存储类型时要分析的因素。
-
IOPS – 它表示每秒执行的输入输出操作数。读写操作都会汇总起来以查找 IOPS 值。AWS 会为每 1 分钟创建一个 IOPS 值报告。它可以每秒有 0 到数万个值。
-
Latency – 这是从启动 I/O 请求到完成 I/O 请求之间的时间差(以毫秒为单位)。较大的延迟表示较慢的性能。
-
Throughput – 每秒从磁盘传输到磁盘的字节数。AWS 会为每 1 分钟间隔分别报告读取和写入吞吐量。
-
Queue Depth – 这是在 I/O 请求到达磁盘之前在队列中等待的 I/O 请求数。AWS 会为每 1 分钟间隔报告队列深度。此外,较高的队列深度表示较慢的存储性能。
基于上述考虑因素,aws 存储类型如下。
General Purpose SSD
这是一种经济高效的存储,在大多数常见的数据库任务中都很有用。它可以为 1 TiB 卷提供 3000 IOPS。在 3.34 TiB 大小时,性能可以提升至 10000 IOPS。
I/O Credits
每 GB 的存储空间可提供 3 IOPS 作为基线性能。这意味着 100 GB 的卷可以提供 300 IOPS。但有时您可能需要更多 IOPS。在这种情况下,您需要使用在存储初始化时提供的某些 I/O 信用余额。此余额为 540 万个 I/O 信用额度,可在需要突发性能时使用。另一方面,当您使用的 IOPS 低于基线性能时,您会累积可以在未来需要突发性能时使用的信用额度。
以下是一个显示突发持续时间和信用余额之间关系的方程式。
Burst Duration = (credit Balance) / [(burst IOPS) – 3(Storage size in GB)]
如果您的数据库需要频繁而长时间的突发性能,那么下一个存储类型将是一个较好的选择。
Provisioned IOPS Storage
这是一种存储系统类型,可提供持续更高的性能和持续较低的延迟,非常适合 OLTP 工作负载。
在创建数据库实例时,您需要为这种存储指定所需的 IOPS 速率和卷大小。以下图表可作为参考,用于确定预置存储所需的 IOPS 和存储。
DB Engine |
Provisioned IOPS Range |
Storage Range |
MariaDB |
1000 to 40000 |
100 GB 到 16 TB |
SQL Server |
1000 to 32000 |
20GB to 16 TB |
MySQL / Oracle/ PostgreSQL |
1000 to 40000 |
100GB to 16 TB |
这是一种非常旧的存储技术,AWS 仅为向后兼容性维护它。其功能非常有限,如下所示。
-
不支持弹性卷
-
限制为最大尺寸 4 TB
-
限制为最高 1000 IOPS