使用无服务器亚马逊 DocumentDB - Amazon DocumentDB

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

使用无服务器亚马逊 DocumentDB

Amazon DocumentDB 无服务器是一种按需自动扩展配置,可根据应用程序需求自动执行动态调整 Amazon DocumentDB 数据库容量的过程。您只需为集群消耗的资源付费。因此,DocumentDB 无服务器可以帮助您保持在预算范围内,避免为不使用的计算机资源付费。

这种类型的自动化对于工作负载高度变化且不可预测的环境特别有价值,例如多租户数据库、分布式数据库以及开发和测试系统。

DocumentDB 无服务器用例

Amazon DocumentDB 预配置集群和 DocumentDB 无服务器均支持多种类型的数据库工作负载,从开发和测试环境到要求高扩展性和可用性的最苛刻的业务关键型应用程序。但是 DocumentDB 无服务器为客户工作负载增加了另一个维度,即能够支持工作负载不可预测的网站和应用程序。

DocumentDB 无服务器对于以下用例特别有用:

  • 可变的工作负载 — 您运行的工作负载会突然出现不可预测的活动增长。例如,在开始下雨时显示活动涌现的流量网站。另一个例子是当您提供销售或特别促销活动时流量会增加的电子商务网站。借助 DocumentDB 无服务器,您的数据库会自动扩展容量以满足应用程序峰值负载的需求,并在活动激增结束后缩小容量。借助 DocumentDB 无服务器,您不再需要为峰值或平均容量进行预配置。您可以指定容量上限来应对最糟糕情况,除非确实需要该容量,否则不使用该容量。

    • DocumentDB 无服务器中的扩展精细度可帮助您将容量与数据库需求紧密匹配。对于已配置的集群,向上扩展需要添加一个全新的实例。当只需要多一点容量时,DocumentDB 无服务器可以添加半个 DCU。它可以DCUs 根据处理工作负载增加所需的额外容量增加 0.5、1、1.5、2 或额外的一半。而且,当工作负载减少并且不再需要该容量DCUs 时,它可以移除 0.5、1、1.5、2 或额外的一半。

  • 多租户应用程序 — 借助 DocumentDB 无服务器,您无需单独管理队列中每个应用程序的数据库容量。DocumentDB 无服务器为您管理单个数据库容量。

    • 您可为每个租户创建一个集群。这样,您就可以根据每个租户使用克隆和快照恢复等功能来增强高可用性和灾难恢复。

    • 根据一天中的时间、一年中的时间、促销活动等,每个租户可能有特定的忙碌和空闲时段。每个集群都有宽容量范围。这样,低活动集群产生的实例费用就会降至最低。任何集群都可以快速扩展以应对活动较多的时期。

  • 新应用程序-您正在部署新应用程序,但不确定所需的实例大小。通过使用 DocumentDB 无服务器,您可以设置一个或多个实例的集群,并根据应用程序的容量要求自动扩展数据库。

  • 混合用途应用程序-假设您有一个在线事务处理 (OLTP) 应用程序,但查询流量会定期出现峰值。通过为集群中的 DocumentDB 无服务器实例指定提升等级,您可以配置集群,使读取器实例可以独立于写入器实例进行扩展,以处理额外的负载。当使用量峰值消退时,读取器实例会缩减以匹配写入器实例的容量。

  • 容量规划-假设您通常通过修改集群中所有实例的实例类来调整数据库容量,或者验证工作负载的最佳数据库容量。使用 DocumentDB 无服务器,您可以避免这种管理开销。您可以通过运行工作负载并检查实例的实际扩展程度来确定适当的最小和最大容量。

    • 您可以将现有实例从预配置实例修改为 DocumentDB 无服务器实例,也可以将现有实例从 DocumentDB 无服务器修改为预配置。在这种情况下,您无需创建新集群或新实例。

  • 开发和测试 — 除了运行要求最苛刻的应用程序外,您还可以将 DocumentDB 无服务器用于开发和测试环境。借助 DocumentDB 无服务器,您可以创建最低容量较低的实例,而不必使用可突发的 db.t* 实例类。您可以将最大容量设置得足够高,这样这些实例仍然可以在内存不足的情况下运行大量工作负载。不使用数据库时,所有实例都会缩小规模,以避免不必要的费用。

使用 Amazon DocumentDB 无服务器处理现有预配置的工作负载

假设您已经在已配置的集群上运行了 DocumentDB 应用程序。您可以通过将一个或多个 DocumentDB 无服务器实例作为读取器实例添加到现有集群中来检查应用程序如何使用 DocumentDB 无服务器。您可以检查阅读器实例向上和向下扩展的频率。您可以使用 DocumentDB 故障转移机制将 DocumentDB 无服务器实例提升为写入器,并检查它如何处理工作负载。 read/write 这样,您可以在最短的停机时间内进行切换,而且无需更改客户端应用程序使用的端点。有关将现有集群转换为 DocumentDB 无服务器集群的过程的详细信息,请参阅。迁移到 Amazon DocumentDB 无服务器

亚马逊 DocumentDB 无服务器的优势

DocumentDB 无服务器适用于可变或 “尖端” 工作负载。对于此类不可预测的工作负载,您可能难以规划何时更改数据库容量。使用熟悉的机制(例如添加实例或更改实例类),您也可能难以足够快地更改容量。DocumentDB 无服务器提供了以下优势来帮助解决此类用例:

  • 容量管理比预置容量更简单 — DocumentDB Serverless 减少了在工作负载变化时规划实例大小和调整实例大小的工作量。它还可以减少为保持集群中所有实例的容量一致所付出的努力。

  • 在@@ 高活动期间更快、更轻松地扩展 — DocumentDB 无服务器可根据需要扩展计算和内存容量,而不会中断客户事务或整体工作负载。将阅读器实例与 DocumentDB 无服务器一起使用的功能可帮助您利用水平缩放和垂直缩放的优势。

  • 在@@ 活动量低的时期,具有成本效益 — DocumentDB 无服务器可帮助您避免实例过度配置。当实例向上扩展时,DocumentDB 无服务器会以精细的增量添加资源。您只需为所消耗的数据库资源付费。DocumentDB 无服务器资源使用量是按每秒计量的。这样,当实例缩小规模时,可以立即记录减少的资源使用量。

  • 功能与预配置功能相同 — 您可以将所有 DocumentDB 功能与 DocumentDB 无服务器一起使用。例如,使用 DocumentDB 无服务器,您可以使用读取器实例、 AWS Identity and Access Management (IAM) 数据库身份验证和 Performance Insights。

    特别是,借助 DocumentDB 无服务器,您可以利用预配置集群中的以下功能:

    • 阅读器实例 — DocumentDB 无服务器可以利用阅读器实例进行水平扩展。当集群包含一个或多个读取器实例时,如果写入器实例出现问题,集群可以立即进行故障转移。

    • 多可用区集群 — 您可以将集群的 DocumentDB 无服务器实例分发到多个可用区 ()。AZs设置多可用区集群有助于确保业务连续性,甚至在极少数情况下会出现影响整个可用区的问题。