注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
多くの Foundry ワークフローでは、最新のデータが不可欠です。オントロジーのユーザーは、入力データソースのデータとユーザーによる編集を組み合わせることで、オントロジーのインデックス化済みデータから、各オブジェクトの最新の状態を含む実体化を作成できます。
実体化の主なユースケースは、次の2つです。
Foundry で一括ダウンロードを行う場合は、実体化データセットを作成し、データエクスポートや Foundry トランスフォームによるエクスポートなど、ほかの Foundry データセットで使用する既存のダウンロードワークフローを通じてダウンロードを開始することを推奨します。
Ontology Manager のデータソースタブで編集の設定を切り替え、実体化タブに移動します。実体化タブでは、入力データソースの種類に応じたさまざまな設定で、実体化されたオブジェクトデータセットまたはオブジェクトの制限付きビューを作成できます。実体化は自動的に更新され、データセットプレビューから手動でビルドすることはできません。

Phonograph とも呼ばれる Object Storage v1(OSv1)では、ライトバックデータセットが実体化データセットに相当します。OSv1 では、オブジェクトタイプ、または結合テーブルを持つ多対多のリンクタイプでユーザー編集を有効にするために、ライトバックデータセットが必要です。
Object Storage v2(OSv2)では、ユーザー編集を有効にするために実体化データセットは必要ありません。代わりに、Ontology Manager のデータソースタブで編集設定を切り替えることで、オブジェクトタイプのユーザー編集を有効にできます。このため、OSv2 では実体化は任意となり、前述の2つの主なユースケースで必要な場合にのみ実体化を作成すればよくなります。また、OSv2 では、オブジェクトタイプのプロパティの一部だけを実体化したい場合に、複数の実体化データセットを作成できます。
OSv1 のライトバックデータセットと OSv2 の実体化データセットのその他の動作の違いを、以下で説明します。
OSv1(Phonograph)のライトバックデータセットと OSv2 の実体化データセットでは、ビルドスケジュールの扱いが異なります。


ライトバックデータセットと実体化データセットでは、保持の仕組みが異なります。
OSv1 では、ライトバックデータセットは、プラットフォーム内で指定できる特定の保持ポリシーを適用できるという点で、通常のデータセットと同様に動作します。このため、ライトバックデータセットが定期的にビルドされていれば、オブジェクトタイプの状態の過去のスナップショットを確認できます。
OSv2 では、実体化データセットにカスタマイズできない保持ルールが適用されます。過去のトランザクションは継続的に削除され、最新のスナップショットのみが利用可能であることが保証されます。この場合、オブジェクトタイプの状態の過去のスナップショットを保持することが重要であれば、下流にトランスフォームを設定する必要があります。この保持ポリシーはオブジェクトタイプが削除された場合にも適用されるため、削除されたオブジェクトタイプの実体化データセットを保持するには、同様に下流のトランスフォームが必要です。
OSv1(Phonograph)のライトバックデータセットと OSv2 の実体化データセットでは、入力データソースのスキーマとの関係が異なります。
実体化データセット内の __ で始まる列(例:__is_deleted、__patch_offset)は、Foundry が重複排除のために使用するメタデータ列であり、オブジェクトタイプの状態に関する情報を表すものではありません。これらの列は、今後のリリースで事前の警告なく名前が変更されたり削除されたりする可能性があるため、本番ワークフローでは使用しないでください。
OSv1(Phonograph)では、制限付きビューを入力データソースとして使用して詳細な権限が設定されているオブジェクトタイプに対して、制限付きビューを実体化することはできません。実体化できるのは、入力データソースである制限付きビューの元データセットのすべての行を含むライトバックデータセットのみです。その場合、ユーザーはアクセス制限に基づいて、ライトバックデータセットへのアクセスを適切に保護する責任があります。
OSv2 では、以下に示すように、制限付きビューを入力データソースとして使用して詳細な権限が設定されているオブジェクトタイプに対して、通常のデータセットと制限付きビューのどちらも実体化リソースとして設定できます。

オブジェクトタイプに複数の入力データソースがある場合、どの入力データソースからデータを実体化するかを選択して、実体化データセットを設定できます。入力データソースが選択されていない場合、その入力データソースからマッピングされたオブジェクトタイプのプロパティは、実体化データセットに反映されません。入力データソースの一部が制限付きビューである場合、2つの選択肢があります。


