ANNOUNCEMENT: Voyage AI joins MongoDB to power more accurate and trustworthy AI applications on Atlas.
Learn more
Docs Menu

移行リスクに関する参考資料

移行前分析は、 ソースデータベース内の移行リスクを一覧表示するレポートを生成します。この参照ページでは、サポートされているデータベースでRelational Migratorが検出する可能性のあるすべての移行リスクを一覧表示します。

移行リスクは、次のいずれかに分類されます。

  • データ型: MongoDBに移行するときに精度が失われたり、データが失われたりする可能性のあるデータ型。

  • スキーマ: ソースデータベーススキーマをMongoDBにマッピングする際に問題が発生するデータベースまたはテーブル構成。

  • サポートされていない機能: MongoDBではサポートされていない他のデータベースの機能。

  • パフォーマンス: MongoDBにデータを移行するときにパフォーマンスの問題を発生させる可能性があるデータベースまたはテーブル構成。

名前
タイプ
カテゴリ
難しさ
レポート メッセージ
軽減

地理空間データ

テーブル

データ型: MYSQL_GEOMETRYMYSQL_POINTMYSQL_LINESTRINGMYSQL_POLYGONMYSQL_MULTIPOINTMYSQL_MULTILINESTRINGMYSQL_MULTIPOLYGONMYSQL_GEOMETRYCOLLECTION

<columns>テーブルには、特別な処理を必要とする列が含まれています。

データベースに地理空間データを保存しています。これらは、srid (int) 座標参照と WKB(既知のバイナリ)形式の wkb (binary) コンテンツを持つオブジェクトに変換されます

BLOB のタイプ

テーブル

データ型: MYSQL_MEDIUMBLOBMYSQL_LONGBLOBMYSQL_MEDIUMTEXTMYSQL_LONGTEXT

平均

このテーブルには、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配置モデル の使用を検討してください。

名前
タイプ
カテゴリ
難しさ
レポート メッセージ
軽減

地理空間データ

テーブル

データ型: ORACLE_SDO_GEOMETRYORACLE_SDO_GTYPEORACLE_SDO_SRIDORACLE_SDO_POINTORACLE_SDO_ELEM_INFOORACLE_SDO_ORDINATES

<columns>テーブルには、特別な処理を必要とする列が含まれています。

データベースに地理空間データを保存しています。これらは、srid (int) 座標参照と WKB(既知のバイナリ)形式の wkb (binary) コンテンツを持つオブジェクトに変換されます

BLOB のタイプ

テーブル

データ型: ORACLE_BLOBORACLE_CLOBORACLE_NCLOB

平均

このテーブルには、16MB の制限を超える可能性のある列が含まれています。

レコードに >16MB を保存している場合、MongoDBドキュメントは 16MB を超えることができないため、移行は失敗します。 MongoDBに大容量のブロブを保存しないことを強くお勧めしますが、マルチドキュメントトランザクションが必要ない場合は、GridFS を使用できます。

数値精度(指定)

テーブル

データ型

平均

次の列は 10 進数の精度によりデータが失われるリスクがあります: <columns>。

指定された列は、 Decimal128フィールドでサポートされているよりも高い 10 進数の精度をサポートするように構成されています。移行中に、これらの値は 34 の有効数値に丸められます。

数値精度(指定なし)

テーブル

データ型

平均

次の列は小数の精度によりデータが失われるリスクがある可能性があります:<columns>

指定された列は変数 10 進数の精度を使用しており、 Decimal128フィールドでサポートされているよりも多くの 10 進数の精度を持つ値を含む場合があります。移行中に、これらの値は 34 の有効数値に丸められます。

日付のタイムゾーン

テーブル

データ型: ORACLE_TIMESTAMP_WITH_TIME_ZONEORACLE_TIMESTAMP_WITH_LOCAL_TIME_ZONE

平均

<type>タイプの列を検出しました。 MongoDB はデフォルトで時刻を UTC で保存し、 Relational Migrator はすべてのローカル時間表現をこの形式または直接の string に変換できます。影響を受ける列:<columns> 。

