注: 以下の翻訳の正確性は検証されていません。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 のオブジェクトタイプに、強制アクセス制御タイプのプロパティが含まれる場合、実体化されたデータセットでも、ユーザーが Allowed markings、Allowed organizations、Max classification のすべての強制アクセス制御を満たす必要があります。来歴は前述のとおり元データセットから引き継がれ、強制アクセス制御タイプのプロパティを含むオブジェクトタイプには、オブジェクトタイプで定義された強制アクセス制御も適用されます。
以下の図は、1 個のマーキングを持つ元データセットと、元データセットからのマーキングおよびオブジェクトタイプで設定されたマーキングの 2 個のマーキングを持つ実体化されたデータセットを示しています。

元データセットには、以下のマーキングが含まれています。
オブジェクトタイプの設定では、以下に示すように、別のマーキングを持つ強制アクセス制御タイプのプロパティを設定できます。
この設定により、実体化されたデータセットは、元データセットと、強制アクセス制御タイプのプロパティを含むオブジェクトタイプの両方から来歴を引き継ぎます。
OSv2 の制限付きビューに以下のいずれかのポリシーが含まれる場合、実体化データセットを設定することはできません。
実体化は、以下の制限のもとで Global Branches と併用できます。
実体化が関連付けられたオブジェクトタイプへの変更は、ブランチ内でインデックス化されます。そのブランチからの更新は、実体化されたデータセットまたは制限付きビューに書き込まれます。オブジェクトタイプを削除するか、ブランチから外すと、実体化されたデータセット内のブランチも削除されます。制限付きビューの制限により、実体化された制限付きビューのブランチは削除されません。この制限への対応策は現在開発中です。