注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

オントロジークエリによるコンピュート使用量

Foundry オントロジーは、ファイルベースのデータを組織中心のオブジェクトにマッピングし、データ探索、データ分析、運用データの編集、シナリオ分析などのために高速なクエリを提供するデータバックエンドです。オントロジーは、それぞれに用途が異なるマルチモーダルなストレージバックエンドにデータを保存し、単一のリクエストで柔軟にクエリできます。Foundry オントロジーに対してクエリを実行するには、以下で説明する基本的な概念を理解する必要があります。

Palantir とエンタープライズ契約を締結している場合は、コンピュート使用量の計算に進む前に、Palantir の担当者にお問い合わせください。

基本概念:オブジェクトタイプとオブジェクトセット

最初の重要な概念は、オブジェクトタイプとそれに対応するオブジェクトセットの違いです。オブジェクトタイプは、エンティティ自体を意味的に表現したものです(オブジェクトの名前やプロパティなど)。

オブジェクトタイプには、オブジェクト自体を含むオブジェクトセットが対応しています。オブジェクトセットのサイズは、入力データセットの行数と、オントロジーアクションによって作成および削除されたオブジェクトの数に対応します。

基本概念:クエリの種類

2つ目の重要な概念は、フィルター、集計、関連検索、ライトバック操作を含むクエリの種類です。どの種類のクエリも、実行にはコンピュートが必要です。クエリの種類ごとの現在のコンピュート秒のオーバーヘッドについては、オントロジークエリのコンピュート(2026年)を参照してください。

Foundry オントロジーを使用する際、以下の Foundry アプリケーションによって、オブジェクトセットに対して各種類のクエリが実行されます。

  • Object Explorer
  • Workshop
  • Quiver
  • Slate
  • Vertex
  • Foundry Rules
  • Foundry Machinery
  • Object APIs(OPI)

これらのいずれのソースからオントロジーに対してクエリを実行しても、クエリの実行にコンピュート秒が使用されます。

オントロジークエリによる Foundry のコンピュート使用量を調査する

Foundry では、コンピュート秒はリソースを操作しているユーザーではなく、プラットフォーム内のリソースに帰属します。

オントロジークエリでは、コンピュートの帰属方法が複数あります。原則として、コンピュートはクエリの発生元のリソースに紐付けられます。ただし、コンピュートを発生させるために使用される保存済みリソースがない場合(API 経由の場合など)、コンピュートはクエリ対象のオブジェクトタイプに紐付けられます。単一のリクエストで複数のオブジェクトに対してクエリが実行される場合、コンピュートはオブジェクト間で均等に分割して帰属させられます。

以下のリソースの種類では、オントロジークエリのコンピュートは基盤となるオブジェクトではなく、リソースに帰属します。

  • Workshop アプリケーション
  • Carbon ページ
  • Quiver の分析とダッシュボード
  • Vertex アプリケーション
  • Slate アプリケーション
  • Foundry Machinery アプリケーション
  • Foundry Rules リソース
  • Foundry Automate
  • AIP Logic
  • SQL Console ワークシート
  • オントロジー SDK アプリケーション

以下のインタラクションパターンでは、コンピュートを紐付ける特定のリソースがないため、オントロジークエリのコンピュートはクエリ対象のオブジェクトタイプに直接紐付けられます。

  • Object Explorer
  • Object APIs(オントロジー SDK を含む)

オントロジークエリのコンピュート(2026年)

2026年1月1日から適用

以下のコンピュートモデルは2026年1月1日から適用され、後述のレガシーセクションで説明するレガシーモデルに置き換わります。

オントロジークエリのコンピュートは、ユーザーとエージェントによるオントロジーの使用によって発生します。コンピュート使用量を決める主要な要因を確認します。

要因1:ユーザーとエージェントの数

コンピュート秒は累積で測定されます。オントロジーに対して実行されるクエリと変換が多いほど、全体のコンピュート使用量は増加します。クエリ量は、アプリケーションの更新や対話型クエリなどのユーザーインタラクション、およびエージェントによる変換に応じて線形に増加します。

要因2:クエリの種類

