用于 Gremlin 的 Azure Cosmos DB 限制

本文介绍 Azure Cosmos DB for Gremlin 引擎的限制,并介绍了它们如何影响客户遍历。

Azure Cosmos DB for Gremlin 基于 Azure Cosmos DB 基础结构构建。 因此, Azure Cosmos DB 服务限制 中解释的所有限制仍然适用。

限制

达到 Gremlin 限制后,将取消遍历,其中 x-ms-status-code 为 429,指示限制错误。 有关详细信息 ,请参阅 Gremlin 服务器响应标头

资源 默认限制 Explanation
脚本长度 64 KB 每个请求 Gremlin 遍历脚本的最大长度。
运算符深度 400 遍历中的唯一步骤总数。 例如, g.V().out() 运算符计数为 2:V() 和 out(), g.V('label').repeat(out()).times(100) 运算符深度为 3:V()、repeat()和 out(),因为 .times(100) 是运算符的参数 .repeat()
并行度 32 在对存储层的单个请求中查询的最大存储分区数。 具有数百个分区的图形将受到此限制的影响。
重复限制 32 运算符可以执行的迭代 .repeat() 的最大次数。 在大多数情况下,每个步骤迭代 .repeat() 都会运行广度优先遍历,这意味着任何遍历限制在顶点之间最多 32 个跃点。
遍历超时 30 秒 遍历将在超过此时间时取消。 Azure Cosmos DB Graph 是一个 OLTP 数据库,绝大多数遍历在毫秒内完成。 若要在 Azure Cosmos DB Graph 上运行 OLAP 查询,请使用 Apache Spark图形数据帧Azure Cosmos DB Spark 连接器
空闲连接超时 1 小时 Gremlin 服务将保持空闲 Websocket 连接打开的时间。 TCP 保持连接数据包或 HTTP 保持连接请求不会超出此限制延长连接生存期。 Azure Cosmos DB Graph 引擎将 Websocket 连接视为空闲(如果没有正在运行的活动 Gremlin 请求)。
每小时资源令牌 100 Gremlin 客户端用来连接到区域中 Gremlin 帐户的唯一资源令牌数。 当应用程序超过每小时唯一令牌限制时, "Exceeded allowed resource token limit of 100 that can be used concurrently" 将在下一个身份验证请求上返回。