跳转到主内容
Azure Azure 充值返赠 5% 起

Azure Cosmos DB NoSQL 数据库

Azure Cosmos DB 是微软 Azure 的全球分布式 NoSQL 数据库,提供 MongoDB/Cassandra/Gremlin/SQL/Table 5 种 API 模型和 5 种一致性级别,全球 60+ 区域多主写入自动同步。通过 SevenColorYun 购买可享受充值返赠 5% 起的代理优惠。

产品规格

API 模型
MongoDB / Cassandra / Gremlin(图)/ SQL / Table(宽列)5 种 API——一个数据库多种模型
一致性级别
强一致性 / 有界过期(Bounded Staleness)/ 会话 / 一致性前缀 / 最终——业界最完整的 5 级
全球分布
全球 60+ 区域,多主写入(Multi-Master),自动故障转移,99.999% SLA
自动索引
所有属性自动索引(无需声明索引),无 Schema 限制,支持自定义索引策略
弹性扩展
Provisioned RU/s / Serverless(按实际 RU 计费)/ Autoscale(自动扩缩)三种模式

5

一致性级别

业界最完整

60+

全球区域

多主写入

5个9

SLA 保障

99.999%

免费

1000 RU/s 永久

+ 25GB 存储

Cosmos DB:微软全球分布式 NoSQL —— 5 种 API 模型 + 5 种一致性级别 + 60+ 区域多主写入,为什么说它是”最灵活的云 NoSQL”?

Azure Cosmos DB 是微软 Azure 的全球分布式 NoSQL 数据库——2017 年从 DocumentDB 改名并扩展为多模型数据库,底层是微软研究院的自研分布式存储引擎(非 MongoDB/Cassandra 等开源引擎的封装)。Cosmos DB 在 Azure 全球 60+ 区域部署,支撑 Microsoft Teams、Xbox Live、Azure AI 等微软内部业务的全球数据库层。

Cosmos DB 的最独特之处在于三个”多”的结合:多 API 模型(同一数据库通过 MongoDB/Cassandra/Gremlin/SQL/Table 五种协议访问——你从 MongoDB 迁移到 Cosmos DB,现有代码不需要改)、多一致性级别(5 种——从强一致性到最终一致,每次请求独立选择——交易用强一致、Feed 用最终一致、用户设置用会话一致)、多区域多主写入(任意 Cosmos DB 区域的副本都可写入,写入后自动同步到所有配置区域——不像 DynamoDB Global Tables 只能 Last Writer Wins + 额外收费)。

Cosmos DB 的 99.999% 可用性 SLA(年停机 < 5.26 分钟)是业界数据库服务最高级别之一——高于 DynamoDB 的 99.99%(年停机 < 52.6 分钟)。这个差异在”金融交易数据库 5 分钟不可用 = 数十万美元损失”的场景中意义重大——Cosmos DB 的多区域多主写入架构保证即使一个 Azure 区域完全停机,其他区域的 Cosmos DB 继续接受读写(需要配置强一致性则写入会阻塞直到区域恢复)。

Cosmos DB RU/s 计费模型是什么?和 DynamoDB WCU/RCU 怎么比较?

Cosmos DB 的吞吐计费单位是 RU/s(Request Units per second,请求单位/秒)——一个 RU 被标准化为”一个 1KB 文档的 GET 请求所消耗的资源”。所有数据库操作(读、写、查询、删除)都会被 Cosmos DB 自动量化为 RU 消耗——一个 10KB 文档的 GET 消耗大约 10 RU(10 个 1KB 等价),一个复杂 SQL 查询(WHERE/JOIN/ORDER BY)可能消耗 100-500 RU。

Provisioned 模式(预留 RU/s 容量):

  • 最低 400 RU/s = ~$24/月(单区域)
  • 1000 RU/s = ~$60/月
  • 10,000 RU/s = ~$600/月
  • 多区域:每个增加的区域按主区域 RU/s 的同等计费(如 3 个区域各 1000 RU/s = $180/月)

Serverless 模式(按实际 RU 消耗计费):

  • 不预留任何 RU/s——每次操作消耗的 RU 自动按 $0.00000025/RU 计费
  • 上限 5,000 RU/s(突发限制)
  • 适合间歇性/不可预测的工作负载——比 Provisioned 便宜 50-80%(如果没有稳定流量)

Autoscale 模式

  • 设定最大 RU/s(如 10,000),系统按实际消耗的 10%-100% 自动调整
  • 最低计费为最大 RU/s 的 10%(即 10,000 RU/s max → 最低计费 1,000 RU/s)

与 DynamoDB 对比:DynamoDB WCU/RCU 是分离计费(写入和读取分开买容量),Cosmos DB RU 是统一计费(读写的资源消耗统一算 RU)。统一计费的好处是不需要分别预估读和写的峰值——混合负载的容量规划更简单。坏处是一个复杂查询可能吃掉所有 RU 让写入也被限流——需要用 x-ms-retry-after-ms 响应头实现客户端重试。

Cosmos DB 最适合哪些出海场景?