MongoDB、時間データを含むタイムゾーンの保存はサポートされていません。アプリケーションで目的のタイムゾーンに変換するか、string として保存することを検討してください。

ディスク上のファイル

テーブル

データ型:ORACLE_BFILE

平均

タイプ<type>の列が検出されました。このタイプでは、MongoDBへの移行は現在サポートされていません。影響を受ける列:<columns>。

ORACLE_BFILE はMongoDBではサポートされていません。ファイルをデータベースに保存する必要があり、マルチドキュメントトランザクションが必要ない場合は、GridFSを使用できます。それ以外の場合は、代わりにクラウドストレージにファイルを保存し、URI を記録することをお勧めします。

サポートされていないOracleの型

テーブル

データ型: ORACLE_LONGORACLE_LONG_RAWORACLE_UROWID

平均

タイプ<type>の列が検出されました。このタイプでは、MongoDBへの移行は現在サポートされていません。影響を受ける列:<columns>。

レポートでは、サポートされていない特定のタイプのすべての列が 1 つの項目にグループ化されます。

  • ORACLE_LONGデータ型はOracleによって非推奨となり、同等のLOB データ型はMongoDBではサポートされていません。ファイルをデータベースに保存する必要があり、マルチドキュメントトランザクションが必要ない場合は、GridFSを使用できます。それ以外の場合は、代わりにクラウドストレージにファイルを保存し、URI を記録することをお勧めします。

  • ORACLE_UROWIDデータ型は基本的に別の行への FD であり、バイナリとして保存されます。データ移行 を支援するために、可能な場合は明示的な ID を使用して、FC を適用するように移行することをお勧めします。

自動インクリメント列

テーブル

スキーマ

テーブル<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配置モデル の使用を検討してください。

名前
タイプ
カテゴリ
難しさ
レポート メッセージ
軽減

地理空間データ

テーブル

データ型: POSTGRES_POINTPOSTGRES_LINEPOSTGRES_LSEGPOSTGRES_BOXPOSTGRES_PATHPOSTGRES_POLYGONPOSTGRES_CIRCLE

<columns>テーブルには、特別な処理を必要とする列が含まれています。

データベースに地理空間データを保存しています。これらは、srid (int) 座標参照と WKB(既知のバイナリ)形式の wkb (binary) コンテンツを持つオブジェクトに変換されます

BLOB のタイプ

テーブル

データ型: POSTGRES_BYTEAPOSTGRES_TEXTPOSTGRES_BPCHAR

平均

このテーブルには、16MB の制限を超える可能性のある列が含まれています。

レコードに >16MB を保存している場合、MongoDBドキュメントは 16MB を超えることができないため、移行は失敗します。 MongoDBに大容量のブロブを保存しないことを強くお勧めしますが、マルチドキュメントトランザクションが必要ない場合は、GridFS を使用できます。

数値精度(指定)

テーブル

データ型

平均

次の列は 10 進数の精度によりデータが失われるリスクがあります: <columns>。

指定された列は、 Decimal128フィールドでサポートされているよりも高い 10 進数の精度をサポートするように構成されています。移行中に、これらの値は 34 の有効数値に丸められます。

数値精度(指定なし)

テーブル

データ型

平均

次の列は小数の精度によりデータが失われるリスクがある可能性があります:<columns>

指定された列は変数 10 進数の精度を使用しており、 Decimal128フィールドでサポートされているよりも多くの 10 進数の精度を持つ値を含む場合があります。移行中に、これらの値は 34 の有効数値に丸められます。

日付のタイムゾーン

テーブル

データ型:POSTGRES_TIMESTAMPTZ

平均

<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配置モデル の使用を検討してください。

名前
タイプ
カテゴリ
難しさ
レポート メッセージ
軽減

地理空間データ

テーブル

データ型: SQL_SERVER_GEOGRAPHYSQL_SERVER_GEOMETRY

<columns>テーブルには、特別な処理を必要とする列が含まれています。

