メインコンテンツまでスキップ

ゼロダウンタイムマイグレーション

ゼロダウンタイムマイグレーションは、既存データをコピーし、増分変更をターゲットクラスターに同期している間も、ソースクラスターを利用可能な状態に保ちます。マイグレーションを完了するには、アプリケーションを切り替える前にソースのサービスと書き込みを停止する必要があります。このマイグレーションは次のステージで構成されます:

  1. 初期化:ソースデータベースとマイグレーション対象のコレクションを選択し、既存のターゲットクラスター内のデータベースを選択します。

  2. マイグレーション:既存データをマイグレーションし、増分データを同期します。

  3. ファイナライズ:ソースクラスターのサービスと書き込みを停止し、同期ラグが 10 秒未満になったらデータ同期を停止します。マイグレーションの完了後、マイグレーションされたコレクションを手動でロードし、アプリケーションをターゲットクラスターに切り替えます。

PTB0wxmm2hCBc3b2dj1cCCJgnRb

Notes

ゼロダウンタイムマイグレーションは Private Preview で利用できます。アクセスをリクエストするには、Zilliz Cloud サポート にお問い合わせください。ソースクラスターとターゲットクラスターでサポートされる Milvus のバージョン要件は ≥ 2.6.21 or ≥ 3.0.0 です。ターゲットクラスターのバージョンは、ソースクラスターのバージョンより低くすることはできません。

マイグレーション機能​

クラスターの互換性​

次の表は、クラスター間のマイグレーション機能と制約の概要です:

ソースクラスターターゲットクラスターマイグレーションスコープ
DedicatedDedicated クラスターソースデータベースを選択し、すべてのコレクションまたは選択したコレクションを、既存のターゲット Dedicated クラスター内のデータベースにマイグレーションします。
Serverless / FreeDedicated クラスターServerless/Free クラスターには最大 1 つのデータベースしか含まれないため、ソースクラスターから単一のデータベースをマイグレーションします。

マイグレーションスコープのオプション​

マイグレーションの種類説明ユースケース
同じプロジェクト内同じ Zilliz Cloud プロジェクト内の既存クラスター間でマイグレーションしますクラスターのアップグレード、パフォーマンスの最適化、データの統合
同じ組織内のプロジェクト間同じ Zilliz Cloud 組織内の異なるプロジェクトにある既存クラスター間でマイグレーションします。組織間のマイグレーションは現在サポートされていません。組織内のプロジェクト間でデータを移動する

直接データ転送​

ゼロダウンタイムマイグレーションは、Zilliz Cloud クラスター間で直接データレプリケーションを実行します。主な特性は次のとおりです:

  • スキーマの保持:ソーススキーマは変更されずにターゲットクラスターに転送されます

  • フィールド変換なし:マイグレーションでは、フィールド名の変更、データ型の変更、フィールド属性の変更は行いません。増分同期中は、選択したコレクションのスキーマを変更しないでください。これらの変更はレプリケートされません。

  • 自動インデックス作成:ターゲットクラスターのベクトルフィールドに対して AUTOINDEX が自動的に作成されます

制限事項​

  • 増分同期中は、選択したソースコレクションに対する Delete、Insert、Upsert 操作のみがレプリケートされます。スキーマ変更や一括インポートなど、これらのコレクションに対するその他の変更はレプリケートされず、データの不整合を引き起こす可能性があるため、避けてください。

  • マイグレーション中のターゲットコレクションへの直接書き込みは、データの不整合を引き起こす可能性があるため、避けてください。

  • マイグレーションが完了するまでソースクラスターを保持してください。マイグレーション中に削除すると、マイグレーションエラーが発生します。

  • AutoID が有効なソースコレクションでは、マイグレーション前に Allow Insert AutoID を有効にしてください。有効にしない場合、マイグレーションはディスパッチされません。

  • ネットワークの不安定さによる再試行のため、マイグレーション後にターゲットコレクションで count(*) を実行した結果が、ソースコレクションの結果と異なる場合があります。

事前準備​

ゼロダウンタイムマイグレーションを開始する前に、次の要件を満たしていることを確認してください:

一般的な要件​

要件詳細
ユーザー権限ソースクラスターには SERVING_CLUSTER_DATA_READ、ターゲットクラスターには SERVING_CLUSTER_DATA_WRITE、関連するプロジェクトには OBSERVABILITY_MANAGE が必要です。権限設定を簡単にするには、Project Admin ロールを使用してください。
ソースクラスターへのアクセスソースクラスターへのパブリックインターネットアクセスを有効にする必要はありません。マイグレーションではプライベートネットワーク接続を使用します。
ターゲットクラスターの容量ターゲットクラスターにソースデータを収容できる十分な CU 容量があることを確認してください(CU 計算ツール を使用)。マイグレーション中に容量が不足した場合は、容量を増やし、マイグレーションの継続について Zilliz Cloud サポート にお問い合わせください。

認証と AutoID の要件​

コンソールでソースクラスターとターゲットクラスターを選択します。アクセスは現在の権限に基づいて確認されます。マイグレーションにソースエンドポイント、API キー、クラスターのユーザー名とパスワードを入力する必要はありません。ソースとターゲットは同じ組織に属している必要があります。

AutoID が有効なコレクションでは、増分マイグレーションの前に allow_insert_auto_id を有効にする必要があります。

はじめに​

ゼロダウンタイムマイグレーションのプロセスは、注意と操作が必要な3つの主要なフェーズで構成されます:

フェーズ 1: 初期化​

