在 RDS for Oracle 实例存储中存储临时数据
在支持的 RDS for Oracle 数据库实例上,为临时表空间和数据库智能闪存缓存(闪存缓存)使用实例存储。
主题
RDS for Oracle 实例存储的概述
实例存储为 RDS for Oracle 数据库实例提供临时性块级存储。您可以使用实例存储来临时存储经常变化的信息。
实例存储基于物理附加到主机的非易失性存储规范(NVMe)设备。此存储针对低延迟、随机 I/O 性能和连续读取吞吐量进行了优化。
实例存储的大小因数据库实例类型而异。有关实例存储的更多信息,请参阅《适用于 Linux 实例的 Amazon Elastic Compute Cloud 用户指南》中的 Amazon EC2 实例存储。
主题
RDS for Oracle 实例存储中的数据类型
您可以将以下类型的 RDS for Oracle 临时数据放入实例存储中:
- 临时表空间
-
Oracle 数据库使用临时表空间来存储不适合放入内存中的中间查询结果。较大的查询会生成大量的中间数据,这些数据需要进行临时缓存,但不需要持久保留。尤其是,临时表空间可用于排序、哈希聚合和联接。如果您的 RDS for Oracle 数据库实例使用企业版或标准版 2,则可以将临时表空间放在实例存储中。
- 闪存缓存
-
闪存缓存可提高传统路径中单块随机读取的性能。最佳做法是调整缓存的大小以容纳大部分活动的数据集。如果 RDS for Oracle 数据库实例使用企业版,则可以将闪存缓存放在实例存储中。
原定设置情况下,将实例存储配置用于临时表空间而非闪存缓存。您无法将 Oracle 数据文件和数据库日志文件放在实例存储中。
RDS for Oracle 实例存储的优点
您可以考虑使用实例存储来存储可以承受丢失的临时文件和缓存。如果您想提高数据库性能,或者,如果增加的工作负载导致 Amazon EBS 存储出现性能问题,请考虑扩展到支持实例存储的实例类。
通过将临时表空间和闪存缓存放在实例存储上,您可以获得以下优势:
-
降低读取延迟
-
提高吞吐量
-
减少了 Amazon EBS 卷上的负载
-
由于减少了 Amazon EBS 负载,因此降低了存储和快照成本
-
减少了预调配高 IOPS 的需要,可能会降低您的总体成本
通过将临时表空间放在实例存储上,您可以立即提高使用临时空间的查询的性能。当您将闪存缓存放在实例存储上时,缓存块读取的延迟通常比 Amazon EBS 读取的延迟要低得多。闪存缓存需要“预热”,然后才能提供性能优势。缓存会自行预热,因为当块从数据库缓冲区缓存中过期时,数据库会将块写入闪存缓存。
注意
在某些情况下,闪存缓存会因为缓存管理而导致性能开销。在生产环境中启用闪存缓存之前,我们建议您分析工作负载并在测试环境中测试缓存。
RDS for Oracle 实例存储支持的实例类
Amazon RDS 对于以下数据库实例类支持实例存储:
-
db.m5d
-
db.r5d
-
db.x2idn
-
db.x2iedn
RDS for Oracle 仅对于 BYOL 许可模式支持上述数据库实例类。有关更多信息,请参阅支持的 RDS for Oracle 数据库实例类 和EE 和 SE2 自带许可(BYOL)。
要查看受支持的数据库实例类型的总实例存储量,请在 Amazon CLI 中运行以下命令。
aws ec2 describe-instance-types \ --filters "Name=instance-type,Values=*5d.*large*" \ --query "InstanceTypes[?contains(InstanceType,'m5d')||contains(InstanceType,'r5d')][InstanceType, InstanceStorageInfo.TotalSizeInGB]" \ --output table
前面的命令返回实例存储的原始设备大小。RDS for Oracle 使用此空间的一小部分进行配置。实例存储中可用于临时表空间或闪存缓存的空间稍小。
RDS for Oracle 实例存储支持的引擎版本
以下 RDS for Oracle 数据库引擎版本支持实例存储:
-
21.0.0.0.ru-2022-01.rur-2022-01.r1 或更高的 Oracle Database 21c 版本
-
19.0.0.0.ru-2021-10.rur-2021-10.r1 或更高的 Oracle Database 19c 版本
RDS for Oracle 实例存储支持的 Amazon Web Services 区域
在支持其中一种或多种实例类型的所有 Amazon Web Services 区域中均可使用实例存储。有关 db.m5d 和 db.r5d 实例类的更多信息,请参阅 数据库实例类。有关 Amazon RDS for Oracle 支持的实例类的更多信息,请参阅 RDS for Oracle 数据库实例类。
RDS for Oracle 实例存储的成本
实例存储的成本计入已开启实例存储的实例的成本中。对 RDS for Oracle 数据库实例启用实例存储不会产生额外费用。有关已开启实例存储的实例的更多信息,请参阅 RDS for Oracle 实例存储支持的实例类。
开启 RDS for Oracle 实例存储
要为 RDS for Oracle 临时数据开启实例存储,请执行下列操作之一:
-
使用支持的实例类创建 RDS for Oracle 数据库实例。有关更多信息,请参阅 创建 Amazon RDS 数据库实例。
-
修改现有 RDS for Oracle 数据库实例以使用支持的实例类。有关更多信息,请参阅 修改 Amazon RDS 数据库实例。
删除 RDS for Oracle 实例存储
要删除实例存储,请修改 RDS for Oracle 数据库实例以使用不支持实例存储的实例类型,如 db.m5 或 db.r5。