Oracle NoSQL Database Cloud Service

NoSQL Data MigratorのシンクとしてOracle NoSQL Database Cloud Serviceの構成ファイル形式を次に示します。

構成テンプレート

"sink" : {
    "type" : "nosqldb_cloud",
    "endpoint" : "<Oracle NoSQL Cloud Service Endpoint>",
    "table" : "<table name>",
    "compartment" : "<OCI compartment name or id>",
    "schemaInfo" : {
      "schemaPath" : "</path/to/a/schema/file>" or  "defaultSchema" : true
      "readUnits" : <table read units>,
      "writeUnits" : <table write units>,
      "storageSize" : <storage size in GB>
    },
    "credentials" : "</path/to/oci/credential/file>",
    "credentialsProfile" : "<oci credentials profile name>",
    "writeUnitsPercent" : <table writeunits percent>,
    "requestTimeoutMs" : <timeout in milli seconds>
}

説明

表7-7 シンク・パラメータ

パラメータ 用途 データ型 必須(Y/N)
type

シンクのタイプを識別します。

string Y

"type" : "nosqldb_cloud"

endpoint

Oracle NoSQL Database Cloud Serviceのサービス・エンドポイントを指定します。

完全なURLまたはリージョンIDのみを指定できます。Oracle NoSQL Database Cloud Serviceでサポートされているデータ・リージョンのリストは、Oracle NoSQL Database Cloud Serviceの使用データ・リージョンと関連サービスのURLを参照してください。

string Y
  • リージョンID

    "endpoint" : "us-ashburn-1"

  • URLの形式

    "endpoint" : "https://nosql.us-ashburn-1.oci.oraclecloud.com/"

table

データの移行先となる表の名前。

この表がOracle NoSQL Database Cloud Serviceに存在することを確認する必要があります。それ以外の場合は、シンク構成でschemaInfoオブジェクトを使用して、表を作成するようにNoSQL Data Migratorに指示する必要があります。

この表のスキーマはソース・データと一致している必要があります。

string Y

"table" :"myTable"

compartment

表が存在するコンパートメントの名前またはOCIDを指定します。

値を指定しない場合は、デフォルトでルート・コンパートメントに設定されます。

コンパートメントのOCIDは、OCI Cloudコンソールの「Governance」のコンパートメント・エクスプローラ・ウィンドウから確認できます。

string Y (表がテナンシのルート・コンパートメントにない場合)。
  • コンパートメント名

    "compartment" : "mycompartment"

  • 親コンパートメントで修飾されたコンパートメント名

    "compartment" : "parent.childcompartment"

  • 値が未指定。デフォルトはルート・コンパートメントです。

    "compartment": ""

  • コンパートメントOCID

    "compartment" : "ocid1.tenancy.oc1...4ksd"

schemaInfo

移行対象データのスキーマを指定します。

このパラメータを指定しない場合、NoSQL Data Migratorでは、表がOracle NoSQL Database Cloud Serviceにすでに存在するとみなされます。

このパラメータが指定されておらず、シンクに表が存在しない場合、移行は失敗します。

オブジェクト N
  • schemaPathを使用

    "schemaInfo" : { 
      "schemaPath" : "</path/to/a/schema/file>",
      "readUnits" : 500,
      "writeUnits" : 1000,
      "storageSize" : 5 }
  • defaultSchemaを使用

    "schemaInfo" : {
      "defaultSchema" :Yes,
      "readUnits" : 500,   
      "writeUnits" : 1000,   
      "storageSize" : 5  
    }
schemaInfo.schemaPath

NoSQL表のDDL文を含むファイルへの絶対パスを指定します。

NoSQL Data Migratorは、データを移行する前に、このファイルにリストされているDDLコマンドを実行します。

NoSQL Data Migratorでは、schemaPathファイルの行ごとに複数のDDL文をサポートしていません。

string Y (schemaInfo.defaultSchemaNoに設定されている場合のみ)。
schemaInfo.defaultSchema

このパラメータをYesに設定すると、NoSQL Data Migratorではデフォルト・スキーマを使用して表が作成されます。デフォルト・スキーマは、マイグレータ自体によって定義されます。

ソースがMongoDB形式のJSONファイルの場合、表のデフォルト・スキーマは次のようになります。

CREATE TABLE IF NOT EXISTS <tablename>(ID STRING, DOCUMENT JSON,PRIMARY KEY(SHARD(ID));

説明:
  • tablename = 構成のtable属性に指定された値。
  • ID = mongoDBでエクスポートされたJSONソース・ファイルの各ドキュメントの_id値。
  • DOCUMENT = mongoDBでエクスポートされたファイル内のドキュメントごとに、_idフィールドを除く内容がDOCUMENT列に集計されます。

注意:

MongoDB形式のJSONファイルで_id値が文字列として指定されていない場合、NoSQL Data Migratorは、デフォルト・スキーマに挿入する前に値を文字列に変換します。

その他すべてのソースでは、デフォルト・スキーマは次のようになります。

CREATE TABLE IF NOT EXISTS <tablename> (ID LONG GENERATED ALWAYS AS IDENTITY, DOCUMENT JSON, PRIMARY KEY(ID))

説明:
  • tablename = 構成のtable属性に指定された値。
  • ID = 自動生成されたLONG値。
  • DOCUMENT = ソースによって提供されるJSONレコードがDOCUMENT列に集計されます。
boolean Y (schemaInfo.schemaPathNoに設定されている場合のみ)。

注意:

defaultSchemaschemaPathは相互に排他的です。
schemaInfo.readUnits

新しい表の読取りスループットを指定します。

integer Y
schemaInfo.writeUnits

新しい表の書込みスループットを指定します。

integer Y
schemaInfo.storageSize

新しい表の記憶域サイズをGB単位で指定します。

integer Y
credentials

OCI資格証明を含むファイルへの絶対パス。

指定しない場合は、デフォルトで$HOME/.oci/configに設定されます。

資格証明ファイルの例は、構成例を参照してください。

string N

"credentials" : "/home/user/security/config"

credentialsProfile

Oracle NoSQL Database Cloud Serviceへの接続に使用される構成プロファイルの名前。

この値を指定しない場合は、デフォルトでDEFAULTプロファイルに設定されます。

string N

"credentialsProfile": "ADMIN_USER"

writeUnitsPercent

移行アクティビティ中に使用される表書込みユニットの割合を指定します。

デフォルト値は90です。有効範囲は1から100の任意の整数です。

注意:

データ移行に必要な時間は、writeUnitsPercent値に正比例します。

この属性を使用してデータ移行速度を向上させる方法の詳細は、NoSQL Data Migratorのトラブルシューティングを参照してください。

integer N

"readUnitsPercent" : 90

requestTimeoutMs

シンク内の各書き込み操作が完了するまで待機する時間を指定します。

これはミリ秒単位で指定します。デフォルト値は5000です。

値には任意の正の整数を指定できます。

integer N

"requestTimeoutMs" : 5000