基于 V 核心的 Azure Cosmos DB for MongoDB 的自动缩放

适用对象: MongoDB vCore

使用波动工作负载管理数据库可能非常复杂且成本高昂,在不可预知的流量高峰需要过度预配资源时尤其如此。 为了应对这一挑战,Azure Cosmos DB for MongoDB 为其基于 vCore 的群集引入了自动缩放功能。 自动缩放旨在通过根据应用程序需求动态调整容量来处理可变工作负荷。

与其他托管的 MongoDB 解决方案不同,Azure Cosmos DB 的自动缩放提供即时可伸缩性,在纵向扩展超过 24 小时时,通常会遇到几个小时的延迟。 此功能可确保数据库立即适应不断变化的工作负荷,消除性能瓶颈并避免不必要的成本。

开始

按照本文档 创建新的 Azure Cosmos DB for MongoDB (vCore) 集群,并从 SKU 列表中选择“M200-Autoscale tier”。 或者,也可以使用 Bicep 模板来预配资源。

免费层预配的屏幕截图。

好处

  • 即时缩放

    • 在不停机的情况下自动调整容量,在意外的工作负荷高峰期间保持性能。
    • 无需手动缩放,从而降低服务中断的风险。
  • 成本效益

    • 仅在必要时防止过度预配、利用资源,从而减少开支。
    • 即用即付定价可确保仅按实际使用情况计费,从而最大限度地利用资源。
  • 可预测的定价

    • 使用透明成本计算基于核心的定价可以简化预算和预测。
    • 灵活的定价模型适应工作负载需求,避免意外的成本激增。

定价模型

为简单起见,它使用基于核心的定价模型,其中费用基于过去一小时内 CPU 或内存使用量的较高,而利用率阈值为 35%。

  • 利用率 35% 及以下:最低价格适用。
  • 超过 35% 的利用率:最高价格适用。
  • 由于其即时缩放功能,自动缩放群集相较于基本层会产生 50% 的额外费用。
  • 计费频率:按小时计算和计费成本,确保只为使用的容量付费。

示例:

在应用程序遇到其运行时 10% 的使用率峰值的情况中:

  • 如果没有自动缩放:预配过度的 M200 群集将花费 1,185.24 美元。
  • 使用自动缩放:M200-Autoscale 群集仅需 968.41 美元,可节省 18.29%。

这种灵活的定价模型有助于降低成本,同时在高峰需求期间保持最佳性能。

限制

  • 目前,仅支持 M200 自动缩放层,允许在 M80 到 M200 层范围内缩放。
  • 自动缩放仅适用于计算资源。 存储容量仍必须手动缩放。
  • 目前不支持在常规层和自动缩放层之间进行升级或降级。

常见问题解答 (FAQ)

哪些群集支持自动缩放?

目前,自动缩放仅适用于 M200 层,其缩放功能从 M80 扩展到 M200

自动缩放是否同时管理计算和存储缩放?

否,自动缩放仅管理计算资源。 必须手动缩放存储。

是否可以在常规层和自动缩放层之间切换?

是的,支持在常规层和自动缩放层之间进行升级和降级。 但是,目前无法从 M200-Autoscale 缩减到 M200。

自动缩放调整容量时是否有停机?

否,自动缩放可立即无缝地调整容量,而不会造成任何停机或性能影响。

如果工作负荷超过 M200 层限制,会发生什么情况?

如果工作负荷一直超过 M200 限制,请考虑更高级别或替代扩展策略,因为自动缩放当前最多支持 M200。

自动缩放是否在所有 Azure 区域中可用?

自动缩放可用性因区域而异。 检查 Azure 门户,了解首选区域中的支持。

如何验证自动缩放产生的费用?

为了确保成本透明度,我们引入了一个名为“自动缩放利用率百分比”的新指标。 此指标显示一段时间内的 CPU 或内存使用量上限,帮助你将其与产生的费用进行比较。

自动缩放使用指标的屏幕截图。

后续步骤

了解 Azure Cosmos DB for MongoDB (vCore) 中的自动缩放层的功能后,下一步是深入了解迁移过程。 这涉及到了解如何进行迁移评估和计划将现有 MongoDB 工作负载无缝传输到 Azure。