将 Azure DocumentDB 与 MongoDB Atlas 进行比较

Azure DocumentDB 是一个完全托管的企业级 MongoDB 兼容数据库和矢量数据库,用于新式应用开发,包括 AI 应用程序。 由于其可预测的低成本、开源项目和 99.03% MongoDB 兼容性,因此非常适合在 Azure 上运行的任何 MongoDB 应用程序。

平台和兼容性

Azure DocumentDB MongoDB Atlas 注释
与 MongoDB 工具和驱动程序兼容 ✅ 是 ✅ 是
开源 ✅ 是 ❌ 否 自 2018 年以来,MongoDB 不再开放源代码。 DocumentDB,支持 Azure DocumentDB 的数据库引擎是开源的。
MongoDB 线路协议支持 ✅ 是 ✅ 是 Azure DocumentDB 支持最新的 MongoDB 线路协议,包括 v8、v7、v6 和 v5。 MongoDB Atlas 仅支持 v8 和 v7 版本。 MongoDB Atlas 不支持旧版本,如 v5 和 v6。
云提供商支持 ✅ 是 ✅ 是 Azure DocumentDB 仅在 Azure 上受支持。 MongoDB 线路协议兼容性使你能够对应用程序的其他层保持与供应商无关。
本地部署和混合部署中支持的数据库 ❌ 否 ✅ 是 Azure DocumentDB 是云原生服务。

可用性和性能

Azure DocumentDB MongoDB Atlas 注释
多区域分布 ✅ 是 ✅ 是
高性能存储 ✅ 是 ✅ 是 Azure DocumentDB 包括 高级 SSD v2 ,无需额外付费。 MongoDB Atlas 为高性能存储收取更多费用。
99.995% 可用性 SLA ✅ 是 ✅ 是 Azure DocumentDB 和 MongoDB Atlas 提供 99.995% 可用性服务级别协议(SLA)。
SLA 涵盖云平台 ✅ 是 ❌ 否 Azure DocumentDB 的 SLA 涵盖完整堆栈;数据库、基础结构、网络和基础 Azure 云平台的其余部分。 MongoDB Atlas 的 SLA 不包括基础云平台。 有关详细信息,请参阅 MongoDB Atlas SLA。
即时和自动缩放 ✅ 是 ❌ 否 Azure DocumentDB 自动缩放层会自动且即时缩放,性能效果为零。 MongoDB Atlas 可能需要更多时间来扩展或缩减。
多区域写入 ✅ 是 ✅ 是 在采用读写模式的多个区域的 Azure DocumentDB 中,文档更新可能发生在任何区域中。 在 MongoDB Atlas 多区域区域中,可以为每个分片配置不同的写入区域。 单个分片中的数据在单个区域中可写。
无限缩放 ✅ 是 ✅ 是 Azure DocumentDB 和 MongoDB Atlas 部署支持通过分片进行缩放。
吞吐量和存储的独立扩展 ✅ 是 ❌ 否
每个节点的最大存储量为 TB ✅ 是 ✅ 是 Azure DocumentDB 支持每个节点最多 64 TB 的存储。 MongoDB Atlas 最多支持 4 TB。 存储和计算的缩放在 Azure DocumentDB 中是独立进行的。 在 MongoDB Atlas 中,它们的扩展受限于锁定的范围内,这可能会导致资源过度分配。

开发和部署选项

Azure DocumentDB MongoDB Atlas 注释
开发/测试专用群集 ✅ 是 ❌ 否 Azure DocumentDB 中未配置为高可用性的群集支持开发和测试工作负荷,从而节省大量成本。 必须始终配置 MongoDB Atlas 群集以实现高可用性,从而产生不必要的计算成本。
实例配置的选择 ❌ 否 ✅ 是
免费层 ✅ 是 ✅ 是 Azure DocumentDb 永久提供 32 GB 存储的免费层。 MongoDB Atlas 仅支持具有 512 MB 存储的免费层。
实时迁移 ✅ 是 ✅ 是
暂停和恢复群集 ❌ 否 ✅ 是
预留实例 ✅ 是 ❌ 否 Azure DocumentDB 允许一年承诺的成本节省高达 40%,三年承诺最多可节省 60%。
透明总拥有成本(TCO) ✅ 是 ❌ 否 预配时显示的 Azure DocumentDB 定价是最终成本。 MongoDB Atlas 对备份、数据传输/网络、支持和许可产生额外的费用。
副本集配置 ✅ 是 ✅ 是
托管分片支持 ✅ 是 ✅ 是 Azure 完全管理和支持 Azure DocumentDB 分片。 MongoDB Atlas 支持多种分片方法,以适应各种用例。 可以在不影响应用程序的情况下更改分片策略。

