使用波动工作负荷管理数据库可能非常复杂且成本高昂,尤其是在不可预知的流量高峰需要过度预配资源时。 为了应对这一挑战,Azure DocumentDB 为其群集引入了自动缩放功能。 自动缩放旨在通过根据应用程序需求动态调整容量来处理可变工作负荷。
与其他托管的 MongoDB 解决方案不同,后者在向上扩展时通常会经历几个小时的延迟,在缩小规模时甚至可能超过 24 小时,而 Azure DocumentDB 的自动缩放则提供即时的可伸缩性。 此功能可确保数据库立即适应不断变化的工作负荷,消除性能瓶颈并避免不必要的成本。
开始
按照本文档 创建新的 Azure DocumentDB 群集,并从 SKU 列表中选择“M200-Autoscale 层”。 或者,也可以使用 Bicep 模板来预配资源。
优点
即时缩放
- 在不停机的情况下自动调整容量,在意外的工作负荷高峰期间保持性能。
- 无需手动缩放,从而降低服务中断的风险。
成本效益
- 通过防止过度配置,仅在必要时使用资源,从而减少开支。
- 即用即付定价可确保仅按实际使用情况计费,从而最大限度地利用资源。
可预测定价
- 使用透明成本计算基于核心的定价可以简化预算和预测。
- 灵活的定价模型适应工作负载需求,避免了意外的成本峰值。
定价模型
为简单起见,它使用基于核心的定价模型,其中费用基于过去一小时内 CPU 或内存使用量的较高,而利用率阈值为 35%。
- 最高 35% 利用率:最低价格适用。
- 超过 35% 利用率:最高价格适用。
- 由于其即时缩放能力,自动缩放群集的费用比基本层高出50%。
- 计费频率:按小时计算和计费成本,确保只为使用的容量付费。
示例:
当应用程序在其运行时间的 10% 内遇到使用率峰值情况时:
- 在没有自动缩放功能的情况下:预配过度的 M200 集群将花费 1,185.24 美元。
- 自动缩放:M200-Autoscale 群集的成本仅为968.41美元,能够节省18.29%。
这种灵活的定价模型有助于降低成本,同时在高峰需求期间保持最佳性能。
Restrictions
- 目前,仅支持 M200 自动缩放层,允许在 M80 到 M200 层范围内缩放。
- 自动缩放仅适用于计算资源。 存储容量仍必须手动缩放。
- 目前不支持常规层和自动缩放层之间的升级或降级。
常见问题解答 (FAQ)
哪些群集支持自动缩放?
目前,自动缩放仅适用于 M200 层,其缩放功能从 M80 扩展到 M200。
自动缩放是否同时管理计算和存储缩放?
否,自动缩放仅管理计算资源。 必须手动调整存储。
是否可以在常规层和自动缩放层之间切换?
是的,支持在通用层和自动缩放层之间进行升级和降级。 目前,无法从 M200-Autoscale 降级到 M200。
自动缩放调整容量时是否有停机?
否,自动缩放可立即无缝地调整容量,而不会造成任何停机或性能影响。
如果工作负荷超过 M200 层限制,会发生什么情况?
如果工作负荷持续超过 M200 限制,建议考虑升级到更高级别,或采用其他缩放策略,因为自动缩放目前仅支持到 M200。
自动缩放是否在所有 Azure 区域中可用?
自动缩放可用性因区域而异。 检查 Azure 门户,了解首选区域中的支持。
如何确认Autoscale产生的费用?
为了确保成本透明度,我们引入了一个名为“自动缩放利用率百分比”的新指标。 此指标显示一段时间内的 CPU 或内存使用量上限,帮助你将其与产生的费用进行比较。
后续步骤
了解 Azure DocumentDB 中的自动缩放层的功能后,下一步是深入了解迁移过程。 这涉及到了解如何进行迁移评估和计划将现有 MongoDB 工作负载无缝传输到 Azure。