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

Object Storage v1 (Phonograph) から Object Storage v2 に移行する

Object Storage v2 (OSv2) の改善に必要なアーキテクチャの変更に伴い、Object Storage v1 (Phonograph) のオブジェクトタイプと、結合テーブルを持つ多対多リンクタイプを Object Storage v2 (OSv2) に移行する必要があります。

Object Storage v1 から v2 への移行は、すべてのオブジェクトタイプで必須です。Ontology Manager は、オブジェクトタイプと多対多リンクタイプの移行のための統合フレームワークを提供します。

Foundry オントロジーでは、すべてのオブジェクトタイプと多対多リンクタイプを一度に移行する必要はありません。一部のオブジェクトタイプが Object Storage v1 (Phonograph) にあり、ほかのオブジェクトタイプが Object Storage v2 (OSv2) にある状態でも、通常どおり動作し続けます。Foundry の Ontology Manager は、オントロジータイプの一括移行もサポートしています。

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

移行の動作

  • オブジェクトタイプのオントロジー定義を変更し、その変更によって Funnel 置換パイプラインが発生すると、進行中の移行は中止されます。これを避けるには、移行期間全体(ソーク期間を含む)を通じてオブジェクトタイプのスキーマを変更せず、スキーマの変更は移行を開始する前に行ってください。
  • Ontology Manager で変更を保存すると、Object Storage v1 (Phonograph) の登録は同期的に更新されます。ただし、Funnel はオントロジー定義の変更を非同期的に記録するため、Ontology Manager でオントロジーの変更を保存してから Funnel がその変更を検出するまでに遅延が発生します。このため、start や abort などの移行イベントが Ontology Manager に表示されるまで、オントロジーの保存後に数秒の遅延が生じる場合があります。
  • Object Storage v1 (Phonograph) は、Object Storage v1 (Phonograph) の編集 API を介したオブジェクトタイプとリンクタイプの直接編集をサポートしています。このインタラクションは非推奨であり、OSv2 に対応していません。ユーザーによる編集があるオブジェクトタイプの移行を開始する前に、使用方法が対応していることを確認してください。その後、Ontology Manager で対象のオブジェクトタイプを見つけ、データソースタブに移動します。アクションによる編集のみを許可をオンにすると、そのオブジェクトタイプの移行を妨げる制限が解除されます。
  • 移行を定義した時点から、ソーク期間を含む移行期間全体にわたって、ユーザーによる編集は自動的に無効になります。移行プロセス中は新しいユーザー編集を送信できませんが、オブジェクトの読み取りは中断なく引き続き利用できます。
  • 移行には、オブジェクトタイプの編集履歴と編集者情報を保持するオプションがあります。
    • このオプションを有効にすると、移行プロセスに編集履歴が含まれるため、処理とストレージに追加のコンピューティングコストが発生します。
    • 編集履歴を保持するオプションを有効にしない場合、移行中にオブジェクトタイプの編集履歴と編集者情報は保持されず、Object Storage v1 (Phonograph) の各オブジェクトのインスタンスの最新の状態が Object Storage v2 に移行されます。移行が完了すると、Object Storage v1 (Phonograph) から完全な編集履歴を復元することはできません。Object Storage v2 に移行する際、Action Logs を除き、ユーザーによる編集(Actions)の履歴は保持されないことを了承する必要があります。
  • Decimal プロパティを持つオブジェクトタイプを移行する場合、Decimal の精度またはスケールを設定するために追加の操作が必要になる場合があります。オブジェクトに Decimal プロパティが含まれている場合、またはそのプロパティの Decimal の精度やスケールを設定する必要がある場合、次のエラーが発生することがあります。
    • エラー: The current version of the object type has an invalid definition which Object Storage v2 is unable to index. ObjectsDataFunnel:DecimalPropertyTypeMissingPrecisionOrScale(Object Storage v2 への移行を設定するとき)
    • エラー: Precision does not match backing column.
    • エラー: Scale does not match backing column.
  • Decimal プロパティを持つオブジェクトタイプに関連するこれらのエラーを解決するには、次の手順に従います。
    1. Ontology Manager のプロパティタブに移動します。
    2. エラーが発生しているプロパティを選択します。
    3. そのプロパティに必要な精度とスケールの値を設定します。修正ボタンを使用すると、元データに基づいて精度とスケールの値が自動的に設定されます。

