兼容性和功能支持
适用对象: 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 服务的无缝集成可确保可缩放且统一的监视解决方案,从而实时洞察系统的性能,而无需外部监视工具。 |
功能
功能 | 原因 |
时序集合 | 由于需求疲软,目前非优先级,未来会添加支持。 |
封顶集合 | |
群集集合 |