MongoDB から Cosmos DB への移行計画

完了

Cosmos DB の利点を確認した後、CIO から概念実証を実行できるようになります。 プロジェクトの最初のフェーズは、データ移行を計画することです。 これには、移行されたデータをホストするための空の Cosmos DB の設定が含まれます。

このユニットでは、Cosmos DB データベースを作成し、オフラインまたはオンラインの移行方法を選択する手順について説明します。

MongoDB の互換性を確認する

移行前の最初のタスクは、サポートされているバージョンの MongoDB から移行していることを確認することです。 最新バージョンのサポートは、次のサイトで確認できます。

Azure Cosmos DB の MongoDB 用 API の : サポートされている機能と構文

Azure で Cosmos DB の使用を開始するには、MongoDB API を使用して Cosmos DB アカウントを作成します。 次に、アカウントにデータベースを作成します。 異なるデータベースでデータベース ワークロードを分離できます。この方法の利点は、スループットを設定できる粒度です。

データへのアクセスは、Azure Virtual Networks (VNet) を使用して制御されます。 ポート 53、443、445、9354、10000 から 20000 を開く VNET ネットワーク セキュリティ グループを構成します。 明らかに、オンプレミスの MongoDB サーバーへのこれらのポートを介したアクセスを許可するように、オンプレミスのファイアウォールを構成する必要もあります。

通常、移行には大量のデータ転送が含まれており、移行中に一時的にスループットを向上させることができます。 データベース レベルのスループットを指定する場合は、各コレクションに少なくとも 100 RU/秒が必要であることを考慮する必要があります。したがって、データベースの最小 RU/秒は、コレクションの数に 100 を乗算した値です。 多くの場合、データベース レベルのスループットは、移行シナリオではコレクション レベルのスループットよりも適していると思われますが、作成後にこの設定を変更することはできないので、移行後のデータベースの予想される使用に最適な設定を選択する必要があります。

オフラインまたはオンラインの移行

オフライン移行では、データベースへの接続を停止し、移行を実行してから、移行された新しいデータベースへの接続を確立します。 これらのトランザクションは失われるため、移行中の接続を防ぐためにインポートされます。

オンライン移行では、移行された新しいデータベースへの移行中に発生するすべてのトランザクションが適用されます。 トランザクションは失われません。

オフライン移行は高速ですが、オンライン移行のダウンタイムは少なくなります。 ダウンタイムは、移行がオフラインで開始されるときに開始されますが、ダウンタイムは、オンラインで新しいデータベースへのカットオーバーが発生した場合にのみ移行の終了時に開始されます。 ダウンタイムが許容できるかどうかを調査するには、ライブ システムのコピーでオフライン移行のテストを実行する必要があります。 アクティビティが通常低いときに移行を実行できる場合があります。 オフライン移行のダウンタイムが許容できない場合は、オンライン移行を選択します。

オンライン移行の詳細については、「MongoDB から Azure Cosmos DB Mongo API へのオンライン移行 を参照してください。

オフライン移行の詳細については、「MongoDB を Azure Cosmos DB Mongo API オフライン に移行する」を参照してください。