移行リスクに関する参考資料
移行前分析は、 ソースデータベース内の移行リスクを一覧表示するレポートを生成します。この参照ページでは、サポートされているデータベースでRelational Migratorが検出する可能性のあるすべての移行リスクを一覧表示します。
リスク カテゴリ
移行リスクは、次のいずれかに分類されます。
データ型: MongoDBに移行するときに精度が失われたり、データが失われたりする可能性のあるデータ型。
スキーマ: ソースデータベーススキーマをMongoDBにマッピングする際に問題が発生するデータベースまたはテーブル構成。
サポートされていない機能: MongoDBではサポートされていない他のデータベースの機能。
パフォーマンス: MongoDBにデータを移行するときにパフォーマンスの問題を発生させる可能性があるデータベースまたはテーブル構成。
リスク参考資料
名前 | タイプ | カテゴリ | 難しさ | レポート メッセージ | 軽減 |
---|---|---|---|---|---|
地理空間データ | テーブル | データ型: | 高 | <columns>テーブルには、特別な処理を必要とする列が含まれています。 | データベースに地理空間データを保存しています。これらは、 |
BLOB のタイプ | テーブル | データ型: | 平均 | このテーブルには、16MB の制限を超える可能性のある列が含まれています。 | レコードに >16MB を保存している場合、MongoDBドキュメントは 16MB を超えることができないため、移行は失敗します。 MongoDBに大容量のブロブを保存しないことを強くお勧めしますが、マルチドキュメントトランザクションが必要ない場合は、GridFS を使用できます。 |
数値精度(指定) | テーブル | データ型 | 平均 | 次の列は 10 進数の精度によりデータが失われるリスクがあります: <columns>。 | 指定された列は、 Decimal128フィールドでサポートされているよりも高い 10 進数の精度をサポートするように構成されています。移行中に、これらの値は 34 の有効数値に丸められます。 |
数値精度(指定なし) | テーブル | データ型 | 平均 | 次の列は小数の精度によりデータが失われるリスクがある可能性があります:<columns> | 指定された列は変数 10 進数の精度を使用しており、 Decimal128フィールドでサポートされているよりも多くの 10 進数の精度を持つ値を含む場合があります。移行中に、これらの値は 34 の有効数値に丸められます。 |
自動インクリメント列 | テーブル | スキーマ | 高 | テーブル<name>には自動インクリメント列があります。 | MongoDB、ID の増加がシャーディング を困難にするため、 IDフィールドに ObjectID を使用することをお勧めします。 MongoDB Relational Migrator はキーを そのままで移行できますが、この動作を維持するにはコードを記述する必要があります。 MongoDB Atlasを使用している場合は、Atlas Triggers を使用して ID を自動インクリメントできます。 |
外部キーが見つかりません | Database | スキーマ | 平均 | <name>データベースには外部キーがありません。 | これにより、テーブル間の関係を推測できないため、スキーママッピングがより複雑になります。 Migrator の 合成外部キー 機能を使用して、テーブル間の論理的な関係を定義できます。 |
ビュー | Database | スキーマ | 平均 | <database>でビューが検出されました。 | ビューはMongoDBでサポートされていますが、 MQLに変換する必要があります。クエリ 変換 を使用してビューを移行することを検討してください。 |
トリガー | Database | サポートされていない機能 | 高 | <name> データベースには trigger があります。 | MongoDB には、trigger を実装するネイティブ方法はありません。 Atlas を使用している場合は、クエリ変換 を使用して既存の trigger を Atlas triggers に変換し、既存の動作を複製することを検討してください。 |
ルーチン | Database | サポートされていない機能 | 平均 | <database>で検出されたルーチンがありました。 | MongoDB には、ルーチンを表すネイティブ方法はありません。ルーチンをアプリケーションコードに移行するには、クエリ変換 の使用を検討してください。 |
大きな単一テーブル | Database | パフォーマンス | 平均 | 選択したテーブルの合計データ サイズが<limit> GBより大きく、100 GBです。 | 大規模なデータ移行ジョブでは、パフォーマンスと信頼性を最大化するために慎重な計画が必要になる場合があります。ドキュメントの「 デプロイに関する考慮トピックでは、役立つアドバイスが提供されています。複数日間実行される可能性のあるジョブには、 Kafka配置モデル の使用を検討してください。 |
名前 | タイプ | カテゴリ | 難しさ | レポート メッセージ | 軽減 |
---|---|---|---|---|---|
地理空間データ | テーブル | データ型: | 高 | <columns>テーブルには、特別な処理を必要とする列が含まれています。 | データベースに地理空間データを保存しています。これらは、 |
BLOB のタイプ | テーブル | データ型: | 平均 | このテーブルには、16MB の制限を超える可能性のある列が含まれています。 | レコードに >16MB を保存している場合、MongoDBドキュメントは 16MB を超えることができないため、移行は失敗します。 MongoDBに大容量のブロブを保存しないことを強くお勧めしますが、マルチドキュメントトランザクションが必要ない場合は、GridFS を使用できます。 |
数値精度(指定) | テーブル | データ型 | 平均 | 次の列は 10 進数の精度によりデータが失われるリスクがあります: <columns>。 | 指定された列は、 Decimal128フィールドでサポートされているよりも高い 10 進数の精度をサポートするように構成されています。移行中に、これらの値は 34 の有効数値に丸められます。 |
数値精度(指定なし) | テーブル | データ型 | 平均 | 次の列は小数の精度によりデータが失われるリスクがある可能性があります:<columns> | 指定された列は変数 10 進数の精度を使用しており、 Decimal128フィールドでサポートされているよりも多くの 10 進数の精度を持つ値を含む場合があります。移行中に、これらの値は 34 の有効数値に丸められます。 |
日付のタイムゾーン | テーブル | データ型: | 平均 | <type>タイプの列を検出しました。 MongoDB はデフォルトで時刻を UTC で保存し、 Relational Migrator はすべてのローカル時間表現をこの形式または直接の string に変換できます。影響を受ける列:<columns> 。 | MongoDB、時間データを含むタイムゾーンの保存はサポートされていません。アプリケーションで目的のタイムゾーンに変換するか、string として保存することを検討してください。 |
ディスク上のファイル | テーブル | データ型: | 平均 | タイプ<type>の列が検出されました。このタイプでは、MongoDBへの移行は現在サポートされていません。影響を受ける列:<columns>。 |
|
サポートされていないOracleの型 | テーブル | データ型: | 平均 | タイプ<type>の列が検出されました。このタイプでは、MongoDBへの移行は現在サポートされていません。影響を受ける列:<columns>。 | レポートでは、サポートされていない特定のタイプのすべての列が 1 つの項目にグループ化されます。
|
自動インクリメント列 | テーブル | スキーマ | 高 | テーブル<name>には自動インクリメント列があります。 | MongoDB、ID の増加がシャーディング を困難にするため、 IDフィールドに ObjectID を使用することをお勧めします。 MongoDB Relational Migrator はキーを そのままで移行できますが、この動作を維持するにはコードを記述する必要があります。 MongoDB Atlasを使用している場合は、Atlas Triggers を使用して ID を自動インクリメントできます。 |
外部キーが見つかりません | Database | スキーマ | 平均 | <name>データベースには外部キーがありません。 | これにより、テーブル間の関係を推測できないため、スキーママッピングがより複雑になります。 Migrator の 合成外部キー 機能を使用して、テーブル間の論理的な関係を定義できます。 |
ビュー | Database | スキーマ | 平均 | <database>でビューが検出されました。 | ビューはMongoDBでサポートされていますが、 MQLに変換する必要があります。クエリ 変換 を使用してビューを移行することを検討してください。 |
トリガー | Database | サポートされていない機能 | 高 | <name> データベースには trigger があります。 | MongoDB には、trigger を実装するネイティブ方法はありません。 Atlas を使用している場合は、クエリ変換 を使用して既存の trigger を Atlas triggers に変換し、既存の動作を複製することを検討してください。 |
ルーチン | Database | サポートされていない機能 | 平均 | <database>で検出されたルーチンがありました。 | MongoDB には、ルーチンを表すネイティブ方法はありません。ルーチンをアプリケーションコードに移行するには、クエリ変換 の使用を検討してください。 |
Oracleパッケージ | Database | サポートされていない機能 | 平均 | パッケージは、論理的に関連する PL/ SQL型、変数、定数、サブプログラム、カーソル、および例外をグループ化するスキーマオブジェクトです。パッケージはコンパイルされ、データベースに保存され、多くのアプリケーションがその内容を共有できます。 | MongoDB には、 Oracleパッケージと同等の機能はありません。クエリ 変換 を使用して、テーブル間の論理的な関係を定義できます。 |
大きな単一テーブル | Database | パフォーマンス | 平均 | 選択したテーブルの合計データ サイズが<limit> GBより大きく、100 GBです。 | 大規模なデータ移行ジョブでは、パフォーマンスと信頼性を最大化するために慎重な計画が必要になる場合があります。ドキュメントの「 デプロイに関する考慮トピックでは、役立つアドバイスが提供されています。複数日間実行される可能性のあるジョブには、 Kafka配置モデル の使用を検討してください。 |
名前 | タイプ | カテゴリ | 難しさ | レポート メッセージ | 軽減 |
---|---|---|---|---|---|
地理空間データ | テーブル | データ型: | 高 | <columns>テーブルには、特別な処理を必要とする列が含まれています。 | データベースに地理空間データを保存しています。これらは、 |
BLOB のタイプ | テーブル | データ型: | 平均 | このテーブルには、16MB の制限を超える可能性のある列が含まれています。 | レコードに >16MB を保存している場合、MongoDBドキュメントは 16MB を超えることができないため、移行は失敗します。 MongoDBに大容量のブロブを保存しないことを強くお勧めしますが、マルチドキュメントトランザクションが必要ない場合は、GridFS を使用できます。 |
数値精度(指定) | テーブル | データ型 | 平均 | 次の列は 10 進数の精度によりデータが失われるリスクがあります: <columns>。 | 指定された列は、 Decimal128フィールドでサポートされているよりも高い 10 進数の精度をサポートするように構成されています。移行中に、これらの値は 34 の有効数値に丸められます。 |
数値精度(指定なし) | テーブル | データ型 | 平均 | 次の列は小数の精度によりデータが失われるリスクがある可能性があります:<columns> | 指定された列は変数 10 進数の精度を使用しており、 Decimal128フィールドでサポートされているよりも多くの 10 進数の精度を持つ値を含む場合があります。移行中に、これらの値は 34 の有効数値に丸められます。 |
日付のタイムゾーン | テーブル | データ型: | 平均 | <type>タイプの列を検出しました。 MongoDB はデフォルトで時刻を UTC で保存し、 Relational Migrator はすべてのローカル時間表現をこの形式または直接の string に変換できます。影響を受ける列:<columns> 。 | MongoDB、時間データを含むタイムゾーンの保存はサポートされていません。アプリケーションで目的のタイムゾーンに変換するか、string として保存することを検討してください。 |
自動インクリメント列 | テーブル | スキーマ | 高 | テーブル<name>には自動インクリメント列があります。 | MongoDB、ID の増加がシャーディング を困難にするため、 IDフィールドに ObjectID を使用することをお勧めします。 MongoDB Relational Migrator はキーを そのままで移行できますが、この動作を維持するにはコードを記述する必要があります。 MongoDB Atlasを使用している場合は、Atlas Triggers を使用して ID を自動インクリメントできます。 |
外部キーが見つかりません | Database | スキーマ | 平均 | <name>データベースには外部キーがありません。 | これにより、テーブル間の関係を推測できないため、スキーママッピングがより複雑になります。 Migrator の 合成外部キー 機能を使用して、テーブル間の論理的な関係を定義できます。 |
ビュー | Database | スキーマ | 平均 | <database>でビューが検出されました。 | ビューはMongoDBでサポートされていますが、 MQLに変換する必要があります。クエリ 変換 を使用してビューを移行することを検討してください。 |
マテリアライズドビュー | Database | サポートされていない機能 | 平均 | 次の場所でマテリアライズドビューが検出されました: <database> | MongoDB はオンデマンド マテリアライズドビューをサポートしています。これらの生成をスケジュールするか、Atlas triggers と $merge を使用してそれらを維持できます。 |
トリガー | Database | サポートされていない機能 | 高 | <name> データベースには trigger があります。 | MongoDB には、trigger を実装するネイティブ方法はありません。 Atlas を使用している場合は、クエリ変換 を使用して既存の trigger を Atlas triggers に変換し、既存の動作を複製することを検討してください。 |
ルーチン | Database | サポートされていない機能 | 平均 | <database>で検出されたルーチンがありました。 | MongoDB には、ルーチンを表すネイティブ方法はありません。ルーチンをアプリケーションコードに移行するには、クエリ変換 の使用を検討してください。 |
大きな単一テーブル | Database | パフォーマンス | 平均 | 選択したテーブルの合計データ サイズが<limit> GBより大きく、100 GBです。 | 大規模なデータ移行ジョブでは、パフォーマンスと信頼性を最大化するために慎重な計画が必要になる場合があります。ドキュメントの「 デプロイに関する考慮トピックでは、役立つアドバイスが提供されています。複数日間実行される可能性のあるジョブには、 Kafka配置モデル の使用を検討してください。 |
名前 | タイプ | カテゴリ | 難しさ | レポート メッセージ | 軽減 |
---|---|---|---|---|---|
地理空間データ | テーブル | データ型: | 高 | <columns>テーブルには、特別な処理を必要とする列が含まれています。 | データベースに地理空間データを保存しています。これらは、 |
BLOB のタイプ | テーブル | データ型: | 平均 | このテーブルには、16MB の制限を超える可能性のある列が含まれています。 | レコードに >16MB を保存している場合、MongoDBドキュメントは 16MB を超えることができないため、移行は失敗します。 MongoDBに大容量のブロブを保存しないことを強くお勧めしますが、マルチドキュメントトランザクションが必要ない場合は、GridFS を使用できます。 |
数値精度(指定) | テーブル | データ型 | 平均 | 次の列は 10 進数の精度によりデータが失われるリスクがあります: <columns>。 | 指定された列は、 Decimal128フィールドでサポートされているよりも高い 10 進数の精度をサポートするように構成されています。移行中に、これらの値は 34 の有効数値に丸められます。 |
数値精度(指定なし) | テーブル | データ型 | 平均 | 次の列は小数の精度によりデータが失われるリスクがある可能性があります:<columns> | 指定された列は変数 10 進数の精度を使用しており、 Decimal128フィールドでサポートされているよりも多くの 10 進数の精度を持つ値を含む場合があります。移行中に、これらの値は 34 の有効数値に丸められます。 |
日付のタイムゾーン | テーブル | データ型: | 平均 | <type>タイプの列を検出しました。 MongoDB はデフォルトで時刻を UTC で保存し、 Relational Migrator はすべてのローカル時間表現をこの形式または直接の string に変換できます。影響を受ける列:<columns> 。 | MongoDB、時間データを含むタイムゾーンの保存はサポートされていません。アプリケーションで目的のタイムゾーンに変換するか、string として保存することを検討してください。 |
ディスク上のファイル | テーブル | データ型: | 平均 | タイプ<type>の列が検出されました。このタイプでは、MongoDBへの移行は現在サポートされていません。影響を受ける列:<columns>。 |
|
サポートされていないSQL Server のタイプ | テーブル | データ型: | 平均 | タイプ<type>の列が検出されました。このタイプでは、MongoDBへの移行は現在サポートされていません。影響を受ける列:<columns>。 | レポートでは、サポートされていない特定のタイプのすべての列が 1 つの項目にグループ化されます。
|
自動インクリメント列 | テーブル | スキーマ | 高 | テーブル<name>には自動インクリメント列があります。 | MongoDB、ID の増加がシャーディング を困難にするため、 IDフィールドに ObjectID を使用することをお勧めします。 MongoDB Relational Migrator はキーを そのままで移行できますが、この動作を維持するにはコードを記述する必要があります。 MongoDB Atlasを使用している場合は、Atlas Triggers を使用して ID を自動インクリメントできます。 |
外部キーが見つかりません | Database | スキーマ | 平均 | <name>データベースには外部キーがありません。 | これにより、テーブル間の関係を推測できないため、スキーママッピングがより複雑になります。 Migrator の 合成外部キー 機能を使用して、テーブル間の論理的な関係を定義できます。 |
ビュー | Database | スキーマ | 平均 | <database>でビューが検出されました。 | ビューはMongoDBでサポートされていますが、 MQLに変換する必要があります。クエリ 変換 を使用してビューを移行することを検討してください。 |
トリガー | Database | サポートされていない機能 | 高 | <name> データベースには trigger があります。 | MongoDB には、trigger を実装するネイティブ方法はありません。 Atlas を使用している場合は、クエリ変換 を使用して既存の trigger を Atlas triggers に変換し、既存の動作を複製することを検討してください。 |
ルーチン | Database | サポートされていない機能 | 平均 | <database>で検出されたルーチンがありました。 | MongoDB には、ルーチンを表すネイティブ方法はありません。ルーチンをアプリケーションコードに移行するには、クエリ変換 の使用を検討してください。 |
大きな単一テーブル | Database | パフォーマンス | 平均 | 選択したテーブルの合計データ サイズが<limit> GBより大きく、100 GBです。 | 大規模なデータ移行ジョブでは、パフォーマンスと信頼性を最大化するために慎重な計画が必要になる場合があります。ドキュメントの「 デプロイに関する考慮トピックでは、役立つアドバイスが提供されています。複数日間実行される可能性のあるジョブには、 Kafka配置モデル の使用を検討してください。 |