概要
Oracle NoSQL Database Migratorを使用すると、Oracle NoSQL表をあるデータ・ソースから別のデータ・ソース(オンプレミスまたはクラウドのOracle NoSQL Database、単純なJSONファイルなど)に移動できます。
Oracle NoSQL Database間でNoSQL表を移行する必要がある状況は多数あります。たとえば、NoSQL Databaseアプリケーションを拡張する開発者のチームは、cloudsimを使用して、ローカルのOracle NoSQL Database Cloud Service (NDCS)インスタンスで更新されたコードをテストする必要があります。考えられるすべてのテスト・ケースを検証するには、実際のデータと同様のテスト・データを設定する必要があります。これを行うには、本番環境からローカルNDCSインスタンス(cloudsim環境)にNoSQL表をコピーする必要があります。別の状況では、NoSQL開発者は、開発またはテストのために、アプリケーション・データをオンプレミスからクラウドに、またはその逆に移動する必要がある場合があります。
このようなすべての場合および他の多くの場合に、Oracle NoSQL Database Migratorを使用して、NoSQL表をあるデータ・ソースから別のデータ・ソース(オンプレミスまたはクラウドのOracle NoSQL Database、単純なJSONファイルなど)に移動できます。NoSQL表は、MongoDB形式のJSON入力ファイル、DynamoDB形式のJSON入力ファイル(AWS S3ソースに格納済のファイルまたは複数のファイルから格納済のファイル)またはCSVファイルからオンプレミスまたはクラウドのNoSQL Databaseにコピーすることもできます。
次の図に示すように、NoSQL Database Migratorユーティリティは、データ・ソースとターゲット(シンクと呼びます)の間のコネクタまたはパイプとして機能します。基本的に、このユーティリティは選択したソースからデータをエクスポートし、そのデータをシンクにインポートします。このツールは表指向です。つまり、表レベルでのみデータを移動できます。単一の移行タスクは単一の表で動作し、様々なデータ形式でソースからシンクへの表データの移行をサポートします。
Oracle NoSQL Database Migratorで使用される用語
前述の図で使用されている様々な用語について詳しく説明します。
- ソース: NoSQL表を移行用にエクスポートするエンティティ。ソースの例としては、オンプレミスまたはクラウドのOracle NoSQL Database、JSONファイル、MongoDB形式のJSONファイル、DynamoDB形式のJSONファイルおよびCSVファイルがあります。
- シンク: NoSQL Database MigratorからNoSQL表をインポートするエンティティ。シンクの例としては、オンプレミスまたはクラウドのOracle NoSQL Database、JSONファイルがあります。
NoSQL Database Migratorツールは、様々なタイプのソースとシンク(物理メディアまたはデータのリポジトリ)およびデータ形式(データがソースまたはシンクで表現される方法)をサポートしています。サポートされるデータ形式は、JSON、Parquet、MongoDB形式のJSON、DynamoDB形式のJSONおよびCSVファイルです。サポートされているソースおよびシンク・タイプは、ファイル、OCIオブジェクト・ストレージ、オンプレミスのOracle NoSQL DatabaseおよびOracle NoSQL Database Cloud Serviceです。
- 移行パイプ: ソースのデータは、NoSQL Database Migratorによってシンクに転送されます。これは移行パイプとして視覚化できます。
- 変換: ルールを追加して、移行パイプ内のNoSQL表データを変更できます。これらのルールは変換と呼ばれます。Oracle NoSQL Database Migratorでは、最上位のフィールドまたは列でのみデータ変換が可能です。ネストされたフィールドのデータは変換できません。許可される変換の例を次に示します。
- 1つ以上の列を削除または無視します。
- 1つ以上の列の名前を変更します。
- 複数の列を単一のフィールド(通常はJSONフィールド)に集計します。
- 構成ファイル: 構成ファイルは、移行アクティビティに必要なすべてのパラメータをJSON形式で定義する場所です。後で、この構成ファイルをCLIから
runMigrator
コマンドに1つのパラメータとして渡します。一般的な構成ファイルの形式は次のようになります。{ "source": { "type" : <source type>, //source-configuration for type. See Source Configuration Templates . }, "sink": { "type" : <sink type>, //sink-configuration for type. See Sink Configuration Templates . }, "transforms" : { //transforms configuration. See Transformation Configuration Templates . }, "migratorVersion" : "<migrator version>", "abortOnError" : <true|false> }
グループ パラメータ 必須(Y/N) 用途 サポートされる値 source
type
Y データの移行元のソースを表します。ソースは、移行用のデータおよびメタデータ(存在する場合)を提供します。 各ソースの type
値の詳細は、サポートされるソースとシンクを参照してください。source
タイプのソース構成 Y ソースの構成を定義します。これらの構成パラメータは、前述の手順で選択したソースのタイプに固有です。 各ソース・タイプの構成パラメータの一覧は、「ソース構成テンプレート」を参照してください。 sink
type
Y データの移行先のシンクを表します。シンクは、移行のターゲットまたは宛先です。 各ソースの type
値の詳細は、サポートされるソースとシンクを参照してください。sink
タイプのシンク構成 Y シンクの構成を定義します。これらの構成パラメータは、前述の手順で選択したシンクのタイプに固有です。 各シンク・タイプの構成パラメータの一覧は、シンク構成テンプレート を参照してください。 transforms
変換構成 N 移行パイプ内のデータに適用する変換を定義します。 NoSQL Data Migratorでサポートされている変換の一覧は、変換構成テンプレート を参照してください。 - migratorVersion
N NoSQL Data Migratorのバージョン - - abortOnError
N エラーの場合に移行アクティビティを停止するかどうかを指定します。
デフォルト値はtrueで、移行エラーが発生するたびに移行が停止することを示します。
この値をfalseに設定すると、失敗したレコードやその他の移行エラーが発生した場合でも移行が続行されます。失敗したレコードおよび移行エラーは、CLI端末に警告として記録されます。
true、false ノート:
JSONファイルでは大文字と小文字が区別されるため、特に指定されていないかぎり、構成ファイルで定義されているすべてのパラメータで大文字と小文字が区別されます。