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 DB | AWS DynamoDB | GCP Firestore |
|---|---|---|---|
| API 模型 | MongoDB/Cassandra/Gremlin/SQL/Table 5 种(业界最全) | 键值+文档(嵌套 JSON)+ PartiQL SQL 兼容 | 文档(Collection/Document 层级) |
| 一致性 | 5 种级别(强/有界过期/会话/前缀/最终)——逐请求可选 | 强一致性/最终一致性(二选一) | 强一致性(单区域) |
| 全球多主 | 60+ 区域多主写入 + 自动同步 + 自动故障转移 | Global Tables 多活(33+ 区域,Last Writer Wins) | 多区域复制(GCP 区域数有限) |
| 自动索引 | 所有属性自动索引(零声明)+ 可自定义策略 | 需声明 GSI/LSI(预定义索引) | 需声明复合索引 |
| 可用性 SLA | 99.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 Table | PartiQL(类 SQL)+ DynamoDB API | Firestore 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 API | AKS(游戏后端)+ 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 Link | Synapse Analytics(从 Cosmos DB 实时摄取分析)+ VM(ETL Worker) | $1,000-2,500 |
相关资源
- Azure Cosmos DB 官方文档 — 5 种 API 模型配置、一致性级别选型、RU/s 容量规划
- Azure 企业账号避坑指南:EA/MCA 与预留实例组合策略
- Azure SQL 数据库 — 关系型 SQL 数据库 vs NoSQL 选型对比
- Azure VM 虚拟机 — Cosmos DB 后端业务的计算底座
- AWS DynamoDB NoSQL 数据库 — AWS Serverless NoSQL 竞品对比
5 步开通 Azure:从零到实例启动
联系客服
点击右下角 WhatsApp 或 Telegram,告知 NoSQL 需求(MongoDB/Cassandra/Gremlin/SQL/Table API)和预估吞吐量
提交信息
提供企业名称或个人信息用于 Azure 账号注册
选择充值金额
$1,000 起充,支持支付宝、微信、USDT、银行转账
获取凭证
即刻收到 Azure 账号,立即可用
开始使用
登录 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 存储永久免费——开发/测试环境零成本