前述のとおり、OSv1 と OSv2 はどちらも、制限付きビューを入力データソースとするオブジェクトタイプを通常のデータセットとして実体化できます。制限付きビューはトランスフォームの入力として使用できないため、ここがプラットフォーム内でユーザーが制限付きビューをデータセットに変換できる唯一の場所です。実体化されたデータセットには制限付きビューのポリシーが引き継がれないため、実体化されたデータセットの作成と可視化には、より高い権限が必要です。
説明のため、次の用語を使用します。
以下の図は、元データセット、制限付きビュー、オブジェクトタイプの関係を示しています。

これらの定義を踏まえて、新しい実体化データセットを作成し、そのトランザクションを閲覧するためにユーザーに必要な条件を説明します。これらは別々の2つのステップです。
新しい実体化データセットを作成するには、元データセットから新しいデータセットへの恒等変換を実行する権限が必要です。セキュリティの観点では、元データセットと制限付きビューの両方の任意アクセス制御と強制アクセス制御を満たす必要があります。
これらの条件を満たす場合、以下の例に示すように、新しい実体化データセットを作成するオプションが表示されます。
これらの条件を満たさない場合、このオプションは表示されません。次の例では、ユーザーが必要な任意アクセス制御を満たしていないため、実体化データセットを作成できません。
実体化データセットのトランザクションを閲覧するには、元データセットのトランザクションを閲覧できる必要があります。つまり、元データセットのトランザクションの強制アクセス制御も満たす必要があります。
次の図はこれを示しており、元データセット、制限付きビュー、オブジェクトタイプ、実体化データセットが確認できます。制限付きビューでは切り離される元データセットのマーキングが、実体化データセットには伝播します。つまり、トランザクションを閲覧するには、このマーキングを満たす必要があります。

OSv2 のオブジェクトタイプに強制アクセス制御タイプのプロパティが含まれている場合、実体化データセットでも、ユーザーは許可されたマーキング、許可された組織、最大機密情報区分に関するすべての強制アクセス制御を満たす必要があります。前述のとおり、来歴は元データセットから引き継がれます。また、強制アクセス制御タイプのプロパティを含むオブジェクトタイプでは、オブジェクトタイプで定義された強制アクセス制御も適用されます。
以下の図は、1個のマーキングを持つ元データセットと、元データセットから引き継ぐ2個のマーキングを持つ実体化データセット、およびオブジェクトタイプで設定されたマーキングを示しています。

元データセットには、次のマーキングが含まれています。
オブジェクトタイプの設定では、以下に示すように、別のマーキングを持つ強制アクセス制御タイプのプロパティを設定できます。
この設定により、実体化データセットは、元データセットと、強制アクセス制御タイプのプロパティを含むオブジェクトタイプの両方から来歴を引き継ぎます。
OSv2 の制限付きビューに次のいずれかのポリシーが含まれている場合、実体化データセットを設定できません。
実体化は Global Branches と組み合わせて使用できますが、次の制限があります。
実体化が関連付けられているオブジェクトタイプに加えられた変更は、ブランチでインデックス化されます。そのブランチからの更新は、実体化データセットまたは制限付きビューに書き込まれます。オブジェクトタイプを削除するか、ブランチから外すと、実体化データセット内のブランチも削除されます。制限付きビューの制約により、実体化された制限付きビューのブランチは削除されません。この制約を解消する方法は、現在開発中です。
Catalog:TransactionDataDeleted エラーOSv2 の実体化データセットの読み取りが、実体化データセット以外のデータセットを参照する Catalog:TransactionDataDeleted エラーで失敗する場合、実体化がまだ読み取っている内部データが保持ポリシーによって削除された可能性があります。これは、データが長期間変更されていないオブジェクトタイプに影響する可能性がある既知の制約です。オブジェクトタイプの Funnel パイプラインが次にデータの変更を伴って実行されると、読み取りは再び成功します。
このエラーの再発を防ぐには、オブジェクトタイプの RID と完全なエラーメッセージを添えて、Palantir サポートにお問い合わせください。Palantir サポートは、オブジェクトタイプに対してインクリメンタル(差分処理)の no-op トランザクションを有効にできます。この設定を有効にすると、オブジェクトタイプのオントロジーのインデックス化に伴うコンピュート使用量が増加します。