次の方法で共有


Azure Cosmos DB for Apache Gremlin 実行プロファイル リファレンス

Important

99.999% 可用性サービス レベル アグリーメント (SLA)、インスタント 自動スケール、および複数のリージョン間の自動フェールオーバーを使用した 大規模 なシナリオ向けのデータベース ソリューションをお探しですか? Azure Cosmos DB for NoSQL について考えてみましょう。

オンライン分析処理 (OLAP) グラフを実装するか、既存の Apache Gremlin アプリケーションを移行しますか? Microsoft Fabric で Graph を検討してください。

この記事では、Azure Cosmos DB for Apache Gremlin の実行プロファイル機能のリファレンスを提供します。 executionProfile()関数によって返される応答の構造とプロパティについて説明します。

[応答]

executionProfile()関数呼び出しの応答により、次の構造を持つ JSON オブジェクトの階層が生成されます。

Gremlin 操作

このオブジェクトは、実行された Gremlin 操作全体を表します。 このオブジェクトの名前は gremlin です。 このオブジェクトには、次のプロパティが含まれています。

Description
gremlin 実行された明示的な Gremlin ステートメント。
totalTime ステップの実行が発生した時間 (ミリ秒単位)。
metrics クエリを実行するために実行された各 Cosmos DB ランタイム演算子を含む配列。 このリストは、実行順に並べ替えられます。

Azure Cosmos DB for Apache Gremlin ランタイム演算子

この一覧は、Gremlin 操作全体の各コンポーネントを表します。 リストには metrcis という名前が付けられています。 このリストは、実行順に並べ替えられます。 各オブジェクトには、次のプロパティが含まれています。

Description
name 演算子の名前。 このプロパティは、評価および実行されたステップの種類です。
time 特定の演算子にかかった時間 (ミリ秒単位)。
annotations 実行された演算子に固有の追加情報が含まれます。
annotations.percentTime 特定の演算子の実行にかかった合計時間の割合。
counts この演算子によってストレージ レイヤーから返されたオブジェクトの数。 このカウントは、内の counts.resultCount スカラー値に含まれています。
storeOps 1 つまたは複数のパーティションにまたがるストレージ操作を表します。
storeOps.fanoutFactor この特定のストレージ操作がアクセスしたパーティションの数を表します。
storeOps.count このストレージ操作で返された結果の数を表します。
storeOps.size 特定のストレージ操作の結果のサイズ (バイト単位) を表します。

応答の例

JSON 形式の応答の例を次に示します。

[
  {
    "gremlin": "g.V().hasLabel('tweet').out().executionProfile()",
    "totalTime": 42,
    "metrics": [
      {
        "name": "GetVertices",
        "time": 31,
        "annotations": { "percentTime": 73.81 },
        "counts": { "resultCount": 30 },
        "storeOps": [ { "fanoutFactor": 1, "count": 13, "size": 6819, "time": 1.02 } ]
      },
      {
        "name": "GetEdges",
        "time": 6,
        "annotations": { "percentTime": 14.29 },
        "counts": { "resultCount": 18 },
        "storeOps": [ { "fanoutFactor": 1, "count": 20, "size": 7950, "time": 1.98 } ]
      },
      {
        "name": "GetNeighborVertices",
        "time": 5,
        "annotations": { "percentTime": 11.9 },
        "counts": { "resultCount": 20 },
        "storeOps": [ { "fanoutFactor": 1, "count": 4, "size": 1070, "time": 1.19 } ]
      },
      {
        "name": "ProjectOperator",
        "time": 0,
        "annotations": { "percentTime": 0 },
        "counts": { "resultCount": 20 }
      }
    ]
  }
]

応答スキーマ

応答は、次の JSON スキーマにも一致します。

[
  {
    "type": "object",
    "properties": {
      "gremlin": { "type": "string" },
      "totalTime": { "type": "number" },
      "metrics": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": { "type": "string" },
            "time": { "type": "number" },
            "annotations": {
              "type": "object",
              "properties": {
                "percentTime": { "type": "number" }
              },
              "additionalProperties": true
            },
            "counts": {
              "type": "object",
              "properties": {
                "resultCount": { "type": "number" }
              },
              "additionalProperties": true
            },
            "storeOps": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "fanoutFactor": { "type": "number" },
                  "count": { "type": "number" },
                  "size": { "type": "number" },
                  "time": { "type": "number" }
                },
                "additionalProperties": true
              }
            }
          },
          "additionalProperties": true
        }
      }
    },
    "required": ["gremlin", "totalTime", "metrics"],
    "additionalProperties": true
  }
]

オペレーター

Description
GetVertices この手順では、永続化レイヤーからオブジェクトの述語セットを取得します。
GetEdges この手順では、頂点のセットに近いエッジを取得します。 この手順では、1 つまたは複数のストレージ操作が発生する可能性があります。
GetNeighborVertices この手順では、一連のエッジに接続されている頂点を取得します。 エッジには、ソース頂点とターゲット頂点の両方のパーティション キーと一意の識別子が含まれます。
Coalesce この手順では、 coalesce() Gremlin ステップが実行されるたびに、2 つの操作の評価が考慮されます。
CartesianProductOperator この手順では、2 つのデータセット間のデカルト積を計算します。 述語 to() または from() が使用されるたびに実行されます。
ConstantSourceOperator この手順では、式を計算して、結果として定数値を生成します。
ProjectOperator この手順では、前の操作の結果を使用して応答を準備し、シリアル化します。
ProjectAggregation この手順では、集計操作の応答を準備してシリアル化します。