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

Object Storage V1 (Phonograph) から Object Storage V2 への移行

Object Storage V2 (OSv2) の 改善 のために必要なアーキテクチャ変更は、Object Storage V1 (Phonograph) のオブジェクト型と結合テーブルを持つ多対多リンク型を Object Storage V2 (OSv2) に移行することを必要とします。

現在、移行は必須ではありませんが、2024年後半には必須となる予定です。この時点で、移行を実行するために Upgrade Assistant を使用する必要があります。Foundry の オントロジーマネージャー は、オブジェクト型と多対多リンク型のダウンタイムなしの移行を実現するための統合フレームワークを提供します。

Foundry のオントロジーは、すべてのオブジェクト型と多対多リンク型を一度に移行する必要はありません。一部のオブジェクト型が Object Storage V1 (Phonograph) に、一部が Object Storage V2 (OSv2) にある状態でも、通常の操作を続けることができます。Foundry の オントロジーマネージャー は、オントロジー型をまとめて移行する サポートも提供しています。

移行を実行する前の考慮事項

移行の動作

  • オブジェクト型のオントロジー定義に変更が加えられ、その結果 Funnel replacement pipeline が生じると、進行中の移行が中止されます。これを避けるために、移行全体(浸漬期間を含む)の間、オブジェクト型のスキーマが安定していることを確認し、移行を開始する前にスキーマの変更を行ってください。
  • Object Storage V1 (Phonograph) の登録は、オントロジーマネージャーで保存された変更に対して同期的に更新されます。しかし、Funnel はオントロジー定義の変更を非同期的に記録するため、オントロジーマネージャーでオントロジーの変更を保存してから Funnel がその変更を検出するまでに遅延が生じます。このため、startabort などの移行イベントが、オントロジーが保存された数秒後にオントロジーマネージャーに表示される可能性があります。
  • Object Storage V1 (Phonograph) は、Object Storage V1 (Phonograph) の編集 API を直接通じてオブジェクト型とリンク型の編集をサポートしています。この操作は非推奨となっており、OSv2 とは互換性がありません。ユーザーの編集があるオブジェクト型の移行を開始する前に、使用法が互換性がある ことを確認してください。次に、オントロジーマネージャーでオブジェクト型を探し、Datasources タブに移動します。Only allow edits via actions をオンにすると、そのオブジェクト型の移行が解除されます。
  • ユーザーの編集は、移行定義の時点から移行期間全体(浸漬期間を含む)にわたり自動的に無効にされます。移行プロセス中に新たなユーザー編集を投稿することはできませんが、オブジェクトの読み取りは中断なくアクセス可能です。
  • オブジェクト型の編集履歴や属性情報は移行中に保持されません。Object Storage V1 (Phonograph) の各オブジェクトインスタンスの最新の状態が Object Storage V2 に移行されます。編集履歴や属性情報をキャプチャするために Action Log オブジェクト型を使用していなかった場合は、追加の支援を受けるために Palantir の代表者に連絡してください。

互換性のない使用法

Incompatible usage ビューにアクセスできない場合は、この機能を有効にするために Palantir の代表者に連絡してください。

Object Storage V2 の一部の操作は、breaking changes として扱われ、Object Storage V2 と互換性がありません。この互換性のない使用法は、オントロジーマネージャー で追跡され、報告されます。Incompatible usage アラートを選択すると、直近30日間の任意の互換性のない使用法の可視化が提供され、修正を支援します。

OSv1 から OSv2 への移行時の互換性のない使用法の可視化

非ブロッキングの互換性のない使用法

一部の互換性のない使用法、例えば Object Storage V1 (Phonograph) エンドポイントへの直接の API コールは、OSv2 への移行を開始するのをブロックせず、オブジェクト型が OSv2 に移行した後に失敗します。

OSv1 から OSv2 への移行警告

互換性のない使用法を調査し、行動が必要かどうかを判断すべきです。例えば、オブジェクトのクエリ/読み取りのための直接の Object Storage V1 (Phonograph) コールを Object Set Service へ、オブジェクトの編集のための Actions へ、オブジェクト型メタデータ情報のための Ontology Metadata Service へ移行するなどです。これらの互換性のない使用法がもはや関連性がない、または結果に影響を与えずに壊れても問題ない場合は、修正せずに移行を開始することができます。

ブロッキングの互換性のない使用法

OSv1 と OSv2 の間の他の変更、例えば actions only による編集を有効にしないなど、はオントロジーマネージャーでの移行を積極的にブロックします。

OSv1 から OSv2 への移行エラー

この状況では、移行を開始する前に互換性のない使用法の発生をすべて取り除く必要があります。

互換性のない使用法がない

互換性のない使用法や breaking changes がないオブジェクト型は、オブジェクト型が移行可能であることを示すためにバナーに緑のチェックマークアイコンが表示されます。

OSv1 から OSv2 への移行準備完了

エンティティの移行

移行の開始

移行を開始するには、オブジェクト型や結合テーブルを持つ多対多リンク型の Datasources タブに移動し、Indexing Metadata セクションに進みます。オブジェクト型が移行可能であれば、移行パラメーターを選択するウィザードを開く Object Storage V2 ラジオボタンを選択することができます。