互換性のない使用

Object Storage v2 の一部のインタラクションは破壊的変更とみなされ、Object Storage v2 に対応していません。この互換性のない使用は、Ontology Manager で追跡され、報告されます。互換性のない使用アラートを選択すると、過去30日間の互換性のない使用が可視化され、是正に役立ちます。互換性のない使用の表示にアクセスできない場合は、この機能の有効化について Palantir の担当者にお問い合わせください。

OSv1 から OSv2 への移行における互換性のない使用の可視化

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

Object Storage v1 (Phonograph) のエンドポイントへの直接 API 呼び出しなど、一部の互換性のない使用は OSv2 への移行開始を妨げませんが、オブジェクトタイプを OSv2 に移行した後は失敗します。

OSv1 から OSv2 への移行の警告

互換性のない使用を調査し、対応が必要かどうかを判断してください。たとえば、Object Storage v1 (Phonograph) への直接呼び出しを、オブジェクトのクエリや読み取りには Object Set Service、オブジェクトの編集には Actions、オブジェクトタイプのメタデータ情報には Ontology Metadata Service を使用するように移行します。これらの互換性のない使用が不要になっている場合、または動作しなくなっても影響がない場合は、是正せずに移行を開始できます。

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

アクションによる編集のみを許可する設定が有効になっていないことなど、OSv1 と OSv2 の間のほかの変更は、Ontology Manager での移行を阻止します。

OSv1 から OSv2 への移行のエラー

この場合、移行を開始する前に、互換性のない使用をすべて解消する必要があります。

互換性のない使用なし

互換性のない使用や破壊的変更がないオブジェクトタイプでは、バナーに緑色のチェックアイコンが表示され、オブジェクトタイプの移行準備が整っていることを示します。

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

エンティティを移行する

移行を開始する

移行を開始するには、オブジェクトタイプ、または結合テーブルを持つ多対多リンクタイプのデータソースタブに移動し、インデックスメタデータセクションを開きます。オブジェクトタイプが移行の対象となる場合は、Object Storage v2 のラジオボタンを選択できます。選択すると、移行パラメーターを選択するウィザードが開きます。このセクションが表示されない場合は、すべてのオブジェクトタイプと結合テーブルを持つリンクタイプで Object Storage v2 の使用が必須となっているオントロジーで作業している可能性が高いです。

Ontology Metadata Service は、Object Storage v1 (Phonograph) を使用しているオブジェクトタイプの互換性のない使用状況を追跡します。互換性のない使用状況があるオブジェクトタイプを移行しようとすると、アラートが発生します。また、オブジェクトタイプのスキーマに破壊的変更が含まれていないことを確認してください。

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

移行ウィンドウ

移行ウィンドウオプションでは、安全に移行するための希望の時間帯を設定できます。たとえば、オブジェクトタイプのユースケースで活動が少ない曜日と時間を設定できます。移行プロセスの開始後、最初の Funnel パイプラインが起動するまでに最大30分かかる場合があることに留意してください。移行ウィンドウは、OSv2 への最初の同期が正常に完了した後にのみ算出されるため、その同期が完了した時点ですでに開始しているウィンドウは対象になりません。最初の移行ウィンドウ内に移行を完了できない場合、Object Set Service は次のウィンドウまで待ってから OSv2 からのデータ読み取りを開始します。

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

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

無効化されるアクションタイプ

移行の定義時点から、Soak 期間を含む移行期間全体にわたって編集が自動的に無効化されるため、移行中はユーザーが編集を適用できません。オブジェクトの読み取りは中断なく引き続き利用できます。

