View a markdown version of this page

NVMe-backed 实例 - Amazon DocumentDB

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

NVMe-backed 实例

NVMe-backed 对于具有超出常规实例内存的大型数据集的应用程序,实例的查询性能最多可提高 7 倍。这些实例利用 r6gd 实例上可用的基于本地非易失性存储 Solid-State 器 Express (NVMe) 的硬盘 (SSD) 存储来存储临时数据,从而减少基于网络的存储访问并改善读取延迟和吞吐量。

本地 SSD 空间分为两个部分:

  • 分层缓存:将大约 73% 的本地 SSD 分配为数据库缓存,与仅使用主内存相比,使系统能够存储多达五倍的数据库页面。本地 SSD 充当第二层缓存,而现有的内存缓冲区缓存仍作为第一层缓存。仅当缓冲区缓存和 SSD 缓存都未命中时,查询才会访问外部存储。

  • 临时存储:剩余的 27% 用于非永久性临时文件存储,用于涉及排序的复杂查询或资源密集型操作(如索引构建)。在常规实例中,临时空间位于 Amazon Elastic Block Store(EBS)卷上。SSD 上本地托管的临时存储可将涉及排序的查询延迟最多减少一半,并加快索引构建等资源密集型操作的速度。

有关支持的 NVMe-backed 实例类型及其规格的详细信息,请参阅实例类规格

实例的推荐用 NVMe-backed 例

我们建议您在以下场景中使用 NVMe-backed 实例:

  • Read-heavy 工作负载 — 如果您的工作负载是读取密集型的,并且您的数据集大于缓冲区缓存(由低指标BufferCacheHitRatio和高ReadIOPS指标表示),则 NVMe-backed 实例可以提供性能优势。

  • Update-heavy 工作负载 — 如果您的工作负载是更新密集型的,并且由于网络存储的读取延迟而导致垃圾收集无法跟上,则 NVMe-backed 实例可以帮助缓解问题。

NVMe-backed 实例可以使各种用例受益,包括:

  • Internet-scale 应用程序 — 诸如支付处理、计费和电子商务等具有严格性能的应用程序服务级别协议 (SLA) 可以利用 NVMe-backed 实例的性能优势。

  • Real-time 报告仪表板 — 运行数百个查询进行 metrics/data 收集的仪表板可以受益于 NVMe-backed 实例的低延迟和高吞吐量。

  • 生成式 AI 应用程序 — 使用矢量搜索在数百万个矢量嵌入中查找精确或最近的邻居的应用程序可以利用 NVMe-backed 实例的高性能。

在亚马逊文档数据库中使用 NVMe-backed 实例

要使用亚马逊文档 NVMe-backed 数据库的实例,请执行以下操作:

要查看不同 AWS 区域的 NVMe-backed 实例可用性,请参阅不同区域支持的实例类

如果您想从 NVMe-backed 实例切换回常规实例,请将 Amazon DocumentDB 实例的数据库实例类修改为不带 NVMe 存储空间的类似实例类。例如,如果当前实例类是“db.r6gd.4xlarge”,请选择“db.r6g.4xlarge”以切换回该实例类。有关更多信息,请参阅 修改 Amazon DocumentDB 集群

监控 NVMe-backed 实例

除了 Amazon 中提供的常规实例指标外 CloudWatch, NVMe-backed 实例还会发出特定于 NVMe-based SSD 存储、IOPS 和吞吐量的额外指标。

NVMeStorageCacheHitRatio FreeNVMeStorage ReadIOPSNVMeStorage ReadLatencyNVMeStorage ReadThroughputNVMeStorage WriteIOPSNVMeStorage WriteLatencyNVMeStorage WriteThroughputNVMeStorage

有关这些指标的更多信息,请参阅 NVMe-backed 实例指标