将 Azure Cosmos DB for MongoDB 与 MongoDB Atlas 进行比较

Azure Cosmos DB for MongoDB 是完全托管的 MongoDB 兼容的数据库服务,可与 Azure 生态系统无缝集成,同时保持与现有 MongoDB 工具和应用程序的兼容性。 本文将 Azure Cosmos DB for MongoDB 与 MongoDB Atlas 进行比较,以帮助了解关键差异,并根据需要选择合适的解决方案。

平台和兼容性

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

可用性和性能

Azure Cosmos DB for MongoDB MongoDB Atlas 注释
多区域分布 ✅ 是 ✅ 是 Azure Cosmos DB for MongoDB 在多个 Azure 区域内具有多区域分布特性,实现任意数量区域间的自动快速数据复制。
99.999% 可用性 SLA ✅ 是 ❌ 否 Azure Cosmos DB 提供 99.999% 高可用性 SLA。 有关详细信息,请参阅 高可用性。 MongoDB Atlas 仅提供 99.995% 可用性服务级别协议(SLA)。
SLA 涵盖云平台 ✅ 是 ❌ 否 有关详细信息,请参阅 MongoDB Atlas SLA。
即时和自动缩放 ✅ 是 ❌ 否 Azure Cosmos DB 部署自动且即时扩展,不会对性能产生任何影响。 有关详细信息,请参阅 自动销售吞吐量。 用户管理 MongoDB Atlas 专用实例,这些实例仅在一天内分析工作负荷后自动缩放。
多区域写入 ✅ 是 ✅ 是 在包含多区域写入的 Azure Cosmos DB for MongoDB 中,文档更新可在任何区域中进行。 在 MongoDB Atlas 多区域区域中,可以为每个分片配置不同的写入区域。 单个分片中的数据在单个区域中可写。
无限缩放 ✅ 是 ✅ 是 用于 MongoDB 的 Azure Cosmos DB 每秒可将 RU 扩展到超过 10 亿个请求,且存储不受限制,完全托管即服务。MongoDB Atlas 部署支持通过分片进行缩放。
吞吐量和存储的独立扩展 ❌ 否 ❌ 否

开发和部署选项

Azure Cosmos DB for MongoDB MongoDB Atlas 注释
开发/测试专用群集 ❌ 否 ❌ 否
实例配置的选择 ❌ 否 ✅ 是
免费层 ✅ 是 ✅ 是 Azure Cosmos DB for MongoDB 具有 1,000 个请求单位(RU)和 25 GB 存储的永久免费层。 免费层还包括限制,以防止超过这些阈值。 MongoDB Atlas 仅支持具有 512 MB 存储的免费层。
实时迁移 ✅ 是 ✅ 是
暂停和恢复群集 ❌ 否 ✅ 是
副本集配置 ❌ 否 ✅ 是
分片支持 ✅ 是 ✅ 是 Azure Cosmos DB for MongoDB 支持自动服务器端分片。 Azure Cosmos DB for MongoDB 自动管理分片创建、放置和均衡。 MongoDB Atlas 支持多种分片方法,以适应各种用例。 在 MongoDB Atlas 中,可以在不影响应用程序的情况下更改分片策略。

数据特性和功能

Azure Cosmos DB for MongoDB MongoDB Atlas 注释
AI 应用程序的矢量搜索 ❌ 否 ✅ 是
集成的文本搜索、地理空间处理 ✅ 是 ✅ 是
支持 MongoDB 的多文档 ACID 事务 ❌ 否 ✅ 是
BSON (二进制 JSON) 数据类型支持 ✅ 是 ✅ 是
支持 MongoDB 聚合管道 ✅ 是 ✅ 是 Azure Cosmos DB for MongoDB 支持 v5、v6 和 v7 版本的 MongoDB 线路协议中的聚合管道。
最大文档大小为 16 MB ✅ 是 ✅ 是
用于数据管理控件的 JSON 架构 ❌ 否 ✅ 是
云对象存储中数据的集成查询 ✅ 是 ✅ 是 Azure Cosmos DB for MongoDB 通过 Azure Synapse Link 支持此功能。
将数据与连接和联合结合用于分析的查询 ✅ 是 ✅ 是
跨集合和分区的多文档 ACID 事务 ✅ 是 ✅ 是
集成文本搜索 ✅ 是 ✅ 是

集成和工具

Azure Cosmos DB for MongoDB MongoDB Atlas 注释
Azure 集成 ✅ 是 ✅ 是 Azure Cosmos DB for MongoDB 包含多个原生第一方集成,与其他 Azure 服务紧密结合。 有关详细信息,请参阅 与 Azure 服务集成 MongoDB Atlas 已与原生 Azure 服务实现了一些集成。
数据资源管理器 ✅ 是 ✅ 是 Azure Cosmos DB for MongoDB 使用 Azure 原生工具和 Azure Cosmos DB 资源管理器。 Azure Cosmos DB for MongoDB 还包括对 Robo3T 等工具的支持。 MongoDB Atlas 使用本机 MongoDB 工具(如 Compass 和 Atlas 数据资源管理器),同时包括对 Robo3T 等工具的支持。
基于 SQL 的连接 ✅ 是 ✅ 是
没有外部 BI 工具的本机数据可视化 ✅ 是 ✅ 是 Azure Cosmos DB for MongoDB 支持 Power BI。 MongoDB Atlas 支持 Atlas 图表。
性能建议 ✅ 是 ✅ 是 Azure Cosmos DB for MongoDB 使用本机Microsoft性能分析工具。
具有移动设备同步的可嵌入数据库 ❌ 否 ✅ 是 由于用户需求低,Azure Cosmos DB for MongoDB 不支持此功能。

安全性和合规性

Azure Cosmos DB for MongoDB MongoDB Atlas 注释
细化的基于角色的访问权限控制 ✅ 是 ✅ 是
传输过程中的数据加密 ✅ 是 ✅ 是
静态数据加密 ✅ 是 ✅ 是
客户端字段级别加密 ✅ 是 ✅ 是
轻型目录访问协议 (LDAP) 集成 ✅ 是 ✅ 是
数据库级审核 ✅ 是 ✅ 是

备份和支持

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