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 仮想ネットワーク (VNet) を使用して制御されます。 VNET ネットワーク セキュリティ グループを構成して、ポート 53、443、445、9354、および 10000-20000 を開きます。 さらに、オンプレミスのファイアウォールを構成して、これらのポートを介してオンプレミスの MongoDB サーバーにアクセスできるようにする必要もあります。

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

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

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

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

オフライン移行の方が高速ですが、オンライン移行ではダウンタイムが少なくなります。 ダウンタイムは、オフラインの場合移行が開始されたときに始まりますが、オンラインの場合新しいデータベースへの切り替えが行われる移行の最後に始まります。 ダウンタイムが許容できるかどうかを調査するには、ライブ システムのコピーでオフライン移行のテストを実行する必要があります。 通常はアクティビティが少ない時間に移行を実行できる可能性があります。 オフライン移行のダウンタイムが許容されない場合は、オンライン移行を選択します。

オンライン移行の詳細については、MongoDB の Azure Cosmos DB Mongo API へのオンライン移行に関するページを参照してください。

オフライン移行の詳細については、MongoDB の Azure Cosmos DB Mongo API へのオフライン移行に関するページを参照してください