全球分布式游戏数据库

Cosmos DB 的多区域多主写入 + 会话一致性是游戏数据库的最佳组合:全球玩家分布在北美/欧洲/亚洲三个区域——每个区域各自写入玩家数据(多主写入——不需要指定一个”主区域”做写入中转),同一玩家在欧洲写入的数据在北美区域通过会话一致性读到(自己写的数据读得到 + 其他区域可能有 1-2 秒滞后但不会读到旧数据乱序)。一个 500 万全球 DAU 的手游——配置 3 个 Cosmos DB 区域(美东+西欧+东南亚)各 10,000 RU/s + 会话一致性 = 约 $2,000/月。对比 DynamoDB Global Tables 同等配置约 $2,800/月(Global Tables 附加费 $1.875/百万复制写入)。

MongoDB 无缝迁移到 Azure 上

一个使用 MongoDB 的 Node.js 出海电商——现有 20 个微服务全部用 Mongoose ODM 连接自建 MongoDB Atlas(M10 集群 $250/月 × 2 区域 = $500/月),想利用 Azure 生态(Entra ID 统一鉴权 + VNet 私有网络 + Azure Monitor 统一监控)。迁移到 Cosmos DB MongoDB API 的方案:① 改连接字符串(MongoDB connection string → Cosmos DB connection string)② 保留 Mongoose ODM 代码 100% 不变 ③ 打开 Cosmos DB 的自动索引和 5 种一致性级别(MongoDB Atlas 只有强一致+最终一致,Cosmos DB 多了会话一致和两种中间级别)④ 从 2 个 Atlas 集群降到 3 个 Cosmos DB 多区域(通过 VNet Peering 延迟 < 5ms,且不增加集群管理成本)。月费从 $500(Atlas)+ 跨区域网络费 → Cosmos DB 3 区域 2000 RU/s ≈ $360/月 + 免跨区域管理费。

企业 SaaS 多租户数据库

Cosmos DB 的自动索引 + 无 Schema 设计特别适合 SaaS 多租户场景:每个租户的数据存储在不同的 Container/Partition Key 中(如 tenant_id 作为 Partition Key),每个租户的 Schema 可以完全不同(租户 A 的 contacts 文档有 “email” 字段、租户 B 有 “wechat_id” 字段——不需要统一 Schema),Cosmos DB 自动为所有字段建索引(任何租户的任何字段都能被查询)。配合 Azure Entra ID 的 RBAC(按租户控制数据访问权限)和 Azure Monitor(按 Partition Key 查询每个租户的 RU 消耗和存储增长),在 Cosmos DB 上一个 1000 租户的 SaaS 应用的数据库月费约 $800-2,000(Provisioned 5000 RU/s + 100GB 存储)。

Cosmos DB vs DynamoDB vs Firestore:全球分布式 NoSQL 选型对比?

对比维度Azure Cosmos DBAWS DynamoDBGCP Firestore
API 模型MongoDB/Cassandra/Gremlin/SQL/Table 5 种(业界最全)键值+文档(嵌套 JSON)+ PartiQL SQL 兼容文档(Collection/Document 层级)
一致性5 种级别(强/有界过期/会话/前缀/最终)——逐请求可选强一致性/最终一致性(二选一)强一致性(单区域)
全球多主60+ 区域多主写入 + 自动同步 + 自动故障转移Global Tables 多活(33+ 区域,Last Writer Wins)多区域复制(GCP 区域数有限)
自动索引所有属性自动索引(零声明)+ 可自定义策略需声明 GSI/LSI(预定义索引)需声明复合索引
可用性 SLA99.999%(业界最高之一)99.99%99.99%(Native mode)
免费层前 1000 RU/s + 25GB 永久免费前 25GB + 25WCU+25RCU 永久免费前 50K 读/天 + 20K 写/天 + 1GB 永久免费
扩容粒度Provisioned RU/s / Serverless / Autoscale(三种)On-Demand / Provisioned + Auto Scaling(两种)Serverless 按量(一种)
查询语言MongoDB Query / Cassandra CQL / Gremlin / SQL(类 T-SQL)/ Azure TablePartiQL(类 SQL)+ DynamoDB APIFirestore SDK Query API(非通用 SQL)
中国节点(Azure 中国世纪互联——国际/中国账号隔离)(需宁夏/北京区域独立账号)不支持
价格锚点$24/月(400 RU/s)$1.25/百万写入 + $0.25/百万读取(On-Demand)前 50K 读/天免费
最适合多 API 模型兼容 + 全球多主 + 灵活一致性 + Azure/.NET 生态AWS 生态 + Serverless 优先 + 简单键值/文档移动/Web 应用 + 实时同步 + BaaS 全栈

Cosmos DB 的核心优势是”业界最灵活的云 NoSQL”——5 API × 5 一致性 × 多主写入。如果你的团队从 MongoDB/Cassandra 迁移到云上且主业务在 Azure——Cosmos DB 是自然的归宿。

Cosmos DB 常用产品组合怎么搭?

