本文介绍 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" 将在下一个身份验证请求上返回。 |