概要

Oracle NoSQL Data 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 Data Migratorを使用して、NoSQL表をあるデータ・ソースから別のデータ・ソース(オンプレミスまたはクラウドのOracle NoSQL Database、単純なJSONファイルなど)に移動できます。NoSQL表をMongoDB形式のJSON入力ファイルからオンプレミスまたはクラウドのNoSQL Databaseにコピーすることもできます。

既存のオンプレミス専用のインポート/エクスポート・ユーティリティを置換および拡張するために、Oracle NoSQL Data Migratorが作成されました。NoSQL Data Migratorが既存のインポート/エクスポート・ユーティリティとどのように異なるかについては、Oracle NoSQL Data Migratorとインポート/エクスポート・ユーティリティを参照してください。

次の図に示すように、NoSQL Data Migratorユーティリティは、データ・ソースとターゲット(シンクと呼びます)の間のコネクタまたはパイプとして機能します。基本的に、このユーティリティは選択したソースからデータをエクスポートし、そのデータをシンクにインポートします。このツールは表指向です。つまり、表レベルでのみデータを移動できます。単一の移行タスクは単一の表で動作し、次のオプションをサポートしています。

  • JSONファイルからオンプレミスのOracle NoSQL Databaseへ(またはその逆)
  • JSONファイルからOracle NoSQL Database Cloud Serviceへ(またはその逆)
  • オンプレミスのOracle NoSQL DatabaseからOracle NoSQL Database Cloud Serviceへ(またはその逆)
  • MongoDB形式のJSONファイルからOracle NoSQL Database表へ
  • MongoDB形式のJSONファイルからOracle NoSQL Database Cloud Service表へ
  • Oracle NoSQL Databaseのオンプレミスから別のオンプレミスへ
  • あるOracle NoSQL Database Cloud Serviceから別のOracle NoSQL Database Cloud Serviceへ
Oracle NoSQL Data Migratorは、将来追加のソースおよびシンクをサポートできるように設計されています。現在のリリースでOracle NoSQL Data Migratorによってサポートされているソースとシンクのリストは、サポートされるソースとシンクを参照してください。

NoSQL Data Migratorで使用される用語

前述の図で使用されている様々な用語について詳しく説明します。

  • ソース: NoSQL表を移行用にエクスポートするエンティティ。ソースの例としては、オンプレミスまたはクラウドのOracle NoSQL Database、JSONファイル、MongoDB形式のJSONファイルがあります。
  • シンク: NoSQL Data MigratorからNoSQL表をインポートするエンティティ。シンクの例としては、オンプレミスまたはクラウドのOracle NoSQL Database、JSONファイルがあります。
  • 移行パイプ: ソースのデータは、NoSQL Data Migratorによってシンクに転送されます。これは移行パイプとして視覚化できます。
  • 変換: ルールを追加して、移行パイプ内のNoSQL表データを変更できます。これらのルールは変換と呼ばれます。Oracle NoSQL Data Migratorでは、最上位のフィールドまたは列でのみデータ変換が可能です。ネストされたフィールドのデータは変換できません。許可される変換の例を次に示します。
    • 1つ以上の列を削除または無視します。
    • 1つ以上の列の名前を変更します。
    • 複数の列を単一のフィールド(通常はJSONフィールド)に集計します。
  • 構成ファイル: 構成ファイルは、移行アクティビティに必要なすべてのパラメータを定義するJSONファイルです。後で、このJSONファイルをCLIからrunMigratorコマンドに単一のパラメータとして渡します。一般的な構成ファイルの形式は次のようになります。
    {
     "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" : "1.0.0",
     "abortOnError" : <true|false>
    }
    グループ パラメータ 必須(Y/N) 用途 サポートされる値
    source type Y データの移行元のソースを表します。ソースは、移行用のデータおよびメタデータ(存在する場合)を提供します。 各ソースのtype値の詳細は、サポートされるソースとシンクを参照してください。
      タイプのソース構成 Y ソースの構成を定義します。これらの構成パラメータは、前述の手順で選択したソースのタイプに固有です。 各ソース・タイプの構成パラメータの一覧は、ソース構成テンプレートを参照してください。
    sink type Y データの移行先のシンクを表します。シンクは、移行のターゲットまたは宛先です。 各ソースのtype値の詳細は、サポートされるソースとシンクを参照してください。
      タイプのシンク構成 Y シンクの構成を定義します。これらの構成パラメータは、前述の手順で選択したシンクのタイプに固有です。 各シンク・タイプの構成パラメータの一覧は、シンク構成テンプレートを参照してください。
    transforms 変換構成 N 移行パイプ内のデータに適用する変換を定義します。 NoSQL Data Migratorでサポートされている変換の一覧は、変換構成テンプレートを参照してください。
    - migratorVersion N NoSQL Data Migratorのバージョン -
    - abortOnError N

    エラーの場合に移行アクティビティを停止するかどうかを指定します。

    デフォルト値はtrueで、移行エラーが発生するたびに移行が停止することを示します。

    この値をfalseに設定すると、失敗したレコードやその他の移行エラーが発生した場合でも移行が続行されます。失敗したレコードおよび移行エラーは、CLI端末に警告として記録されます。

    true、false

    注意:

    JSONでは大文字と小文字が区別されるため、特に指定されていないかぎり、構成ファイルで定義されているすべてのパラメータで大文字と小文字が区別されます。