兼容性和功能支持

适用对象: MongoDB vCore

Azure Cosmos DB for MongoDB vCore 实现了 MongoDB 线路协议,支持几乎所有没有应用程序更改的 MongoDB 工作负载,从而在本机 Azure 服务中提供更好的 TCO、高性能和下一代 AI 功能。

下表列出了数据库不支持/限制的命令。 作为平台即服务 (PaaS),Azure Cosmos DB 对这些命令的功能进行子化或限制,以确保群集稳定性、安全性和性能,使其不必要。

聚合管道阶段和聚合器

命令原因
$planCacheStats不适用,因为查询计划缓存由服务自动管理。
$accumulator这些命令要求在数据库服务器上托管 JavaScript 引擎,使用户能够运行任意命令。 这可能会导致重大安全风险,包括注入攻击或恶意代码执行的可能性。 由于客户存在相关的安全风险和需求不足,因此目前不支持这些命令。
$function
$where
$searchMeta由于需求不足,目前不是优先级。
$listSearchIndexes
$listSampledQueries
$shardedDataDistribution

数据库命令

命令类型原因
查询计划缓存命令已过时,因为查询计划缓存由服务自动管理。
用户/角色管理命令作为本机 Azure 服务,用户和角色管理跨服务集成到 Azure 生态系统中,无需从社区版本获取这些数据库命令。
复制命令已过时,作为平台即服务 (PaaS) 复制完全由服务管理。
分片命令(除了:getShardMap、balancerStart、balancerStatus、balancerStop)我们为你管理分片,以便你可以专注于更关键的任务。 但是,你仍可以控制添加新分片、重新均衡分片以及在需要时检索分片映射。
会话命令($killAllSessionsByPattern,$killSessions)支持大多数会话命令,但由于需求低和固有的安全风险,其中一些命令已被排除。 这些命令可能允许未经授权的用户终止活动会话,造成服务中断的风险。 此外,它们可能会被利用以特定用户或使用模式为目标,这可能会影响正常操作。 如果没有适当的安全措施,这些命令还可以通过同时终止多个会话来创建漏洞,从而增加拒绝服务 (DoS) 攻击的可能性。
管理命令作为 PaaS 服务,Azure Cosmos DB 处理数据库管理,因此不需要这些命令。
诊断命令Azure Cosmos DB 与 Azure Log Analytics 无缝集成,提供跨 Azure 服务的统一体验。 这样就可以深入分析服务器日志,从而深入了解数据库的性能和运行状况。 借助 Azure 内置工具,可以获得功能强大的可缩放诊断解决方案,无需额外配置或第三方工具。
审核命令
监视命令Azure Cosmos DB 与 Azure Monitor 完全集成,因此可以轻松跟踪服务器利用率指标,例如 CPU、内存、存储、IOPS 等。这种跨 Azure 服务的无缝集成可确保可缩放且统一的监视解决方案,从而实时洞察系统的性能,而无需外部监视工具。

功能

功能原因
时序集合由于需求疲软,目前非优先级,未来会添加支持。
封顶集合
群集集合

后续步骤