データベースに地理空間データを保存しています。これらは、srid (int) 座標参照と WKB(既知のバイナリ)形式の wkb (binary) コンテンツを持つオブジェクトに変換されます

BLOB のタイプ

テーブル

データ型: SQLSERVER_TEXTSQLSERVER_NTEXTSQLSERVER_IMAGESQLSERVER_VARCHARSQLSERVER_NVARCHARSQLSERVER_VARBINARY

平均

このテーブルには、16MB の制限を超える可能性のある列が含まれています。

レコードに >16MB を保存している場合、MongoDBドキュメントは 16MB を超えることができないため、移行は失敗します。 MongoDBに大容量のブロブを保存しないことを強くお勧めしますが、マルチドキュメントトランザクションが必要ない場合は、GridFS を使用できます。

数値精度(指定)

テーブル

データ型

平均

次の列は 10 進数の精度によりデータが失われるリスクがあります: <columns>。

指定された列は、 Decimal128フィールドでサポートされているよりも高い 10 進数の精度をサポートするように構成されています。移行中に、これらの値は 34 の有効数値に丸められます。

数値精度(指定なし)

テーブル

データ型

平均

次の列は小数の精度によりデータが失われるリスクがある可能性があります:<columns>

指定された列は変数 10 進数の精度を使用しており、 Decimal128フィールドでサポートされているよりも多くの 10 進数の精度を持つ値を含む場合があります。移行中に、これらの値は 34 の有効数値に丸められます。

日付のタイムゾーン

テーブル

データ型:SQL_SERVER_DATETIMEOFFSET

平均

<type>タイプの列を検出しました。 MongoDB はデフォルトで時刻を UTC で保存し、 Relational Migrator はすべてのローカル時間表現をこの形式または直接の string に変換できます。影響を受ける列:<columns> 。

MongoDB、時間データを含むタイムゾーンの保存はサポートされていません。アプリケーションで目的のタイムゾーンに変換するか、string として保存することを検討してください。

ディスク上のファイル

テーブル

データ型:FILESTREAM

平均

タイプ<type>の列が検出されました。このタイプでは、MongoDBへの移行は現在サポートされていません。影響を受ける列:<columns>。

FILESTREAM はMongoDBではサポートされていません。 MongoDBではサポートされていない FILESTREAMデータ型。ファイルをデータベースに保存する必要があり、マルチドキュメントトランザクションが必要ない場合は、GridFSを使用できます。

サポートされていないSQL Server のタイプ

テーブル

データ型: SQLSERVER_HIERARCHYIDSQLSERVER_ROWVERSIONSQLSERVER_SQL_VARIANTSQLSERVER_UNIQUEIDENTIFIER

平均

タイプ<type>の列が検出されました。このタイプでは、MongoDBへの移行は現在サポートされていません。影響を受ける列:<columns>。

レポートでは、サポートされていない特定のタイプのすべての列が 1 つの項目にグループ化されます。

  • MongoDB内では SQLSERVER_HIERARCHYID に直接相当するものはありません。代わりに、埋め込みドキュメントを使用して階層データをモデル化する必要があります。

  • SQLSERVER_ROWVERSION (ROWVERSION)データ型はバージョン スタンプ テーブル行に使用されます。MongoDB 内では直接同等なものはありません。 Integer または Stringフィールドを使用してこれをシミュレートし、バージョン情報を手動で保存および増分できます。あるいは、変更ストリームはバージョン追跡に使用することもできます。

  • SQLSERVER_SQL_VARIANTデータ型は、 SQL Server がサポートするさまざまなデータ型のデータを保存する柔軟な方法です。 MongoDBにも正確な同等性はありませんが、柔軟なスキーマモデルにより、フィールドを動的に入力することで同様のストレージが可能になります。

  • MongoDBにはネイティブ GUIDデータ型がありません。 SQLSERVER_UNIQUEIDENTIFIER 型は String に移行されます。 ObjectID を使用することも、アプリケーションコード内でこれらの UUID を生成することもできます。

自動インクリメント列

テーブル

スキーマ

テーブル<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配置モデル の使用を検討してください。