オントロジーメタデータサービスは、Object Storage V1 (Phonograph) にバックアップされたオブジェクト型の互換性のない使用法を追跡し、互換性のない使用法があるオブジェクト型を移行しようとするとアラートをトリガーします。また、オブジェクト型のスキーマに breaking changes が含まれていないことを確認する必要があります。

OSv1 から OSv2 への移行ランディングページ

移行ウィンドウ

Transition windows オプションでは、安全な移行のための優先する時間帯を設定することができます。例えば、オブジェクト型の使用事例の活動が最小限である週の日と時間を設定したいかもしれません。移行プロセスが開始されると、最初の Funnel パイプラインを起動するまでに最大30分かかる可能性があることを覚えておいてください。もし移行が最初の移行ウィンドウ内で完了できなかった場合は、Object Set Service は OSv2 からデータを読み始めるために次のウィンドウを待ちます。

移行ウィンドウが設定されていない場合、最初の Funnel パイプラインが成功するとすぐに移行が開始されます。

OSv1 から OSv2 への移行移行ウィンドウ

最初の同期が成功した後に移行ウィンドウが計算されます。これは、最初の同期が設定された移行ウィンドウの途中で完了した場合、移行はこれを受け入れ可能な移行ウィンドウとは見なさず、次のウィンドウを取ることを試みることを意味します。

浸漬期間

移行プロセス中に Object Storage V1 (Phonograph) に戻る必要がある場合は、浸漬期間 中にダウンタイムなしで可能です。移行フレームワークは、浸漬期間の終了まで Object Storage V1 (Phonograph) のインデックスを最新の状態に保つと共に、Object Storage V2 (OSv2) を更新します。浸漬期間は、最大14日までの日単位で設定することができ、移行が移行ウィンドウを通過した後にのみ開始されます。

浸漬期間中、Foundry のオントロジーのバックエンドは自動的にすべてのクエリを OSv2 にルーティングし、OSv1 へのリクエストは拒否されます。この時間は、移行後にワークフローが期待通りに機能していることを検証するために使用することができます。浸漬期間中に何か問題を経験した場合は、移行を中止する ことで即座に OSv1 のインデックスの使用に切り替えることができます。

浸漬期間を0日に設定すると、OSv2 のインデックスが準備完了し、移行ウィンドウがアクティブ化されるとすぐに、そのオブジェクト型のための OSv1 のインデックスが削除されます。浸漬期間が終了した後に OSv1 に戻ると、データの再インデックスが必要となり、ダウンタイムが発生する可能性があります。

浸漬期間中にオブジェクト型が OSv1 と OSv2 の両方で二重にインデックス化されることに注意してください。これは、追加のコンピューティングとストレージ使用を発生させます。追加のリソース使用を避けたい場合は、移行を設定する際に浸漬期間を0日に設定することができます。

OSv1 から OSv2 への移行浸漬期間

書き戻しデータセットの移行

Object Storage V1 (Phonograph) では、オブジェクト型や結合テーブルを持つ多対多リンク型にユーザーの編集を有効にするために、書き戻しデータセット が必要です。Object Storage V2 は、書き戻しデータセットを 実体化データセット に置き換えます。Object Storage V2 は、ユーザーの編集を有効にするために実体化データセットを必要としません。OSv2 での任意の実体化データセットでは、下流の使用法が必要とする場合にのみ実体化を作成する必要があります。

オブジェクト型とリンク型の書き戻しデータセットは、OSv2 の実体化データセットとして移行することができます。実体化データセットは、既存の下流パイプラインとの互換性を保つために、同じ列を保持します。このトグルは、他のアプリケーションで現在の書き戻しデータセットを使用している場合にのみ関連があります。ユーザーの編集は、OSv2 に移行されます。

書き戻しデータセットを移行しないことを選択した場合でも、データセット自体は削除されません。代わりに、データセットは静的になり、最終ビルド時のデータを含むようになります。

書き戻しデータセットが、いずれかのオブジェクト型のプロパティにマッピングされていない列を含んでいる場合、それらの列は移行の一部として削除されます。

書き戻しデータセットの移行オプション

移行の中止

Object Storage V2 に切り替えた後にパフォーマンスの低下が観察されたり、バグが発見されたりした場合、浸漬期間中には進行中の移行を安全に中止し、OSv1 に戻すことができます。移行フレームワークは、移行プロセス全体を通じて新たなデータとともに OSv1 のインデックスが最新の状態に保たれることを確認し、ダウンタイムはありません。

移行対象のオブジェクト型に既存のユーザー編集がある場合、新たなユーザー編集は移行が完了するまで無効にされます。

同期の失敗

移行プロセス中にオブジェクト型の同期が失敗する可能性があります。その場合、オブジェクト型の Datasources タブの Indexing Metadata セクションで PIPELINE_FAILED エラーが表示されます。そのような状況が発生した場合は、Funnel パイプラインのデバッグ の手順に従って問題を調査し、対策を講じてください。

OSv1 から OSv2 への移行失敗

一括移行

左側のナビゲーションバーの Object types セクションに移動し、同時に複数のオブジェクト型を選択することで、同じ移行ウィンドウと浸漬時間の設定を使用して一括で移行を実行することができます。プロセスと設定ウィザードは、単一のオブジェクト型を移行する場合と同じです。予期しない複雑さやエラーを防ぐために、一度に100エンティティ未満を一括移行する段階的な移行を推奨します。

OSv1 から OSv2 への一括移行