你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在托管 MongoDB 服务领域,了解兼容性和功能支持的格局对于保持与供应商无关至关重要。 尽管所有服务都努力实现完整的 MongoDB 兼容性,但实际约束和战略决策通常会导致选择性功能支持。 本文档旨在阐明这些方面,使用 MongoDB Atlas 作为案例研究来说明更广泛的行业实践,包括 Azure Cosmos DB for MongoDB 如何应对这些挑战。
托管 MongoDB 服务的现实
MongoDB Atlas 是否确实是 MongoDB?
尽管有看法,MongoDB Atlas 缺乏完全兼容性,MongoDB 自己的官方测试套件中有近 10% 未能通过。 不支持的功能包括:
- 管理命令: 操作(例如
setParameter
,logRotate
和shutdown
受到限制或者不可用),这会影响对数据库环境进行完全自定义和控制的能力。 - 访问控制命令:限制包括对
createUser
用户updateUser
dropUser
管理、用户管理createRole
updateRole
dropRole
、角色管理grantRolesToUser
revokeRolesFromUser
以及特权管理的支持不足,以及影响利用这些权限的应用程序。 与 Azure Cosmos DB 一样,MongoDB Atlas 要求用户利用第一方解决方案进行访问和角色管理。 - 会话和复制命令:与会话管理(例如
killAllSessions
和复制配置)replSetReconfig
replSetInitiate
相关的命令受到限制,这可能会影响作灵活性。 - 分片和用户管理:关键分片操作(如
sh.disableBalancing
和removeShard
)及用户/角色管理命令(如createUser
和dropUser
)具有一定的限制。
下层群集(如 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 的功能和兼容性的详细信息,请访问我们的 文档。