Amazon RDS – 数据库存储
Amazon RDS – 数据库存储
RDS 实例使用 Amazon Block Storage (EBS) 卷来存储数据和日志。这些存储类型可以根据需要动态增加其大小。但根据与这些存储类型相关的数据库工作负载和价格,我们可以自定义存储需求。以下是在决定存储类型时要分析的因素。
-
IOPS – 表示每秒执行的输入输出操作数。将读取和写入操作相加以找到 IOPS 值。AWS 每 1 分钟创建一份 IOPS 值报告。它可以具有每秒 0 到数万的值。
-
延迟– 它是从发起 I/O 请求到完成 I/O 请求之间经过的毫秒数。较大的延迟表示较慢的性能。
-
吞吐量– 每秒传入和传出磁盘的字节数。AWS 每 1 分钟间隔单独报告读取和写入吞吐量。
-
队列深度——它是在到达磁盘之前在队列中等待的 I/O 请求的数量。AWS 每 1 分钟报告一次队列深度。此外,较高的队列深度表示较慢的存储性能。
基于以上考虑,aws 存储类型如下。
通用固态硬盘
这是一种经济高效的存储,在大多数常见数据库任务中都很有用。它可以为 1 TiB 卷提供 3000 IOPS。在 3.34 TiB 大小下,性能可以达到 10000 IOPS。
I/O 积分
每 GB 存储允许 3 IOP 作为基准性能。这意味着 100 GB 的卷可以提供 300 IOP。但是可能会出现需要更多 IOPS 的情况。在这种情况下,您需要使用初始化存储时提供的一些 IO 信用余额。它是 540 万个 IO 积分,可在出现可突增的性能需求时使用。另一方面,当您使用的 IOPS 少于基准性能时,您会积累积分,这些积分可用于未来可突增性能的要求。
下面是一个等式,显示了突发持续时间和信用余额之间的关系。
Burst Duration = (credit Balance) / [(burst IOPS) – 3(Storage size in GB)]
如果您的数据库需要频繁且持续时间长的突发性能,那么下一个存储类型将是更好的选择。
预置 IOPS 存储
这是一种提供持续更高性能和始终如一的低延迟的存储系统,最适合 OLTP 工作负载。
创建数据库实例时,您需要为此类存储指定所需的 IOPS 速率和卷大小。下面是一个图表,用于参考决定配置存储下所需的 IOPS 和存储。
DB Engine | 预配置的 IOPS 范围 | 存储范围 |
---|---|---|
MariaDB | 1000 至 40000 | 100 GB 到 16 TB |
SQL Server | 1000 至 32000 | 20GB 至 16TB |
MySQL / Oracle/ PostgreSQL | 1000 至 40000 | 100GB 至 16TB |
这是一种非常古老的存储技术,由 aws 维护,仅用于向后兼容。它的功能非常有限,如下所示。
-
不支持弹性卷
-
限制为最大 4 TB
-
限制为最大 1000 IOPS