次の方法で共有

Azure DocumentDB 服务限制和配额参考

本文档概述了 Azure DocumentDB 群集和作的当前硬和软限制。 了解查询执行限制、索引约束、群集配置和身份验证边界,这些边界可帮助你有效地规划和优化 Azure DocumentDB 部署。

查询和执行限制

以下限制适用于 Azure DocumentDB 群集中的查询作和命令执行。

MongoDB 执行限制

  • 最大事务生存期:30 秒。

  • 游标生存期:10 分钟。 注意:如果游标超出其生存期,则可能会发生 cursorNotFound 错误。

  • 默认查询执行限制:120 秒。 可以在相应的 MongoDB 驱动程序中,使用 maxTimeMS 为每个查询覆盖此限制。

Example

db.collection.find({ field: "value" }).maxTimeMS(5000)

最大 MongoDB 查询大小

  • MongoDB 查询的最大内存大小取决于层级。 例如,对于 M80,查询内存大小限制约为 150 MiB。

  • 在分片群集中,如果查询跨节点拉取数据,则该数据大小的限制为 1 GB。

索引限制

Azure DocumentDB 强制实施各种索引限制,以确保不同索引类型和作的最佳性能和资源利用率。

常规索引限制

  • 复合索引字段的最大数目:32。

  • _id 字段值的最大大小:2 KB。

  • 索引路径的最大大小:256B。

  • 默认最大值:64。

    • 每个集合最多可配置 300 个索引。
  • 排序在内存中完成,不会向下推送到索引。

  • 索引定义上嵌入对象/数组的最大嵌套级别:6。

  • 单个索引生成可以在同一集合上进行。

  • 不同集合上的同时索引生成数是可配置的(默认值:2)。

  • 使用 currentOp 命令可查看长时间运行的索引生成的进度。

  • 唯一索引生成在前台完成,并在集合中阻止写入。

通配符索引限制

  • 对于通配符索引,如果索引字段是一系列数组,则整个嵌入数组将视为一个值而不是遍历其内容。

地理空间索引限制

  • 不支持 BigPolygons。

  • 复合索引不支持地理空间索引。

  • $geoWithin 查询不支持带孔的多边形。

  • key 聚合阶段中,$geoNear 字段是必需的。

  • $near$nearSphere 查询运算符中和在 $geoNear 聚合阶段建议使用索引,但这不是硬性要求。

文本索引限制

  • 一个集合上只能定义一个文本索引。

  • 仅支持简单文本搜索;不支持高级搜索功能,如正则表达式搜索。

  • 不支持将 hint() 与采用 $text 表达式的查询结合使用。

  • 排序操作无法使用文本索引的顺序。

  • 不支持中文的标记化。

  • 不支持不区分大小写的标记化。

矢量搜索限制

  • 为最大大小为 2,000 个维度的矢量编制索引。

  • 索引仅适用于每个路径的一个矢量。

  • 每个矢量路径只能创建一个索引。

  • HNSWDiskANN 可用于 M30 和更高的集群层级。

群集和分片限制

Azure DocumentDB 对群集配置、物理分片和集合管理施加了特定的限制,以确保最佳性能和资源分配。

群集层

  • 最大值:每个物理分片 M200/64个虚拟核心/256 GiB RAM。

物理分片

  • 最大值为 10。

集合限制

  • 每个群集的集合数:1,000

  • 未分片集合大小:32 TiB

次要区域

  • 最大值:一个次要区域。

免费层级限制

升级到付费层级可以克服以下限制

  • 最大存储大小:32 GiB。

  • 不支持备份/还原(在 M25+ 中可用)

  • 不支持高可用性(HA)(在 M30+ 中可用)

  • 目前不支持分层可导航小世界(HNSW)矢量索引(在 M40+中可用)

  • 不支持诊断日志功能(仅在付费版本中可用)

  • 不支持Microsoft Entra ID

  • 不提供服务级别协议(要求启用 HA)

  • 免费层群集将在 60 天不活动且没有与群集建立连接后暂停。

  • 不支持从付费层帐户过渡到免费层帐户。

层级限制

M10、M20 和 M25 服务层级具有以下限制:

  • 仅支持一个物理分片(节点)。

  • 专为开发/测试用例而设计;不支持区域内高可用性 (HA)。

  • 支持的存储大小包括 32 GiB、64 GiB 和 128 GiB。

  • 一旦群集缩放到 M30 层或更高层,就无法再缩小到 M10、M20 或 M25 计算层。

复制和区域内高可用性限制

Azure DocumentDB 提供内置的复制和高可用性(HA)功能,具有特定的限制,以确保不同部署方案的数据一致性和性能。

跨区域和同一区域复制

  • 主要群集和副本群集上的以下配置相同,不能在副本群集上更改:

    • 存储和物理分片计数

    • 用户帐户

  • 副本群集上不提供以下功能:

    • 时间点还原 (PITR)

    • 区域内高可用性 (HA)

  • 复制在具有可突发计算的群集或免费层群集上不可用。

身份验证和访问控制(基于角色的访问控制)

Azure DocumentDB 强制实施身份验证和访问控制限制,以跨用户帐户和角色维护安全性和管理资源分配。

  • 每个群集最多可以创建 100 个用户/角色。

Microsoft Entra ID 身份验证

Microsoft Entra ID 身份验证功能具有以下当前限制:

本机 DocumentDB 辅助用户

本机辅助用户功能具有以下限制:

  • Updateuser 命令现在仅支持密码更新,并且无法修改其他对象字段。

  • 不支持该 Roleinfo 命令。 或者,也可使用 usersInfo

  • 不支持向特定数据库或集合分配角色,仅支持群集级别。

其他限制

Azure DocumentDB 具有更多对群集管理和功能各个方面的操作和功能特定限制。

门户 Mongo shell 使用情况

  • 门户 Mongo shell 可在 24 小时内使用 120 分钟。

文档大小和深度

  • 每个文档的最大二进制 JavaScript 对象表示法(BSON)文档大小:16 MB。

  • 不会强制实施固定的最大嵌套深度限制。

    • 深度嵌套的文档结构可能会影响查询和读取性能,增加处理开销,并减少可维护性。

批次限制

  • 支持两种批处理操作类型(写入操作和批量操作)。

    • 批处理是指对服务器的 单个请求
  • 每个批处理作的最大写入次数: 25,000 次写入

  • 超过 25,000 次写入的批处理操作将 失败

  • 批处理操作的总数量没有限制。