数据特性和功能

Azure DocumentDB MongoDB Atlas 注释
集成的文本搜索、地理空间处理 ✅ 是 ✅ 是
支持 MongoDB 的多文档 ACID 事务 ✅ 是 ✅ 是
BSON (二进制 JSON) 数据类型支持 ✅ 是 ✅ 是
支持 MongoDB 聚合管道 ✅ 是 ✅ 是 Azure DocumentDB 支持 MongoDB 线路协议 v5、v6 和 v7 版本中的聚合管道。
最大文档大小为 16 MB ✅ 是 ✅ 是
无限嵌套深度 ✅ 是 ❌ 否 Azure DocumentDB 没有固定的嵌套上限。 MongoDB Atlas 支持最多嵌套 100 个级别。
用于数据管理控件的 JSON 架构 ❌ 否 ✅ 是
将数据与连接和联合结合用于分析的查询 ✅ 是 ✅ 是
跨集合和分区的多文档 ACID 事务 ✅ 是 ✅ 是
集成文本搜索 ✅ 是 ✅ 是
高级文本搜索 ✅ 是 ✅ 是 高级文本搜索内置于 Azure DocumentDB 中,无需额外的成本,不需要提取、转换、加载(ETL)解决方案。 MongoDB Atlas 在使用高级文本搜索时需要 Atlas Search,并需额外支付费用。*

集成和工具

Azure DocumentDB MongoDB Atlas 注释
Azure 集成 ✅ 是 ✅ 是 Azure DocumentDB 包含多个与其他 Azure 服务的原生第一方集成。 MongoDB Atlas 与本机 Azure 服务有一些集成。
数据资源管理器 ❌ 否 ✅ 是 MongoDB Atlas 使用本机 MongoDB 工具(如 Compass 和 Atlas 数据资源管理器),同时包括对 Robo3T 等工具的支持。
基于 SQL 的连接 ❌ 否 ✅ 是
没有外部 BI 工具的本机数据可视化 ✅ 是 ✅ 是 Azure DocumentDB 支持 Power BI。 MongoDB Atlas 支持 Atlas 图表。
性能建议 ✅ 是 ✅ 是 Azure DocumentDB 用户可以使用索引顾问为常见查询提供性能建议。 Azure DocumentDB 还使用原生的 Microsoft 性能分析工具。
具有移动设备同步的可嵌入数据库 ✅ 是 ❌ 否 *此功能在 Azure DocumentDB 的封闭预览版中提供。 MongoDB Atlas 中弃用此功能。 由于需求不足,此功能未在 Azure DocumentDB 中实现。

安全性和合规性

Azure DocumentDB MongoDB Atlas 注释
细化的基于角色的访问权限控制 ✅ 是 ✅ 是 Azure DocumentDB 支持与 Microsoft Entra ID 的原生无缝集成。 MongoDB Atlas 支持手动与 Microsoft Entra ID 集成。
Microsoft管理的安全性和合规性状况 ✅ 是 ❌ 否 在 Azure DocumentDB 中,Microsoft负责合规性和安全状况。 在 MongoDB Atlas 中,MongoDB 管理合规性和安全性,而不是Microsoft。
传输过程中的数据加密 ✅ 是 ✅ 是
静态数据加密 ✅ 是 ✅ 是
客户端字段级别加密 ✅ 是 ✅ 是
轻型目录访问协议 (LDAP) 集成 ✅ 是 ✅ 是
数据库级审核 ✅ 是 ✅ 是

备份和支持

Azure DocumentDB MongoDB Atlas 注释
专家支持 ✅ 是 ✅ 是 Azure 为 Azure Cosmos DB 提供 Microsoft 提供的 24x7 支持。 Azure 支持合同涵盖所有 Azure 产品,包括 Azure Cosmos DB,使你能够与一个支持团队协作,而无需额外的支持成本。 MongoDB Atlas 提供了 MongoDB 提供的 24x7 支持,并提供各种 SLA 选项。
连续备份与按需还原 ✅ 是 ✅ 是