ターゲットクラスターを含む組織とプロジェクトから開始します。次のデモでは、ソースデータとターゲットロケーションを選択し、マイグレーションを開始する方法を示します:

  1. ターゲットプロジェクトの左側のナビゲーションで Migrations を選択します。Zilliz to Zilliz Migration で Zero Downtime をクリックします。

  2. Select Source Location をクリックし、ソースの Organization、Project、Cluster、データベース を選択します。ソースとターゲットは同じ組織に属している必要があります。

  3. マイグレーション対象のコレクションを選択します。All コレクション を選択したままにすると、選択したデータベース内のすべてのコレクションをマイグレーションできます。個々のコレクションを選択することもできます。

  4. Select Target Location をクリックし、ターゲットクラスターとデータベースを選択します。ターゲット組織とプロジェクトは Current Location に設定されます。

  5. ソースとターゲットのロケーション、および Selected Collections リストを確認し、Migrate をクリックします。

マイグレーション中、ソースクラスターは Running 状態のままになり、ターゲットクラスターには Migrating と表示されます。マイグレーションが完了するまでソースクラスターを保持してください。マイグレーション中に削除すると、マイグレーションエラーが発生します。

フェーズ 2: 監視​

ターゲットクラスターの詳細ページで、マイグレーションバナーの View Progress をクリックして Migration Progress ダイアログを開きます。このダイアログを使用して既存データのマイグレーションと増分データの同期を監視し、アプリケーションを切り替える準備ができたらデータ同期を停止します。

Jobs からジョブを監視することもできます。マイグレーションジョブのアクションメニューを開き、View Details を選択し、Data タブを選択すると、Rows Written、Sync Delay、Data Synced Through、Metrics Updated、およびソースからターゲットへのコレクションマッピングを表示できます。

ステージ 1: 既存データの移行

Migrate Existing Data ステージでは、選択したソースコレクションの既存データをターゲットデータベースにコピーします。所要時間は転送するデータ量によって異なり、大規模なデータセットの場合は数時間かかることがあります。

Notes

処理に時間がかかっている場合は、このページを離れて他のタスクを実行してかまいません。いつでも戻って増分データの同期の進行状況を引き続き監視できます。

ステージ 2: 増分データの同期

Sync incremental data 中、システムは選択したソースコレクションに対する Delete、Insert、Upsert 操作をターゲットクラスターに継続的にレプリケートします。ターゲットクラスターは Migrating 状態のままです。データの不整合を避けるため、選択したソースコレクションにその他の変更を加えたり、マイグレーション中のターゲットコレクションに直接書き込んだりしないでください。同期を完了するには、次の手順に従います:

  1. 同期ラグを監視する

    • Lag Behind Source(ミリ秒または秒単位で表示)を追跡して、同期の進行状況を監視します。このインジケーターは、ソースクラスターとターゲットクラスターの最新データ間の時間差を示します。

    • Lag Behind Source が 10 秒未満になると、データ同期を停止する準備ができたことを示すメール通知が届きます。

    • Important:妥当な待機時間が経過しても同期ラグが 10 秒未満にならない場合は、Zilliz Cloud サポート にお問い合わせください。

  2. データ同期を停止する

    • ソースクラスターのサービスとすべての書き込みを停止します。データ同期を停止してアプリケーションをターゲットクラスターに切り替える間は、書き込みを停止したままにします。

    • Lag Behind Source が 10 秒未満で、ソースへの書き込みが停止している場合は、I confirm that I have stopped writes to the source cluster を選択してから、Stop Data Sync をクリックします。これが通常のカットオーバー手順です。完了すると、マイグレーションジョブに Success と表示されます。

    Notes

    増分同期は 最大 7 日間サポートされます。この期間内にマイグレーションを完了するように計画してください。さらに時間が必要な場合は、Zilliz Cloud サポート にお問い合わせください。

フェーズ 3: 切り替え​

Stop Data Sync をクリックした後、アプリケーションをターゲットクラスターに切り替える前に、マイグレーションが完了するまで待ちます。同期ラグが 10 秒未満であるというメール通知は、データ同期を停止する準備ができたことを示すものであり、マイグレーションが完了したことを意味するものではありません。

  1. Migration Progress ダイアログでマイグレーションが完了するまで待ちます。完了したマイグレーションジョブには Success と表示されます。

  2. View Connection Details And Close Dialog をクリックして、ターゲットクラスターの接続詳細を表示します。

  3. 以下で説明するように、検索またはクエリ操作の前に、マイグレーションされたコレクションを手動でロードします。アプリケーションコードのエンドポイントと認証情報を更新してターゲットクラスターに接続し、アプリケーションがデータを読み書きできることを確認します。

クラスターへの接続手順については、Connect to Cluster を参照してください。

Notes
  • マイグレーション後、ソースクラスターは自動的に削除されません。手動で削除する前にデータの整合性を確認できるよう、しばらく保持することをお勧めします。

  • マイグレーションされたコレクションは、検索またはクエリ操作にすぐには使用できません。検索およびクエリ機能を有効にするには、Zilliz Cloud でコレクションを手動でロードする必要があります。詳細は、Load & Release を参照してください。

マイグレーションをキャンセルする​

マイグレーションを中止するには、Jobs を開き、マイグレーションジョブを見つけて、利用可能な場合はそのアクションメニューから Cancel を選択します。キャンセルすると同期が停止し、ジョブのステータスが Canceled に変わります。ターゲットにすでに同期されたデータは自動的に削除されません。必要に応じてそのデータを確認して処理してください。

アプリケーションを切り替える前にマイグレーションを完了するには、Migration Progress ダイアログの Stop Data Sync を使用します。完了したジョブには Success と表示されます。マイグレーションを中止するには Cancel を使用します。ジョブには Canceled と表示されます。