Azure Cosmos DB for Gremlin の制限
適用対象: Gremlin
この記事では Azure Cosmos DB for Gremlin エンジンの制限事項および、それらが顧客トラバーサルに与える影響について説明します。
Azure Cosmos DB for Gremlin は、Azure Cosmos DB インフラストラクチャの上に構築されます。 このため、Azure Cosmos DB サービスの制限に関する記事で説明されているすべての制限が当てはまります。
制限
Gremlin の制限に達すると、調整エラーを示す x-ms-status-code 429 でトラバーサルが取り消されます。 詳細については、Gremlin サーバーの応答ヘッダーに関する記事を参照してください。
リソース | 既定の制限 | 説明 |
---|---|---|
スクリプトの長さ | 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 | ストレージ レイヤーに対する 1 つの要求でクエリの対象となるストレージ パーティションの最大数。 数百個ものパーティションを含むグラフは、この制限の影響を受けます。 |
繰り返しの制限 | 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 エンジンは、アクティブな Gremlin 要求が Websocket 接続で実行されていない場合、その接続をアイドル状態であると見なします。 |
1 時間あたりのリソース トークン | 100 | リージョン内の Gremlin アカウントに接続するために、Gremlin クライアントによって使用される一意のリソース トークンの数。 アプリケーションが 1 時間あたりの一意トークンの制限を超えた場合、次回の認証要求で "Exceeded allowed resource token limit of 100 that can be used concurrently" が返されます。 |