MongoDB形式のJSONファイルからOracle NoSQL Database Cloud Serviceへの移行

この例では、Oracle NoSQL Database Migratorを使用してMongo-DB形式のデータをOracle NoSQL Database (NDCS)にコピーする方法を示します。

ユースケース

複数のオプションを評価した後、組織はOracle NoSQL DatabaseをNoSQL Databaseプラットフォームとして最終決定します。NoSQLの表およびデータはMongoDBにあるため、これらの表およびデータをOracle NDCSに移行する方法を探しています。

デモでは、MongoDB形式のJSONファイルをNDCSに移行する方法について説明します。この例では、手動で作成した構成JSONファイルを使用します。
前提条件
  • 移行するソースとシンクを指定します。
    • ソース: MongoDB形式のJSONファイル
    • シンク: Oracle NoSQL Database
  • mongoexportユーティリティを使用してMongo DBからデータを抽出します。詳細は、mongoexportを参照してください。
  • Mongo-DB形式のJSONファイルのデータと一致する表スキーマを使用して、シンクにNoSQL表を作成します。かわりに、defaultSchema属性をtrueに設定することで、デフォルトのスキーマ構造で表を作成するようにNoSQL Database Migratorに指示することもできます。

    ノート:

    MongoDB形式のJSONソースの場合、表のデフォルト・スキーマは次のようになります。
    CREATE TABLE IF NOT EXISTS <tablename>(ID STRING, DOCUMENT JSON,PRIMARY KEY(SHARD(ID));
    
    説明:
    • tablename = 表構成の値。
    • ID = mongoDBでエクスポートされたJSONソース・ファイルからの_id値。
    • DOCUMENT = mongoDBでエクスポートされたJSONソース・ファイルの内容全体が、_idフィールドを除くDOCUMENT列に集計されます。
  • OCIクラウド資格証明を指定し、OCI構成ファイルで取得します。構成ファイルを/home/.oci/configに保存します。Oracle NoSQL Database Cloud Serviceの使用資格証明の取得を参照してください。
    [DEFAULT]
    tenancy=ocid1.tenancy.oc1....
    user=ocid1.user.oc1....
    fingerprint= 43:d1:....
    key_file=</fully/qualified/path/to/the/private/key/>
    pass_phrase=<passphrase>
  • Oracle NoSQL Databaseのリージョン・エンドポイントおよびコンパートメント名を指定します。
    • endpoint: us-phoenix-1
    • compartment: developers
手順

MongoDB形式のJSONデータをOracle NoSQL Databaseに移行するには:

  1. 識別されたソースおよびシンクの詳細を含む構成JSONファイルを準備します。ソース構成テンプレートおよびシンク構成テンプレートを参照してください。
    {
      "source" : {
        "type" : "file",
        "format" : "mongodb_json",
        "dataPath" : "<complete/path/to/the/MongoDB/Formatted/JSON/file>"
      },
      "sink" : {
        "type" : "nosqldb_cloud",
        "endpoint" : "us-phoenix-1",
        "table" : "mongoImport",
        "compartment" : "developers",
        "schemaInfo" : {
          "defaultSchema" : true,
          "readUnits" : 100,
          "writeUnits" : 60,
          "storageSize" : 1
        },
        "credentials" : "<complete/path/to/the/oci/config/file>",
        "credentialsProfile" : "DEFAULT",
        "writeUnitsPercent" : 90,
        "requestTimeoutMs" : 5000
      },
      "abortOnError" : true,
      "migratorVersion" : "1.0.0"
    }
  2. コマンド・プロンプトを開き、NoSQL Database Migratorユーティリティを抽出したディレクトリに移動します。
  3. --configまたは-cオプションを使用して構成JSONファイルを渡し、runMigratorコマンドを実行します。
    [~/nosqlMigrator/nosql-migrator-1.0.0]$./runMigrator --config <complete/path/to/the/JSON/config/file>
    
  4. 次に示すように、ユーティリティはデータの移行に進みます。
    Records provided by source=29,353, Records written to sink=29,353, Records failed=0.
    Elapsed time: 9min 9sec 630ms
    Migration completed.
検証

移行を検証するには、NDCSコンソールにログインし、ソース・データを使用してmyTableが作成されていることを確認します。