你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

了解托管 MongoDB 服务中的 MongoDB 兼容性

在托管 MongoDB 服务领域,了解兼容性和功能支持的格局对于保持与供应商无关至关重要。 尽管所有服务都努力实现完整的 MongoDB 兼容性,但实际约束和战略决策通常会导致选择性功能支持。 本文档旨在阐明这些方面,使用 MongoDB Atlas 作为案例研究来说明更广泛的行业实践,包括 Azure Cosmos DB for MongoDB 如何应对这些挑战。

托管 MongoDB 服务的现实

MongoDB Atlas 是否确实是 MongoDB?

尽管有看法,MongoDB Atlas 缺乏完全兼容性,MongoDB 自己的官方测试套件中有近 10% 未能通过。 不支持的功能包括:

  • 管理命令: 操作(例如 setParameterlogRotateshutdown 受到限制或者不可用),这会影响对数据库环境进行完全自定义和控制的能力。
  • 访问控制命令:限制包括对createUser用户updateUserdropUser管理、用户管理 createRoleupdateRoledropRole、角色管理grantRolesToUserrevokeRolesFromUser以及特权管理的支持不足,以及影响利用这些权限的应用程序。 与 Azure Cosmos DB 一样,MongoDB Atlas 要求用户利用第一方解决方案进行访问和角色管理。
  • 会话和复制命令:与会话管理(例如killAllSessions和复制配置)replSetReconfigreplSetInitiate相关的命令受到限制,这可能会影响作灵活性。
  • 分片和用户管理:关键分片操作(如sh.disableBalancingremoveShard)及用户/角色管理命令(如createUserdropUser)具有一定的限制。

下层群集(如 M0、M2 和 M5)对命令和功能具有许多其他显著限制。

这些约束突显出一个关键点:托管服务(包括 MongoDB Atlas)必须平衡提供 MongoDB 功能,以确保其平台的稳定性、安全性和性能。

Azure Cosmos DB for MongoDB vCore 方法

Azure Cosmos DB for MongoDB 承认这些行业范围内的做法,并采用以客户为中心的 方法来提供支持和兼容性。 我们优先考虑为用户提供最大价值的功能,重点是:

  • AI-First:我们的 AI 优先方法体现在由 DiskANN 提供支持的矢量搜索功能中,为生成 AI 应用程序提供了坚实的基础,无需复杂且昂贵的集成。
  • 性能和可伸缩性: 提供可自定义的性能层、与存储和全局分发分离,以满足不同的工作负荷要求。 将开源 DocumentDB 引擎 (为服务提供支持)的成本节省传递给客户,以节省资金。
  • 安全性和符合性: 提供高级安全功能,例如专用链接和 Entra ID 集成,以确保数据保护和符合法规标准。
  • 操作灵活性: 支持多种 MongoDB 功能(例如 97 个聚合运算符%、96 个查询/投影运算符% 以及 100 个更新运算符% 等),同时利用特定于 Azure 的功能(如 即时自动缩放)来增强可用性和管理。
  • 透明支持基础结构: 无需与第三方供应商分开复杂且昂贵的支持合同。
  • 简化的版本 Azure Cosmos DB for MongoDB 为所有服务器版本使用统一代码库,提供依赖于版本的功能,而无需数据库版本升级。
  • 完整堆栈 SLA: 提供一个 SLA,不仅涵盖数据库应用程序,还包括运行它的计算和基础设施,以给你安心保障。

结论

在托管的 MongoDB 服务空间中,由于提供托管服务所需的固有权衡,提供程序无法声明与开源 MongoDB 的绝对兼容性。 Azure Cosmos DB for MongoDB vCore 可识别这些行业现实,并选择专注于透明度、客户反馈和服务的持续演变。 通过了解整个限制,客户可以更好地导航其选项,并选择最适合其需求的解决方案。

Azure Cosmos DB for MongoDB 仍然致力于提供可靠、可缩放且安全的平台,以满足新式应用程序的需求,并明确承诺根据客户的实际用例进行改进。

有关 Azure Cosmos DB for MongoDB vCore 的功能和兼容性的详细信息,请访问我们的 文档

后续步骤