将 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 包括 Premium 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 部署支持通过分片进行缩放。
吞吐量和存储的独立扩展 ✅ 是 ❌ 否
每个节点的最大存储量为 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 Data Explorer),同时也支持像 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 选项。
连续备份与按需还原 ✅ 是 ✅ 是