业务场景Cosmos DB 配置配套产品月费估算
游戏全球数据库3 区域 × 10000 RU/s + 会话一致性 + MongoDB APIAKS(游戏后端)+ Redis(会话缓存)+ VM(匹配服务器)$1,800-3,500
MongoDB 企业迁移单区域 4000 RU/s + MongoDB API(兼容 Mongoose 代码不变)VM(Node.js 后端)+ AKS(容器化微服务)+ VNet(内网隔离)$240-600
全球 SaaS 多租户3 区域 × 5000 RU/s + 会话一致性 + tenant_id 分区AKS(SaaS 后端)+ SQL(租户元数据)+ Entra ID(RBAC)$900-1,800
实时分析 + 操作数据库一体单区域 10000 RU/s + SQL API + Azure Synapse LinkSynapse Analytics(从 Cosmos DB 实时摄取分析)+ VM(ETL Worker)$1,000-2,500

相关资源

充值返赠 5% 起 代理优惠 · 免信用卡开通

10 分钟交付账号,7×24 中文支持

5 步开通 Azure:从零到实例启动

1

联系客服

点击右下角 WhatsApp 或 Telegram,告知 NoSQL 需求(MongoDB/Cassandra/Gremlin/SQL/Table API)和预估吞吐量

2

提交信息

提供企业名称或个人信息用于 Azure 账号注册

3

选择充值金额

$1,000 起充,支持支付宝、微信、USDT、银行转账

4

获取凭证

即刻收到 Azure 账号,立即可用

5

开始使用

登录 Azure Portal 创建 Cosmos DB 账号,选择 API 模型(MongoDB/SQL/Cassandra 等),配置一致性级别和区域,享受充值返赠 5% 起

核心特性

  • 5 种 API 模型——一份数据用 MongoDB/Cassandra/Gremlin/SQL/Table 不同方式访问
  • 5 种一致性级别——强一致性(不牺牲可用性)到最终一致性(最低延迟),逐个请求可调
  • 全球多主写入——任意区域的 Cosmos DB 都可以写入,自动复制到所有配置区域
  • 所有属性自动索引——无需声明任何索引,写入即自动建立索引(可自定义策略)
  • 99.999% 可用性 SLA(业界最高之一)+ 自动故障转移 + 多区域容灾
  • 前 1000 RU/s + 25GB 存储永久免费——开发/测试环境零成本

常见问题

通过 SevenColorYun 购买 Cosmos DB 有什么优势?
通过我们代付 Azure 账单可享充值返赠 5% 起(充 $1,000 送 $50),免信用卡开通,提供 NoSQL 数据架构咨询(MongoDB/Cassandra/SQL API 选型、Provisioned vs Serverless vs Autoscale 计费模式、多区域部署和一致性级别配置、跨区域同步延迟 SLA 优化),统一账单管理。
Cosmos DB 的 5 种一致性级别在实际中怎么选?
强一致性(Strong):线性一致性——所有区域看到完全相同的数据(读取最新的写入)——代价是延迟最高(跨区域读取需要等待同步完成)+ 可用性略降(区域故障时可能读不了)。有界过期(Bounded Staleness):保证读取的数据最多滞后 N 个版本或 T 秒——适合需要「不读到太旧的数据」但不要求严格实时的场景。会话一致性(Session):同一客户端会话内强一致(自己写的读得到),不同会话最终一致——90% 场景的最佳默认选择。一致性前缀:保证看到的数据顺序与写入顺序一致(不会看到乱序的更新)但允许短期滞后。最终一致性:最低延迟 + 最高可用性——适合日志/埋点/社交媒体 Feed 这些允许短期不一致的数据。选型口诀:交易/支付→强一致;用户自己的设置/购物车→会话一致;用户 Feed/评论→最终一致。每次请求都可以在 SDK 中传递一致性级别,同一个数据库的不同查询可以不同一致级别——这是 Cosmos DB 独有的灵活性。
Cosmos DB MongoDB API 和原生 MongoDB Atlas 有什么不同?选哪个?
Cosmos DB MongoDB API 兼容 MongoDB 5.0/6.0 的 Wire Protocol + 查询语法——现有的 MongoDB 应用(Node.js/Python/Java Driver)迁移时不需要修改代码。但 Cosmos DB 底层是自研的存储引擎(不是 MongoDB 的 WiredTiger)——部分 MongoDB 特有功能不支持(如某些 Aggregation Pipeline 阶段、GridFS、Change Streams 的完整实现)。MongoDB Atlas 的优势是 100% MongoDB 兼容 + MongoDB 官方支持 + Atlas Search/Device Sync 等 MongoDB 生态工具。Cosmos DB 的优势是 5 种一致性级别 + 60+ 区域全球多主写入 + Azure Entra ID 集成 + Azure 千级服务 VNet 集成。选 Atlas 的理由:你需要完全 MongoDB 兼容或 MongoDB 生态工具。选 Cosmos DB 的理由:你的主业务在 Azure 生态中且需要多区域多主写入 + 5 种一致性级别的灵活性。
在线咨询