Relational Migrator は、リレーショナルデータベースからMongoDBへの移行に役立つ無料ツールです。このページでは、Relational Migrator の 主要機能、ユースケース、移行シナリオ、サポートされているデータベースとバージョンの概要を説明します。
主な特徴
マップとモデル データ
Relational Migrator は、リレーショナルスキーマをMongoDBスキーマにマッピングするためのエンティティ関係図ビルダを提供します。推奨スキーマ、1:1 マッピングを使用して開始することも、新しいスキーマを最初から作成することもできます。詳細については、データ モデリング を参照してください。
アプリケーション コードの生成
Relational Migrator は、エンティティ クラス、永続性レイヤー、API 向けにMongoDBと互換性のあるC#、 Java、およびJavaScriptアプリケーションコードを生成します。
コード生成テンプレートは、 JSON出力や、spring Data、Node、 Mongooseなどの一般的なアプリケーションフレームワークをサポートしています。詳細については、コード生成テンプレート を参照してください。
SQLオブジェクトの変換と検証
Relational Migrator は生成系AIを使用して、 SQLクエリ、ビュー、および保存済み手順をC#、 Java、またはJavaScriptのMongoDB互換コードに変換します。
Relational Migrator内でクエリをテストして、変換されたSQLを検証し、クエリがMongoDBと互換性があることを確認できます。
MongoDBに移行する
Relational Migratorを使用して、サポートされているリレーショナルデータベースからMongoDB Atlasまたは自己管理型MongoDBデプロイにデータを移行します。スナップショット移行または、 変更データキャプチャ(CDC)を使用した継続的な同期 のいずれかを選択できます。詳細については、ユースケースを参照してください。
Relational Migrator は、大増やすな移行を行うためにApache Kafkaおよび Confluent Cloud と統合します。詳細については、Kafka の配置を参照してください。
ユースケース
Relational Migrator は、スナップショットと継続的な移行ジョブの両方をサポートします。
スナップショット移行ジョブはすべてのデータを一度だけ移行し、その後停止します。スナップショット移行は、ポイントインタイムデータベース移行、バッチする移行、増分同期に使用できます。また、テーブル フィルターと併用して、大規模な移行ジョブを並列バッチに分裂、パフォーマンスを向上させることもできます。
継続的な移行ジョブはスナップショット移行を実行し、データ変更を継続的に複製する CDC ステージに入ります。
一部の関係データベースは、スナップショット移行ジョブとのみ互換性があります。詳しくは、次の表を参照してください。
Database | スナップショット移行ジョブのサポート | 継続的な移行ジョブのサポート |
---|---|---|
JDBC ドライバーでサポートされているデータベース |
移行シナリオ
Relational Migrator を使用して、一度に 1 つのレガシーアプリケーションを MongoDB に移行できます。 アプリケーションのニーズに応じて、ダウンタイムありまたはダウンタイムなしで移行できます。
スケジュールされたダウンタイム中の移行
内部アプリケーションの場合など、アプリケーションが継続的なアップタイムを必要としない場合は、スケジュールされたダウンタイム中に移行を実行することができます。 ダウンタイム中に移行することが、移行プロセスを構成して完了する最も簡単な方法です。
移行プロセスを開始すると、Relational Migrator はレガシーアプリケーション上のデータのスナップショットを取得し、その時点からデータを移行します。 移行プロセス中、レガシーアプリケーションはオンラインを維持して受信読み取りをサポートできますが、受信書込みをサポートすることはできません。 移行プロセスの長さは、移行されるデータ量や接続速度など、いくつかの要因によって異なります。
移行が完了したら、レガシーアプリケーションをオフラインにして、新しいアプリケーションを起動します。
ダウンタイムなしで移行
移行プロセス中にアプリケーションがオンラインのままで読み取りと書込みをサポートする必要がある場合は、CDC を使用するとダウンタイムなしでデータを移行できます。このプロセスは 継続的な 移行と呼ばれます。
継続的な移行ジョブを開始すると、 Relational Migrator はレガシーアプリケーション上のデータのスナップショットを取得し、ほぼリアルタイムでデータベースの更新を追跡します。移行プロセス中、ソースデータベースと宛先データベースは同期されたままです。
継続的な移行ジョブが完了したら、ユーザーを新しいアプリケーションに転送し、レガシーアプリケーションをシャットダウンできます。
移行ジョブの詳細については、データ移行を参照してください。
サポートされていないシナリオ
Relational Migrator は現在、運用データ ストアの移行をサポートしていません。ワークロードによっては、データ ストアを移行すると、CDC が完了せずに無期限に実行される可能性があるため、 Relational Migratorでは推奨されません。
サポートされているデータベースとバージョン
移行元のデータベースとバージョン
Relational Migrator は、次のソース データベースをサポートしています。
Database | サポートされているバージョン | 配置 |
---|---|---|
2012 以降(2016 以前のバージョンには Enterprise または Developer エディションが必要) | セルフホスト型、 Amazon Web Services RDS、 Azure SQL Database | |
5.7 以降 | セルフホスト型、 Amazon Web Services RDS/Aurra、 Azure Database | |
11 g 以上 | セルフホスト型、 Amazon Web Services RDS | |
10 以上 | セルフホスト型、 Amazon Web Services RDS/Aurra、 Azure Database | |
10 以上 | セルフホスト型、 Amazon Web Services RDS/Aurra、 Azure Database |
関係データベースへの接続の詳細については、データベースへの接続を参照してください。
JDBC ドライバーでサポートされているデータベース
重要
この機能はpublic previewです。
一部のデータベースは、JDBC 接続を介したスナップショット データの移行がサポートされています。これらのデータベースに対してスナップショット移行ジョブを実行できますが、継続的な CDC 同期ジョブは実行できません。
Database | サポートされているバージョン | 配置 |
---|---|---|
CockroachDB | 24.3.0 以上 | セルフホスト型 |
DB2 | 11.5 以上 | セルフホスト型、 Amazon Web Services RDS |
SQL任意 | 16.0 以上 | セルフホスト型 |
Sybase ASE | 15 以上 | セルフホスト型 |
Sybase IQ | 16.0 以上 | セルフホスト型 |
Yugabyte | 2.20 以上 | セルフホスト型 |
対象となるデータベースとバージョン
Relational Migrator は、次のターゲット データベースをサポートしています。
配置タイプ | サポートされているバージョン |
---|---|
MongoDB Server (自己管理型) | 5.0 以上 |
MongoDB Atlas | 5.0 以上 |
MongoDBへの接続の詳細については、 MongoDBへの接続 を参照してください。