You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Cosmos DB最佳实践:单Web应用应建单个还是多个数据库?

前置说明

你提到的单数据库最多25个容器的限制,仅适用于配置了数据库级共享吞吐量的Azure Cosmos DB实例,属于固定硬配额,默认无法申请提升,设计初衷是避免过多容器争抢共享吞吐量(RU)池,引发不可控的性能抖动。三个方案没有绝对的普适最优,需要结合业务场景匹配,以下是各方案的实际适用边界:

各方案优劣势与适配场景
  • 方案1:单应用创建多个数据库
    不推荐作为常规选型。跨数据库无法复用吞吐量资源,会直接拉高使用成本;同时跨数据库的数据访问、权限管理、备份运维复杂度都会明显上升,Cosmos DB本身也不支持跨数据库的事务操作。只有当单应用内不同业务域的数据完全隔离、无任何互通需求、且访问负载差异极大的极端场景下,才可以考虑这个方案。
  • 方案2:使用Serverless模式Cosmos DB
    适合开发测试环境、低流量生产场景、流量波动极强且无持续高负载的业务。Serverless模式不存在数据库级共享吞吐量的25个容器限制,按实际消耗的RU计费,无闲置资源成本。但要注意该模式存在单容器最大吞吐量上限(约10000 RU/s,不同区域略有差异),服务SLA为99.9%,低于预配吞吐量模式的99.99%,且不支持自动缩放、多区域写入等企业级特性。如果你的应用峰值和低谷流量差超过10倍、没有强高可用要求、整体负载不高,这个方案的性价比最高。
  • 方案3:吞吐量配置在容器层级
    是中高流量生产场景的通用最佳实践。容器级吞吐量配置不存在单数据库25个容器的限制,单数据库下默认支持最多500个容器,可通过提交配额申请进一步提升上限。该模式下每个容器的吞吐量独立隔离,不会出现跨容器的资源争抢,性能稳定性最好,同时支持99.99% SLA、多区域写入、自动缩放等全部企业级特性。如果你的业务有稳定持续负载、对性能抖动容忍度低、有高可用要求,直接选择这个方案即可,不需要为了适配共享吞吐量的限制强行拆分数据库。
快速选型参考
  • 开发测试环境、流量波动大的中小流量业务、无强SLA要求:选方案2
  • 生产环境、有稳定负载、要求性能隔离和高SLA:选方案3
  • 仅当业务域完全隔离、数据无互通需求时,才考虑方案1

内容的提问来源于stack exchange,提问作者Husam Zidan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 20:57:21