最佳实践 - Amazon DocumentDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

最佳实践

了解使用 Amazon DocumentDB 弹性集群的最佳实践。所有基于实例的 Amazon DocumentDB 集群的最佳实践也适用于弹性集群。随着新的最佳实践的确定,此节将不断更新。

选择分片键

以下列表描述了创建分片键的指导原则。

  • 使用均匀分发的哈希键分发数据遍及您集群中的所有分片(避免热键)。

  • 在所有读取/更新/删除请求中使用分片键,以避免分散聚集查询。

  • 在执行读取/更新/删除操作时,请避免嵌套的分片键。

  • 进行批量操作时,请将 ordered 设置成虚假,从而使所有分片可以并行运行并改善延迟。

连接管理

以下列表描述了管理与您数据库连接的指导原则。

  • 监控您的连接计数以及新连接开闭的频率。

  • 将您的连接分布到按您的应用程序配置的所有子网。如果您的集群配置在多个子网中,但您只使用这些子网的子集,则您可能在最大连接数上遇到瓶颈。

未分片的集合

以下内容描述了用于未分片集合的指导原则。

  • 在处理未分片的集合时,为了分配负载,请尝试将高度利用的未分片集合保留在不同的数据库上。Amazon DocumentDB 弹性集群跨不同分片安置数据库,并将同一数据库的未分片集合共同定位在同一个分片上。

扩展弹性集群

以下列表描述了扩展弹性集群的指导原则。

  • 扩展操作可能会导致短时间的间断性数据库和网络错误。如果可能,请避免在高峰时段扩展。尝试在维护窗口期间扩展。

  • 相比增加或减少分片计数,首选向上和向下扩展分片容量(更改每个分片的 vCPU 计数)以增加计算能力,因为它更快且具有更短的间断性数据库和网络错误持续时间。

  • 在预测增长时,最好增加分片计数,而非扩展分片容量。这使您能够通过增加需要快速扩展的场景的分片容量,来扩展您的集群。

  • 监控您的客户端重试策略并使用指数回退和抖动进行重试,以避免在扩展情况下出现错误时数据库过载。

监控弹性集群

以下列表描述了监控弹性集群的指导原则。

  • 跟踪每个分片指标的峰值/平均值比率,以确定您是否驱动不均衡的流量(有热键/热点)。跟踪峰值/平均值比率的关键指标是:

    • PrimaryInstanceCPUUtilization

      • 这可以在每个分片层面监控。

      • 在集群层面,您可以监视平均到 p99 的偏差。

    • PrimaryInstanceFreeableMemory

      • 这可以在每个分片层面监控。

      • 在集群层面,您可以监视平均到 p99 的偏差。

    • DatabaseCursorsMax

      • 这应在每个分片层面监控以确定偏差。

    • Documents-Inserted/Updated/Returned/Deleted

      • 这应在每个分片层面监控以确定偏差。