Soak 期間

移行プロセス中に Object Storage v1 (Phonograph) に戻す必要がある場合、Soak期間中であればデータを再インデックス化せずに戻すことができます。移行フレームワークは、Soak 期間が終了するまで、Object Storage v2 (OSv2) とともに Object Storage v1 (Phonograph) のインデックスを最新の状態に保持します。Soak 期間は1日単位で最大14日まで設定でき(時間単位で指定するオプションもあります)、移行が移行ウィンドウを通過した後にのみ開始されます。Soak 期間を0日に設定すると、OSv2 のインデックスの準備が整い、移行ウィンドウが有効になった時点で、そのオブジェクトタイプの OSv1 インデックスが削除されます。

Soak 期間中、Foundry オントロジーのバックエンドは、すべてのクエリを自動的に OSv2 にルーティングし、OSv1 へのリクエストはすべて拒否されます。この期間を利用して、オブジェクトタイプを読み取るワークフローが移行後も期待されるとおりに動作しているか検証できます。Soak 期間中に問題が発生した場合は、移行を中止して、すぐに OSv1 インデックスの使用に戻すことができます。

Soak 期間の終了後は、OSv1 にロールバックすることはできません。ご不明な点は Palantir サポートにお問い合わせください。

Soak 期間中、オブジェクトタイプは OSv1 と OSv2 の両方でインデックス化されるため、コンピューティングとストレージの使用量が増加します。追加のリソース使用を避けたい場合は、移行の設定時に Soak 期間を0日に設定できます。

OSv1 から OSv2 への移行の Soak 期間

ライトバックデータセットを移行する

Object Storage v1 (Phonograph) では、オブジェクトタイプ、または結合テーブルを持つ多対多リンクタイプでユーザー編集を有効にするために、ライトバックデータセットが必要です。Object Storage v2 では、ライトバックデータセットが実体化データセットに置き換わります。Object Storage v2 では、ユーザー編集を有効にするために実体化データセットは必要ありません。OSv2 の実体化データセットは任意であるため、下流での使用に必要な場合にのみ実体化を作成すればよくなります。

オブジェクトタイプとリンクタイプのライトバックデータセットは、OSv2 の実体化データセットとして移行できます。実体化データセットでは同じ列が保持され、既存の下流パイプラインとの互換性が維持されます。この切り替えが関係するのは、現在のライトバックデータセットをほかのアプリケーションで使用している場合のみです。ライトバックデータセットを移行しないことを選択しても、データセット自体は削除されません。代わりに、データセットは静的な状態となり、最後にビルドされた時点のデータが含まれます。ユーザー編集は引き続き OSv2 に移行されます。

ライトバックデータセットに、どのオブジェクトタイプのプロパティにもマッピングされていない列が含まれている場合、それらの列は移行の一環として削除されます。

ライトバックデータセットの移行オプション

移行を中止する

Object Storage v2 への切り替え後にパフォーマンスの低下やバグが見つかった場合、Soak 期間中であれば、進行中の移行を安全に中止して OSv1 に戻すことができます。移行プロセス全体を通じて、移行フレームワークは新しいデータの同期を反映し、OSv1 インデックスを最新の状態に保持します。

移行するオブジェクトタイプに既存のユーザー編集がある場合、移行が完了するまで新しいユーザー編集はすべて無効化されます。

同期の失敗

移行プロセス中に、オブジェクトタイプの同期に失敗する場合があります。この場合、オブジェクトタイプのデータソースタブのインデックスメタデータセクションに PIPELINE_FAILED エラーが表示されます。このエラーが発生した場合は、Funnel バッチパイプラインのデバッグの手順に従って、問題を調査して解決してください。

OSv1 から OSv2 への移行の失敗

一括移行

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

OSv2 のみが有効になっているオントロジーでは、このウィザードはインターフェースに表示されません。

OSv1 から OSv2 への一括移行