MongoDB から仮想コアベースの Azure Cosmos DB for MongoDB に移行するためのオプションは何ですか?

このドキュメントでは、MongoDB ワークロードをリフトアンドシフトして仮想コアベースの Azure Cosmos DB for MongoDB オファリングに移行するためのさまざまなオプションについて説明します。

移行は、次の 2 つの方法で実行できます。

  • オフライン移行: スナップショットベースの送信元から送信先トへの一括コピー。 スナップショット後にソース上で追加/更新/削除された新しいデータは、送信先にコピーされません。 必要なアプリケーションのダウンタイムは、一括コピー アクティビティの完了にかかる時間によって異なります。

  • オンライン移行: オフライン移行で行われる一括データ コピー アクティビティとは別に、変更ストリームですべての追加/更新/削除が監視されます。 一括データ コピーが完了すると、変更ストリームのデータが送信先にコピーされ、移行プロセス中に行われたすべての更新が送信先にも転送されるようにします。 アプリケーションに必要なダウンタイムは最小限です。

Azure Data Studio (オンライン)

Azure Data Studio 用の MongoDB 移行拡張機能は、MongoDB ワークロードを MongoDB 仮想コア用 API に移行する場合に推奨されるツールです。

移行プロセスには 2 つのフェーズがあります。

  • 事前移行評価 - 非互換性があるかどうかを判断するための現在の MongoDB データ資産の評価。
  • 移行 - Azure によって管理されるサービスを使用した移行操作。

移行前の評価

評価には、サポートされている機能と構文を使用しているかどうかを調べる必要があります。 このステージの目的は、現在の MongoDB ソリューションに存在する非互換性または警告を特定することです。 移行プロセスに進む前に、評価結果で見つかった問題を解決する必要があります。

ヒント

サポートされている機能と構文を詳しく確認し、実際の移行の前に概念実証を実行することをお勧めします。

移行

グラフィカル ユーザー インターフェイスを使用して、移行プロセス全体を最初から最後まで管理します。 移行は Azure Data Studio で開始されますが、Azure 管理対象リソース上のクラウドで実行されます。

ネイティブ MongoDB ツール (オフライン)

mongodump/mongorestoremongoexport/mongoimport などのネイティブ MongoDB ツールを使用して、データセットをオフラインで (ライブ変更をレプリケートせずに) 仮想コア ベースの Azure Cosmos DB for MongoDB オファリングに移行できます。

シナリオ MongoDB ネイティブ ツール
データベース データのサブセットを移動する (JSON/CSV ベース) mongoexport と mongoimport
データベース全体を移動する (BSON ベース) mongodump と mongorestore
  • "mongoexport と mongoimport" は、MongoDB データベースのサブセットを移行するための最適な移行ツールのペアです。
    • mongoexport は、既存のデータを人間が判読できる JSON ファイルまたは CSV ファイルにエクスポートします。 mongoexport は、エクスポートする既存のデータのサブセットを指定する引数を受け取ります。
    • mongoimport は、JSON または CSV ファイルを開き、その内容を対象のデータベース インスタンス (ここでは 仮想コアベースの Azure Cosmos DB for MongoDB) に挿入します。
    • JSON と CSV はコンパクトな形式ではありません。そのため、mongoimport によって仮想コアベースの Azure Cosmos DB for MongoDB にデータが送信される際に、追加のネットワーク料金が発生することがあります。
  • "mongodump と mongorestore" は、MongoDB データベース全体を移行するための最適な移行ツールのペアです。 コンパクトな BSON 形式なら、データが仮想コアベースの Azure Cosmos DB for MongoDB に挿入される際に、ネットワーク リソースがより効率的に使用されます。
    • mongodump は、既存のデータを BSON ファイルとしてエクスポートします。
    • mongorestore は、BSON ファイル ダンプを仮想コアベースの Azure Cosmos DB for MongoDB にインポートします。

Note

MongoDB ネイティブ ツールは、ホスト ハードウェアで可能な速度でのみデータを移動できます。

Azure Databricks を使用したデータ移行 (オフラインまたはオンライン)

Azure Databricks を使用した移行では、移行率とデータ変換を完全に制御できます。 また、この方法では、TB サイズの大規模なデータセットをサポートすることもできます。 Spark 移行ユーティリティは、Databricks 内のジョブとして動作します。

このツールは、次の MongoDB ソースをサポートしています。

  • MongoDB VM
  • MongoDB Atlas
  • AWS DocumentDB
  • Azure Cosmos DB MongoDB RU (オフラインのみ)

Spark 移行ツールの GitHub リポジトリにアクセスするには、Azure Cosmos DB for MongoDB Spark 移行にサインアップします。 リポジトリでは、さまざまな Mongo ソースから仮想コア ベースの Azure Cosmos DB for MongoDB にワークロードを移行するための詳細な手順を段階的に説明しています。