In the realm of managed MongoDB services, understanding the landscape of compatibility and feature support is crucial to remain vendor-agnostic. While it's a common perception that all services strive for full MongoDB compatibility, practical constraints and strategic decisions often lead to selective feature support. This document aims to shed light on these aspects, using MongoDB Atlas as a case study to illustrate the broader industry practice, including how Azure Cosmos DB for MongoDB approaches these challenges.
Despite perceptions, MongoDB Atlas lacks full compatibility, failing nearly 10% of MongoDB’s own official test suite. Unsupported features include:
- Administrative Commands: Actions such as
setParameter
,logRotate
, andshutdown
are either limited or unavailable, affecting the ability to customize and control the database environment fully. - Access Control Commands: Limitations include lack of support for
createUser
,updateUser
,dropUser
for user management;createRole
,updateRole
,dropRole
for role management; andgrantRolesToUser
,revokeRolesFromUser
for privilege management, impacting applications that leverage these. Just like Azure Cosmos DB, MongoDB Atlas requires users to utilize a first-party solution for access and role management. - Session and Replication Commands: Commands related to session management such as
killAllSessions
and replication configuration such asreplSetReconfig
andreplSetInitiate
are restricted, which can impact operational flexibility. - Sharding and User Management: Key sharding operations such as
sh.disableBalancing
andremoveShard
and user/role management commands such ascreateUser
,dropUser
have limitations.
Lower-tier clusters such as M0, M2, and M5 have many additional notable limitations on commands and functionalities.
These constraints underscore a critical point: managed services, including MongoDB Atlas, must balance offering MongoDB features with ensuring the stability, security, and performance of their platforms.
Azure Cosmos DB for MongoDB acknowledges these industry-wide practices and adopts a customer-centric approach to feature support and compatibility. We prioritize features that deliver the most value to our users, focusing on:
- Performance and Scalability: Offering customizable performance tiers, decoupled from storage, and global distribution to meet diverse workload requirements. Passing down the cost savings from the Open Source DocumentDB engine (which powers the service) to customers to save money.
- Security and Compliance: Providing advanced security features such Private Link and Entra ID integration to ensure data protection and compliance with regulatory standards.
- Operational Flexibility: Supporting a broad set of MongoDB features (97% of aggregation operators, 96% of query/projections operators, and 100% of update operators etc.) while also innovating with Azure-specific capabilities such as instant autoscale to enhance usability and management.
- Transparent support infrastructure: No need for separate complex and expensive support contracts from third party vendors.
- Simplified Versions Azure Cosmos DB for MongoDB uses a unified codebase for all server versions, offering version-dependent features without needing database version upgrades.
- Full Stack SLA: Providing an SLA that covers not only the database application, but also the compute and infrastructure it runs on, to give you piece of mind.
In the managed MongoDB service space, no provider can claim absolute compatibility with open-source MongoDB due to the inherent trade-offs required to offer a managed service. Azure Cosmos DB for MongoDB vCore recognizes these industry realities and chooses to focus on transparency, customer feedback, and the continuous evolution of our service. By understanding the limitations across the board, customers can better navigate their options and choose the solution that best fits their needs.
Azure Cosmos DB for MongoDB remains dedicated to providing a robust, scalable, and secure platform that meets the demands of modern applications, with a clear commitment to improving based on our customers' real-world use cases.
For detailed information on Azure Cosmos DB for MongoDB vCore's features and compatibility, please visit our documentation.