ユーザーは、以下の種類のクエリを通じてオントロジーにアクセスできます。それぞれの種類には、クエリあたりのコンピュート秒の最小オーバーヘッドが設定されています。実際のコンピュート使用量は、クエリの複雑さやオブジェクトセットのサイズ、またはクエリ対象のオブジェクト数によって、それよりも多くなる場合があります。

  • 基本クエリ: オブジェクトセットをそのまま返すか、特定のプロパティで基本的な絞り込みを行って返します。
  • 関連検索クエリ: 入力されたオブジェクトセットを受け取り、そのセットの特定のプロパティに基づいて、別のオブジェクトセットに対して2次的なフィルターを実行します。
  • 集計クエリ: 入力オブジェクトセットを受け取り、セット内のすべてのオブジェクトのいずれかのプロパティに対して集計関数(sum や avg など)を実行します。
  • オントロジー SQL クエリ: 標準の Spark SQL 構文を使用し、オブジェクトストレージに対して、オブジェクトタイプ、リンク、インターフェースを直接対象とする SQL クエリを実行します。
  • 高度なクエリ: ほかの種類のクエリに該当しないものです。たとえば、オブジェクトセット全体の埋め込みに対してセマンティック検索を適用する場合です。
  • 派生プロパティクエリ: 派生プロパティは、オブジェクトのほかのプロパティやリンクの値に基づいて、クエリ時に計算されるプロパティです。これには、リンクされたオブジェクトのプロパティの集計や選択も含まれます。派生プロパティは、同じリクエスト内での絞り込み、並べ替え、集計などの後続の操作で利用可能になります。
  • アクション: 指定されたオブジェクトセット内のオブジェクトのプロパティ値を置き換えるライトバック操作です。アクションの最小オーバーヘッドは 18 コンピュート秒で、編集されるオブジェクト数に応じて増加し、最初の1個を超えて編集されるオブジェクト1個につき 1 コンピュート秒が追加で発生します。
  • オントロジーコンピュート(Phonograph)[レガシー]: Object Storage v1(OSv1)バックエンドを引き続き使用しているオブジェクトに対するクエリです。これらは Resource Management アプリケーションで「Ontology Compute (phonograph)」と表示されます。これらのクエリには、既存の OSv1 コンピュートモデルが維持されています。

以下のテーブルは、クエリの種類ごとのコンピュート秒の最小オーバーヘッドをまとめたものです。

クエリの種類コンピュート秒の最小オーバーヘッド
基本クエリ2
関連検索クエリ5
集計クエリ5
オントロジー SQL クエリ5
高度なクエリ10
派生プロパティクエリ10
アクション18
オントロジーコンピュート(Phonograph)[レガシー]16

Object Storage v1(OSv1)クエリの既存のコンピュートモデルは維持されています。OSv1 バックエンドを引き続き使用しているオブジェクトに対するクエリには、クエリあたり 16 コンピュート秒の最小オーバーヘッドが発生します。


オントロジーのオブジェクトクエリによる Foundry コンピュートの測定 [レガシー]

レガシー

以下のセクションでは、2026年1月1日より前に適用されていたレガシーのコンピュートモデルについて説明します。参照用として保持されています。現在のコンピュートモデルについては、上記のオントロジークエリのコンピュート(2026)を参照してください。

レガシーモデルでは、オントロジーへのクエリで次のようにコンピュート秒が使用されます。

  • クエリのオーバーヘッドとして、固定の最小コンピュート秒数。
  • クエリの処理に使用されたコンピュート量に応じて測定される、追加のコンピュート秒数。

Object Storage v1 によるコンピュートの測定 [レガシー]

Object Storage v1(Phonograph)は、耐久性があり、水平スケーリング可能なクラスター内の分散インデックスにデータを格納します。これらのインデックスでは、データは大規模なデータ構造内に格納され、オントロジークエリエンジンがその構造を走査します。クエリの実行時に、エンジンはインデックスを走査することで、検索中に大量のデータを処理せずに済みます。このプロセスは「プルーニング」と呼ばれます。

このエンジンを使用すると、評価するレコード数を最大で1000分の1に抑えながら、数十億件のレコードを検索できます。レコードに対する物理的な評価の1回1回を「ヒット」と呼びます。Object Storage v1 は、クエリごとのヒット数を最小限に抑えるように設計されています。

