次の方法で共有


MongoDB から Azure DocumentDB にデータを移行するオプションは何ですか?

このドキュメントでは、MongoDB ワークロードを Azure DocumentDB オファリングにリフト アンド シフトするためのさまざまなオプションについて説明します。

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

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

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

移行前の評価

互換性評価を実行するには、 Azure DocumentDB Migration 拡張機能 を使用します。 このステージの目的は、現在の MongoDB ソリューションに存在する非互換性または警告を特定することです。 移行プロセスに進む前に、評価結果で見つかった問題を解決する必要があります。

ヒント

サポートされている MongoDB クエリ言語 (MQL) の機能と構文を詳細に確認し、実際の移行の前に概念実証を実行することをお勧めします。

Migration

この記事で説明するツールは、次のソースから MongoDB ワークロードを移行する際に役立ちます。

  • MongoDB 仮想マシン
  • MongoDB Atlas
  • AWS DocumentDB

Azure DocumentDB 移行拡張機能

Azure DocumentDB Migration Extension (パブリック プレビュー) を使用して Visual Studio Code で移行ジョブを作成および管理します。これは、シンプルさセキュリティダウンタイムゼロを目的として設計されたソリューションです。

このツールは、サービスを中断することなくワークロードを移行するのに役立つ、明確で詳細なガイダンスを提供します。 次のようにすることができます。

  • 移行する特定のデータベースとコレクションを選択する
  • 使い慣れた VS Code インターフェイス内のすべての手順を実行する
  • プロセス全体を通じて セキュリティで保護された接続 を確保する
  • 拡張機能を使用するための ゼロ コスト をお楽しみください

Azure DocumentDB 移行拡張機能を使用すると、管理とセキュリティを維持しながら、インフラストラクチャや複雑さを増すことなく、移行の過程を合理化できます。

Web アプリ ユーティリティ (オンライン)

効率、信頼性、使いやすさを考慮して設計された MongoMigrationwebBasedUtility ツールを使用して、Azure DocumentDB への移行を効率化します。 リポジトリには、ワークロードを移行するための詳細な手順が用意されています。 このツールは、オンラインとオフラインの両方のデータ移行にシームレスなエクスペリエンスを提供します。 このプロセスはユーザー フレンドリであり、ソースとターゲットの詳細のみを指定する必要があります。 これにより、制御、セキュリティ、スケーラビリティを維持しながら MongoDB コレクションを簡単に移行でき、Azure DocumentDB の可能性を最大限に引き出します。

主な機能は次のとおりです。

  • セキュリティを強化するために、仮想ネットワーク内のプライベートデプロイをサポートします
  • 接続の損失または一時的なエラーがある場合の自動再開機能
  • ユーザーフレンドリなインターフェイス
  • GitHub 上の C# ソース コードへのアクセス

このツールは柔軟なデプロイ オプションをサポートし、他の Azure リソースに依存することなく独立して動作します。 さらに、カスタマイズ可能な Azure Web App の価格プランでスケーラブルなパフォーマンスを提供します。

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

mongodump/mongorestore、mongoexport/mongoimport などのネイティブ MongoDB ツールを使用して、(ライブ変更をレプリケートせずに) データセットを Azure DocumentDB オファリングにオフラインで移行することもできます。

Scenario MongoDB ネイティブ ツール
データベース データのサブセットを移動する (JSON/CSV ベース) mongoexport と mongoimport
データベース全体を移動する (BSON ベース) mongodump と mongorestore
  • "mongoexport と mongoimport" は、MongoDB データベースのサブセットを移行するための最適な移行ツールのペアです。
    • mongoexport は、既存のデータを人間が判読できる JSON ファイルまたは CSV ファイルにエクスポートします。 mongoexport は、エクスポートする既存のデータのサブセットを指定する引数を受け取ります。
    • mongoimport は JSON または CSV ファイルを開き、ターゲット データベース インスタンス (この場合は Azure DocumentDB) にコンテンツを挿入します。
    • JSON と CSV はコンパクトな形式ではありません。 mongoimport が Azure DocumentDB にデータを送信すると、過剰なネットワーク料金が発生する可能性があります。
  • "mongodump と mongorestore" は、MongoDB データベース全体を移行するための最適な移行ツールのペアです。 コンパクトな BSON 形式では、データが Azure DocumentDB に挿入されるため、ネットワーク リソースをより効率的に使用できます。
    • mongodump は、既存のデータを BSON ファイルとしてエクスポートします。
    • mongorestore は、BSON ファイル ダンプを Azure DocumentDB にインポートします。

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