Object Storage v2 によるコンピュートの測定 [レガシー]

Object Storage v2(OSv2)は、Palantir が高速なインデックス化、関連検索、ライトバックに加え、複雑なタスクを実行するための複数のコンピュートバックエンドへの円滑な引き継ぎに最適化した、高度なインデックス形式でオブジェクトを格納します。これには、クエリの一部として完全に並列化された Spark コンピュートを組み合わせて使用することも含まれます。

Object Storage v2 も効率的なインデックス構造を使用するため、基本的なクエリには Object Storage v1 と同じヒットの原則が適用されます。ただし、クエリの一部として起動されるオンデマンドの Spark コンテナでも、コンピュート秒が使用される場合があります。

Object Storage v2 バックエンド内のオブジェクトに対するクエリでは、次のようにコンピュートが使用されます。

  • Object Storage v1 バックエンド内のオブジェクトについては、クエリごとに最小 16 コンピュート秒のオーバーヘッドが発生します。
  • Object Storage v2 バックエンド内のオブジェクトについては、クエリごとに最小 4 コンピュート秒のオーバーヘッドが発生します。Object Storage v2 の最適化された構造では、Object Storage v1 よりもオーバーヘッドが少ないため、最小コンピュート秒のオーバーヘッドも小さくなっています。
  • クエリのプルーニングプロセスを通じて計算処理が行われる場合、追加のコンピュート秒が必要になります。追加のコンピュート秒数は、インデックス内のオブジェクト数とクエリの種類に応じて増減します。
  • Object Storage v2(OSv2)でも、インデックスのプルーニングには同様に追加のコンピュート秒が必要です。ただし、OSv2 は、100,000個を超えるオブジェクトに対して関連検索を実行する場合、または1回のリクエストで10,000個を超えるオブジェクトに対してライトバック操作を実行する場合、オンデマンドの Spark クラスターによる検索もサポートします。これらの Spark クラスターの使用量は、プラットフォーム上のほかのすべての Spark ベースのアプリケーションと同じ方法で計上されます。説明については、並列化コンピュートのドキュメントを参照してください。
  • オントロジーへのライトバックを伴うアクションには、最小オーバーヘッドがあります。アクションごとに 18 コンピュート秒のオーバーヘッドが発生します。また、アクションの使用量はライトバックリクエストで編集されるオブジェクト数に応じて増加し、2個目以降は、編集されるオブジェクト1個につき追加で 1 コンピュート秒が発生します。
  • Functions on Objects 経由で実行される関数には、最小オーバーヘッドがあります。具体的には、関数の実行ごとに 4 コンピュート秒の固定オーバーヘッドが発生します。

以下のテーブルは、レガシーモデルにおけるクエリの種類ごとの最小コンピュート秒使用量をまとめたものです。

クエリの種類最小コンピュート秒
オントロジー V1 クエリ16
オントロジー V2 クエリ4
オブジェクトに対するアクション18
オブジェクトに対する関数4

オントロジークエリによる Foundry コンピュート使用量の増減要因を理解する [レガシー]

  • 非常に単純な原則として、クエリごとの固定コンピュート使用量は、クエリ数に比例して増加します。クエリの実行回数を減らすと、コンピュートの合計使用量も少なくなります。
  • 汎用的な複数オブジェクト検索など、オブジェクトセットサービスに対する複雑なクエリは、オブジェクトタイプごとに複数のサブクエリを開始します。使用するクエリ数を減らすには、検索を個別のオブジェクトタイプに限定します。
  • クエリ内のヒット数は、クエリ対象のオブジェクトセットのサイズに比例するため、小さいオブジェクトセットへのクエリは、大きいオブジェクトセットへのクエリよりもコンピュート使用量が少なくなります。
  • ほかの操作を実行する前に絞り込むと、高度にインデックス化されたバックエンド構造を活用できます。これにより、クエリ内のヒット数が減り、全体のコンピュート使用量が削減されます。これは集計や関連検索で特に重要です。絞り込んだオブジェクトセットの処理では、オブジェクトセット全体の処理よりも必要なコンピュートが少なくなるためです。

関連リソース

コンピュート使用量を最小限に抑える、効率的な関数の作成と Automate の設定に関するベストプラクティスについては、以下を参照してください。