Oracle NoSQL Database Migratorリファレンス

Oracle NoSQL Database Migratorで使用可能なソース、シンクおよび変換構成テンプレート・パラメータについて学習します。

この記事には次のトピックが含まれます:

Parameters

NoSQL Database Migratorには、移行アクティビティを実行するためのすべてのパラメータを定義する構成ファイルが必要です。いくつかのパラメータは複数のソースとシンクに共通しています。このトピックでは、これらの共通パラメータのリストを示します。個々のソースまたはシンクに固有のその他のパラメータのリストについては、対応する構成テンプレートのセクションを参照してください。

共通の構成パラメータ

次に、共通の構成パラメータを示します。例については、個々の構成テンプレートのセクションを参照してください。

bucket

chunkSize

credentials (資格証明)

credentialsProfile

エンドポイント

フォーマット

namespace (名前空間)

プレフィックス

requestTimeoutMs

セキュリティー

タイプ

useDelegationToken

useInstancePrincipal

useOKEWorkloadIdentity

サンプル・ユース・ケースについては、OKE認証を使用したOCI Object StorageからOracle NoSQL Database Cloud Serviceへの移行を参照してください。

ノート:選択できる認証オプションは1つのみです。したがって、構成テンプレートでは、credentialsuseInstancePrincipaluseDelegationTokenuseSessionTokenまたはuseOKEWorkloadIdentityのいずれかのパラメータのみを指定します。

useSessionToken

セッション・トークン・ベースの認証を使用するには、OCIコマンドライン・インタフェース(CLI)コマンドを使用してセッション・トークンを生成する必要があります。サンプルのユースケースは、「セッション・トークン認証を使用したOracle NoSQL DatabaseからOCIオブジェクト・ストレージへの移行」を参照してください。

ノート:

ソース構成テンプレート

有効な各ソースのソース構成ファイル書式および各構成パラメータの用途について学習します。

構成ファイル・テンプレートについては、NoSQL Data Migratorで使用される用語構成ファイルに関する項を参照してください。

各ソースの有効なシンク形式の詳細は、シンク構成テンプレートを参照してください。

トピック

次のトピックでは、特定のソースから有効なシンクへのデータのコピーのためにOracle NoSQL Database Migratorによって参照されるソース構成テンプレートを説明します。

JSONファイル・ソース

NoSQL Database MigratorのソースとしてのJSONファイルの構成ファイル形式を次に示します。

ソース構成テンプレートでファイル・パスまたはディレクトリを指定することで、JSONソース・ファイルを移行できます。

サンプルJSONソース・ファイルは次のとおりです。

{"id":6,"val_json":{"array":["q","r","s"],"date":"2023-02-04T02:38:
57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-03-04T02:38:57.520Z","numfield":30,"strfield":"foo54"},{"datefield":"2023-02-04T02:38:57.520Z","numfield":56,"strfield":"bar23"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}
{"id":3,"val_json":{"array":["g","h","i"],"date":"2023-02-02T02:38:57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-02-02T02:38:57.520Z","numfield":28,"strfield":"foo3"},{"datefield":"2023-02-02T02:38:57.520Z","numfield":38,"strfield":"bar"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}

ソース構成テンプレート

"source": {
  "type": "file",
  "format": "json",
  "dataPath": "<path/to/JSON/[file|dir]>",
  "schemaInfo": {
    "schemaPath": "<path/to/schema/file>"
  }
},

ソース・パラメータ

共通の構成パラメータ

一意の構成パラメータ

データパス

schemaInfo

schemaInfo.schemaPath

OCIオブジェクト・ストレージ・バケットのJSONファイル

NoSQL Database MigratorのソースとしてのOCIオブジェクト・ストレージ・バケットのJSONファイルの構成ファイル形式を次に示します。

ソース構成テンプレートでバケットの名前を指定することで、OCIオブジェクト・ストレージ・バケット内のJSONファイルを移行できます。

OCIオブジェクト・ストレージ・バケットのサンプルJSONソース・ファイルは次のとおりです:

{"id":6,"val_json":{"array":["q","r","s"],"date":"2023-02-04T02:38:57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-02-04T02:38:57.520Z","numfield":30,"strfield":"foo54"},{"datefield":"2023-02-04T02:38:57.520Z","numfield":56,"strfield":"bar23"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}
{"id":3,"val_json":{"array":["g","h","i"],"date":"2023-02-04T02:38:57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-02-04T02:38:57.520Z","numfield":28,"strfield":"foo3"},{"datefield":"2023-02-04T02:38:57.520Z","numfield":38,"strfield":"bar"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}

ノート: OCIオブジェクト・ストレージのソース・タイプの有効なシンク・タイプは、nosqldbおよびnosqldb_cloudです。

ソース構成テンプレート

"source" : {
  "type" : "object_storage_oci",
  "format" : "json",
  "endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
  "namespace" : "<OCI Object Storage namespace>",
  "bucket" : "<bucket name>",
  "prefix" : "<object prefix>",
  "schemaInfo" : {
     "schemaObject" : "<object name>"
  },
  "credentials" : "</path/to/oci/config/file>",
  "credentialsProfile" : "<profile name in oci config file>",
  "useInstancePrincipal" : <true|false>,
  "useDelegationToken" : <true|false>,
  "useSessionToken" : <true|false>,
  "useOKEWorkloadIdentity" : <true|false>
}

ソース・パラメータ

共通の構成パラメータ

一意の構成パラメータ

schemaInfo

schemaInfo.schemaObject

MongoDB形式のJSONファイル

NoSQL Database MigratorのソースとしてのMongoDB形式のJSONファイルの構成ファイル形式を次に示します。

ソース構成テンプレートでファイルまたはディレクトリを指定することで、MongoDBでエクスポートされたJSONデータを移行できます。

MongoDBは、正規モードおよび緩和モードの2種類のファイルのJSON形式に対する拡張をサポートしています。mongoexportツールを使用して正規モードでまたは緩和モードで生成されるMongo DB形式のJSONファイルを指定することができます。どちらのモードでも、移行のためにNoSQL Database Migratorでサポートされています。

MongoDB Extended JSON (v2)ファイルの詳細は、mongoexport_formatsを参照してください。

MongoDB形式のJSONファイルの生成の詳細は、mongoexportを参照してください。

MongoDB形式の緩和モードのJSONファイルのサンプルを次に示します:

{"_id":0,"name":"Aimee Zank","scores":[{"score":
1.463179736705023,"type":"exam"},{"score":11.78273309957772,"type":"quiz"},{"score":35.8740349954354,"type":"homework"}]}
{"_id":1,"name":"Aurelia Menendez","scores":[{"score":60.06045071030959,"type":"exam"},{"score":52.79790691903873,"type":"quiz"},{"score":71.76133439165544,"type":"homework"}]}
{"_id":2,"name":"Corliss Zuk","scores":[{"score":67.03077096065002,"type":"exam"},{"score":6.301851677835235,"type":"quiz"},{"score":66.28344683278382,"type":"homework"}]}
{"_id":3,"name":"Bao Ziglar","scores":[{"score":71.64343899778332,"type":"exam"},{"score":24.80221293650313,"type":"quiz"},{"score":42.26147058804812,"type":"homework"}]}
{"_id":4,"name":"Zachary Langlais","scores":[{"score":78.68385091304332,"type":"exam"},{"score":90.2963101368042,"type":"quiz"},{"score":34.41620148042529,"type":"homework"}]}

ソース構成テンプレート

"source": {
  "type": "file",
  "format": "mongodb_json",
  "dataPath": "</path/to/json/[file|dir]>",
  "schemaInfo": {
    "schemaPath": "</path/to/schema/file>"
  }
}

ソース・パラメータ

共通の構成パラメータ

一意の構成パラメータ

データパス

schemaInfo

schemaInfo.schemaPath

OCIオブジェクト・ストレージ・バケット内のMongoDB形式のJSONファイル

NoSQL Database MigratorのソースとしてのOCIオブジェクト・ストレージ・バケットのMongoDB形式のJSONファイルの構成ファイルの形式を次に示します。

ソース構成テンプレートでバケットの名前を指定することで、OCIオブジェクト・ストレージ・バケットにMongoDBでエクスポートされたJSONデータを移行できます。

mongoexportユーティリティを使用してMongoDBからデータを抽出し、OCIオブジェクト・ストレージ・バケットにアップロードします。詳細は、mongoexportを参照してください。MongoDBは、正規モードおよび緩和モードの2種類のファイルのJSON形式に対する拡張をサポートしています。どちらの形式も、OCIオブジェクト・ストレージ・バケットでサポートされています。

MongoDB形式の緩和モードのJSONファイルの例を次に示します。

{"_id":0,"name":"Aimee Zank","scores":[{"score":1.463179736705023,"type":"exam"},{"score":11.78273309957772,"type":"quiz"},{"score":35.8740349954354,"type":"homework"}]}
{"_id":1,"name":"Aurelia Menendez","scores":[{"score":60.06045071030959,"type":"exam"},{"score":52.79790691903873,"type":"quiz"},{"score":71.76133439165544,"type":"homework"}]}
{"_id":2,"name":"Corliss Zuk","scores":[{"score":67.03077096065002,"type":"exam"},{"score":6.301851677835235,"type":"quiz"},{"score":66.28344683278382,"type":"homework"}]}
{"_id":3,"name":"Bao Ziglar","scores":[{"score":71.64343899778332,"type":"exam"},{"score":24.80221293650313,"type":"quiz"},{"score":42.26147058804812,"type":"homework"}]}
{"_id":4,"name":"Zachary Langlais","scores":[{"score":78.68385091304332,"type":"exam"},{"score":90.2963101368042,"type":"quiz"},{"score":34.41620148042529,"type":"homework"}]}

ノート: OCIオブジェクト・ストレージのソース・タイプの有効なシンク・タイプは、nosqldbおよびnosqldb_cloudです。

ソース構成テンプレート

"source" : {
  "type" : "object_storage_oci",
  "format" : "mongodb_json",
  "endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
  "namespace" : "<OCI Object Storage namespace>",
  "bucket" : "<bucket name>",
  "prefix" : "<object prefix>",
  "schemaInfo" : {
     "schemaObject" : "<object name>"
  },
  "credentials" : "</path/to/oci/config/file>",
  "credentialsProfile" : "<profile name in oci config file>",
  "useInstancePrincipal" : <true|false>,
  "useDelegationToken" : <true|false>,
  "useSessionToken" : <true|false>,
  "useOKEWorkloadIdentity" : <true|false>
}

ソース・パラメータ

共通の構成パラメータ

  1. "credentials" : "/home/user/.oci/config"

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

一意の構成パラメータ

schemaInfo

schemaInfo.schemaObject

AWS S3に格納されたDynamoDB形式のJSONファイル

NoSQL Database MigratorのソースとしてAWS S3にあるDynamoDB形式のJSONファイルの構成ファイル形式を次に示します。

ソース構成テンプレートでパスを指定することで、DynamoDBエクスポートされたJSONデータを含むファイルをAWS S3ストレージから移行できます。

DynamoDB形式のJSONファイルの例を次に示します。

{"Item":{"Id":{"N":"101"},"Phones":{"L":[{"L":[{"S":"555-222"},{"S":"123-567"}]}]},"PremierCustomer":{"BOOL":false},"Address":{"M":{"Zip":{"N":"570004"},"Street":{"S":"21 main"},"DoorNum":{"N":"201"},"City":{"S":"London"}}},"FirstName":{"S":"Fred"},"FavNumbers":{"NS":["10"]},"LastName":{"S":"Smith"},"FavColors":{"SS":["Red","Green"]},"Age":{"N":"22"},"ttl": {"N": "1734616800"}}}
{"Item":{"Id":{"N":"102"},"Phones":{"L":[{"L":[{"S":"222-222"}]}]},"PremierCustomer":{"BOOL":false},"Address":{"M":{"Zip":{"N":"560014"},"Street":{"S":"32 main"},"DoorNum":{"N":"1024"},"City":{"S":"Wales"}}},"FirstName":{"S":"John"},"FavNumbers":{"NS":["10"]},"LastName":{"S":"White"},"FavColors":{"SS":["Blue"]},"Age":{"N":"48"},"ttl": {"N": "1734616800"}}}

DynamoDB表をAWS S3ストレージにエクスポートするには、「Amazon S3へのDynamoDB表データのエクスポート」の説明に従ってください。

AWS S3に格納されているDynamoDB形式のJSONの有効なシンク・タイプは、nosqldbおよびnosqldb_cloudです。

ソース構成テンプレート

"source" : {
  "type" : "aws_s3",
  "format" : "dynamodb_json",
  "ttlAttributeName" : "<DynamoDB exported TTL attribute name>",
  "s3URL" : "<S3 object url>",
  "credentials" : "</path/to/aws/credentials/file>",
  "credentialsProfile" : "<profile name in aws credentials file>"
}

ソース・パラメータ

共通の構成パラメータ

一意の構成パラメータ

s3URL

credentials (資格証明)

credentialsProfile

ttlAttributeName

DynamoDB形式のJSONファイル

NoSQL Database MigratorのソースとしてDynamoDB形式のJSONファイルの構成ファイル形式を次に示します。

ソース構成テンプレートでパスを指定することで、DynamoDBがエクスポートしたJSONデータを含むファイルまたはディレクトリをファイル・システムから移行できます。

DynamoDB形式のJSONファイルの例を次に示します。

{"Item":{"Id":{"N":"101"},"Phones":{"L":[{"L":[{"S":"555-222"},{"S":"123-567"}]}]},"PremierCustomer":{"BOOL":false},"Address":{"M":{"Zip":{"N":"570004"},"Street":{"S":"21 main"},"DoorNum":{"N":"201"},"City":{"S":"London"}}},"FirstName":{"S":"Fred"},"FavNumbers":{"NS":["10"]},"LastName":{"S":"Smith"},"FavColors":{"SS":["Red","Green"]},"Age":{"N":"22"},"ttl": {"N": "1734616800"}}}
{"Item":{"Id":{"N":"102"},"Phones":{"L":[{"L":[{"S":"222-222"}]}]},"PremierCustomer":{"BOOL":false},"Address":{"M":{"Zip":{"N":"560014"},"Street":{"S":"32 main"},"DoorNum":{"N":"1024"},"City":{"S":"Wales"}}},"FirstName":{"S":"John"},"FavNumbers":{"NS":["10"]},"LastName":{"S":"White"},"FavColors":{"SS":["Blue"]},"Age":{"N":"48"},"ttl": {"N": "1734616800"}}}

エクスポートしたDynamoDB表データをAWS S3ストレージからローカルにマウントされたファイル・システムにコピーする必要があります。

DynamoDB JSONファイルの有効なシンク・タイプは、nosqldbおよびnosqldb_cloudです。

ソース構成テンプレート

"source" : {
  "type" : "file",
  "format" : "dynamodb_json",
  "ttlAttributeName" : <DynamoDB exported TTL attribute name>,
  "dataPath" : "<path/to/[file|dir]/containing/exported/DDB/tabledata>"
}

ソース・パラメータ

共通の構成パラメータ

一意の構成パラメータ

データパス

ttlAttributeName

Oracle NoSQL Database

NoSQL Database MigratorのソースとしてのOracle NoSQL Databaseの構成ファイル形式を次に示します。

ソース構成テンプレートで表名を指定することで、Oracle NoSQL Databaseから表を移行できます。

Oracle NoSQL Database表の例を次に示します。

{"id":20,"firstName":"Jane","lastName":"Smith","otherNames":[{"first":"Jane","last":"teacher"}],"age":25,"income":55000,"address":{"city":"San Jose","number":201,"phones":[{"area":608,"kind":"work","number":6538955},{"area":931,"kind":"home","number":9533341},{"area":931,"kind":"mobile","number":9533382}],"state":"CA","street":"Atlantic Ave","zip":95005},"connections":[40,75,63],"expenses":null}
{"id":10,"firstName":"John","lastName":"Smith","otherNames":[{"first":"Johny","last":"chef"}],"age":22,"income":45000,"address":{"city":"Santa Cruz","number":101,"phones":[{"area":408,"kind":"work","number":4538955},{"area":831,"kind":"home","number":7533341},{"area":831,"kind":"mobile","number":7533382}],"state":"CA","street":"Pacific Ave","zip":95008},"connections":[30,55,43],"expenses":null}
{"id":30,"firstName":"Adam","lastName":"Smith","otherNames":[{"first":"Adam","last":"handyman"}],"age":45,"income":75000,"address":{"city":"Houston","number":301,"phones":[{"area":618,"kind":"work","number":6618955},{"area":951,"kind":"home","number":9613341},{"area":981,"kind":"mobile","number":9613382}],"state":"TX","street":"Indian Ave","zip":95075},"connections":[60,45,73],"expenses":null}

ソース構成テンプレート

"source" : {
  "type": "nosqldb",
  "storeName" : "<store name>",
  "helperHosts" : ["hostname1:port1","hostname2:port2,..."],
  "table" : "<fully qualified table name>",
  "queryFilter" : "<query predicate>",
  "includeTTL": <true|false>,
  "security" : "</path/to/store/security/file>",
  "requestTimeoutMs" : 5000
}

ソース・パラメータ

共通の構成パラメータ

一意の構成パラメータ

storeName

helperHosts

includeTTL

queryFilter

サポートされている式:

マイグレータ・ユーティリティでは、問合せ述語で次の式がサポートされています。構文および例の詳細は、SQLリファレンス・ガイドを参照してください。

Field step expressions
Map-filter step expressions
Array-filter step expressions
Array-slice step expressions
Arithmetic operators
Value comparison operators
Sequence comparison operators
Logical operators AND, OR and NOT
IS NULL and IS NOT NULL operators
IN operator
Regular expression
EXISTS operator
IS OF TYPE operator
CONCAT operator
CAST expression
Row functions

次の表に、様々な式および結果としてエクスポートされたデータに対する有効な問合せ述語の例を示します。

ノート:

表- サンプル問合せ述語

問合せ/述語 エクスポートされたデータ
"id=10" id=10の指定された表の行。
"name='John'" 名前が'John'の指定された表の行。
"age>30 and gender='male'" ageが30より大きく、genderが'male'である、指定された表の行。
"$row.address.state = 'CA'" address JSON列のstateフィールドを持つ指定された表の行が'CA'です。ここでは、述語のフィールド・ステップ式を使用して、JSONフィールドから必須フィールド値にアクセスします。
"$row.expenses.keys($value > 1000) = 'food'" expensesカテゴリが'food'で、expenses金額が1000より大きい、指定された表の行。ここでは、map-filterステップ式を使用して、フィールド名(キー)またはマップ/レコード・フィールドのフィールド値を選択します。
"$row.expenses.keys($value > $.clothes) = 'food' expensesカテゴリが'food'で、expenses金額がclothesの支出より多い、指定された表の行。
"[$row.address.phones[$element.area = 650].kind] = 'work'" 配列内の電話の市外局番が650、タイプ= 'work'である、指定された表の行。ここでは、addressフィールドがJSON配列であるため、array-filterステップ式を使用します。
"[connections[$element > 100 and $pos < 10]] > 100" 接続数が最大10で、接続数が100を超える指定表の行。ここでは、array-filterステップ式を使用します。これは、connectionsフィールドが配列であるためです。
"$row.income IS NULL" 所得が不明の指定された表の行。詳細は、IS NULLおよびIS NOT NULLの演算子を参照してください。
"a in (1, 5, 4)" aが1、5または4の指定された表の行。詳細は、IN演算子を参照してください。
((1、 'a')、 (5、 'g')、 (4、 't')内の(a、 b) 指定された表の行(aは1、bは'a')または(aは5、bは'g')または(aは4、bは't')です。
"regex_like(name, 'j.*')" jで始まる名前の指定された表の行。詳細は、正規表現を参照してください。
"EXISTS $row.person.address.zipcode" person json列のアドレスがzipcodeである、指定された表の行。詳細は、Exists演算子を参照してください。
"$row.address is of type (string)" address列が文字列型である、指定された表の行。詳細は、Is-Of-Type演算子を参照してください。
"lastLogin > CAST('2022-10-01' AS TIMESTAMP)" 2022年10月1日以降の最終ログインの指定された表の行。詳細は、キャスト式を参照してください。
"$row.connections[ ]=any 1" connections配列列に要素1がある指定された表の行。詳細は、「シーケンス比較演算子」を参照してください。
"modification_time($row) >= 2022-10-01" 2022年10月1日以降に変更された、指定された表の行。詳細は、「行の関数」を参照してください。
"expiration_time_millis($row) > 0" 指定した表の有効期限が切れていない行。詳細は、「行の関数」を参照してください。

Oracle NoSQL Database Cloud Service

NoSQL Database MigratorのソースとしてのOracle NoSQL Database Cloud Serviceの構成ファイル形式を次に示します。

表がソース構成テンプレートにあるコンパートメントの名前またはOCIDを指定することで、Oracle NoSQL Database Cloud Serviceから表を移行できます。

Oracle NoSQL Database Cloud Service表の例を次に示します。

{"id":20,"firstName":"Jane","lastName":"Smith","otherNames":[{"first":"Jane","last":"teacher"}],"age":25,"income":55000,"address":{"city":"San Jose","number":201,"phones":[{"area":608,"kind":"work","number":6538955},{"area":931,"kind":"home","number":9533341},{"area":931,"kind":"mobile","number":9533382}],"state":"CA","street":"Atlantic Ave","zip":95005},"connections":[40,75,63],"expenses":null}
{"id":10,"firstName":"John","lastName":"Smith","otherNames":[{"first":"Johny","last":"chef"}],"age":22,"income":45000,"address":{"city":"Santa Cruz","number":101,"phones":[{"area":408,"kind":"work","number":4538955},{"area":831,"kind":"home","number":7533341},{"area":831,"kind":"mobile","number":7533382}],"state":"CA","street":"Pacific Ave","zip":95008},"connections":[30,55,43],"expenses":null}
{"id":30,"firstName":"Adam","lastName":"Smith","otherNames":[{"first":"Adam","last":"handyman"}],"age":45,"income":75000,"address":{"city":"Houston","number":301,"phones":[{"area":618,"kind":"work","number":6618955},{"area":951,"kind":"home","number":9613341},{"area":981,"kind":"mobile","number":9613382}],"state":"TX","street":"Indian Ave","zip":95075},"connections":[60,45,73],"expenses":null}

ソース構成テンプレート

"source" : {
  "type" : "nosqldb_cloud",
  "endpoint" : "<Oracle NoSQL Cloud Service endpoint URL or region ID>",
  "table" : "<table name>",
  "queryFilter" : "<query predicate>",
  "compartment" : "<OCI compartment name or id>",
  "credentials" : "<path/to/oci/credential/file>",
  "credentialsProfile" : "<profile name in oci config file>",
  "useInstancePrincipal" : <true|false>,
  "useDelegationToken" : <true|false>,
  "useSessionToken" : <true|false>,
  "useOKEWorkloadIdentity" : <true|false>,
  "readUnitsPercent" : <table readunits percent>,
  "includeTTL": <true|false>,
  "requestTimeoutMs" : <timeout in milli seconds>
}

ソース・パラメータ

共通の構成パラメータ

一意の構成パラメータ

コンパートメント

ノート: useInstancePrincipalパラメータがtrueに設定されている場合、コンパートメントは名前ではなくコンパートメントOCIDを指定する必要があります。

readUnitsPercent

includeTTL

queryFilter

サポートされている式:

マイグレータ・ユーティリティでは、問合せ述語で次の式がサポートされています。構文および例の詳細は、SQLリファレンス・ガイドを参照してください。

Field step expressions
Map-filter step expressions
Array-filter step expressions
Array-slice step expressions
Arithmetic operators
Value comparison operators
Sequence comparison operators
Logical operators AND, OR and NOT
IS NULL and IS NOT NULL operators
IN operator
Regular expression
EXISTS operator
IS OF TYPE operator
CONCAT operator
CAST expression
Row functions

次の表に、様々な式および結果としてエクスポートされたデータに対する有効な問合せ述語の例を示します。

ノート:

表- サンプル問合せ述語

問合せ/述語 エクスポートされたデータ
"id=10" ID = 10の指定された表の行。
"name='John'" 名前が'John'の指定された表の行。
"age>30 and gender='male'" ageが30より大きく、genderが'male'である、指定された表の行。
"$row.address.state = 'CA'" address JSON列のstateフィールドを持つ指定された表の行が'CA'です。ここでは、述語のフィールド・ステップ式を使用して、JSONフィールドから必須フィールド値にアクセスします。
"$row.expenses.keys($value > 1000) = 'food'" expensesカテゴリが'food'で、expenses金額が1000より大きい、指定された表の行。ここでは、map-filterステップ式を使用して、フィールド名(キー)またはマップ/レコード・フィールドのフィールド値を選択します。
"$row.expenses.keys($value > $.clothes) = 'food' expensesカテゴリが'food'で、expenses金額がclothesの支出より多い、指定された表の行。
"[$row.address.phones[$element.area = 650].kind] = 'work'" 配列内の電話の市外局番が650、タイプ= 'work'である、指定された表の行。ここでは、addressフィールドがJSON配列であるため、array-filterステップ式を使用します。
"[connections[$element > 100 and $pos < 10]] > 100" 接続数が最大10で、接続数が100を超える指定表の行。ここでは、array-filterステップ式を使用します。これは、connectionsフィールドが配列であるためです。
"$row.income IS NULL" 所得が不明の指定された表の行。詳細は、IS NULLおよびIS NOT NULLの演算子を参照してください。
"a in (1, 5, 4)" aが1、5または4の指定された表の行。詳細は、IN演算子を参照してください。
((1、 'a')、 (5、 'g')、 (4、 't')内の(a、 b) 指定された表の行(aは1、bは'a')または(aは5、bは'g')または(aは4、bは't')です。
"regex_like(name, 'j.*')" jで始まる名前の指定された表の行。詳細は、正規表現を参照してください。
"EXISTS $row.person.address.zipcode" person json列のアドレスがzipcodeである、指定された表の行。詳細は、Exists演算子を参照してください。
"$row.address is of type (string)" address列が文字列型である、指定された表の行。詳細は、Is-Of-Type演算子を参照してください。
"lastLogin > CAST('2022-10-01' AS TIMESTAMP)" 2022年10月1日以降の最終ログインの指定された表の行。詳細は、キャスト式を参照してください。
"$row.connections[ ]=any 1" connections配列列に要素1がある指定された表の行。詳細は、「シーケンス比較演算子」を参照してください。
"modification_time($row) >= 2022-10-01" 2022年10月1日以降に変更された、指定された表の行。詳細は、「行の関数」を参照してください。
"expiration_time_millis($row) > 0" 指定した表の有効期限が切れていない行。詳細は、「行の関数」を参照してください。

CSVファイル・ソース

NoSQL Database MigratorのソースとしてのCSVファイルの構成ファイル形式を次に示します。CSVファイルはRFC4180形式に準拠している必要があります。

CSVファイルまたはCSVデータを含むディレクトリを移行するには、ソース構成テンプレートでファイル名またはディレクトリを指定します。

サンプルCSVファイルは次のとおりです。

1,"Computer Science","San Francisco","2500"
2,"Bio-Technology","Los Angeles","1200"
3,"Journalism","Las Vegas","1500"
4,"Telecommunication","San Francisco","2500"

ソース構成テンプレート

"source" : {
  "type" : "file",
  "format" : "csv",
  "dataPath": "</path/to/a/csv/[file|dir]>",
  "hasHeader" : <true | false>,
  "columns" : ["column1", "column2", ....],
  "csvOptions": {
    "encoding": "<character set encoding>",
    "trim": "<true | false>"
 }
}

ソース・パラメータ

共通の構成パラメータ

一意の構成パラメータ

データパス

ノート: CSVファイルにはスカラー値のみが含まれている必要があります。MAP、RECORD、ARRAY、JSONなどの複合タイプを含むCSVファイルのインポートはサポートされていません。NoSQL Database Migratorツールは、入力CSVファイルのデータの正確性をチェックしません。NoSQL Database Migratorツールは、RFC4180形式に準拠したCSVデータのインポートをサポートしています。RFC4180標準に準拠していないデータを含むCSVファイルは、正しくコピーされないか、エラーが発生する可能性があります。入力データが破損している場合、NoSQL Database MigratorツールはCSVレコードを解析しません。移行中にエラーが発生した場合、NoSQL Database Migratorツールは、デバッグおよび情報を得た目的で失敗した入力レコードに関する情報をログに記録します。詳細は、Oracle NoSQL Data Migratorの使用Logging Migratorの進捗状況を参照してください

hasHeader

カラム

csvオプション

csvOptions.encoding

csvOptions.trim

OCIオブジェクト・ストレージ・バケットのCSVファイル

NoSQL Database MigratorのソースとしてのOCIオブジェクト・ストレージ・バケットのCSVファイルの構成ファイル形式を次に示します。CSVファイルはRFC4180形式に準拠している必要があります。

ソース構成テンプレートでバケットの名前を指定することで、OCIオブジェクト・ストレージ・バケット内のCSVファイルを移行できます。

OCIオブジェクト・ストレージ・バケットのサンプルCSVファイルは、次のとおりです。

1,"Computer Science","San Francisco","2500"
2,"Bio-Technology","Los Angeles","1200"
3,"Journalism","Las Vegas","1500"
4,"Telecommunication","San Francisco","2500"

ノート: OCIオブジェクト・ストレージのソース・タイプの有効なシンク・タイプは、nosqldbおよびnosqldb_cloudです。

ソース構成テンプレート

"source" : {
  "type" : "object_storage_oci",
  "format" : "csv",
  "endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
  "namespace" : "<OCI Object Storage namespace>",
  "bucket" : "<bucket name>",
  "prefix" : "<object prefix>",
  "credentials" : "</path/to/oci/config/file>",
  "credentialsProfile" : "<profile name in oci config file>",
  "useInstancePrincipal" : <true|false>,
  "useDelegationToken" : <true|false>,
  "useSessionToken" : <true|false>,
  "useOKEWorkloadIdentity" : <true|false>,
   "hasHeader" : <true | false>,
   "columns" : ["column1", "column2", ....],
   "csvOptions" : {
     "encoding" : "<character set encoding>",
     "trim" : <true | false>
   }
 }

ソース・パラメータ

共通の構成パラメータ

一意の構成パラメータ

hasHeader

カラム

csvオプション

csvOptions.encoding

csvOptions.trim

シンク構成テンプレート

有効な各シンク用のシンク構成ファイル形式および各構成パラメータの用途について学習します。

構成ファイル・テンプレートについては、NoSQL Data Migratorで使用される用語構成ファイルに関する項を参照してください。

各シンクの有効なソース形式の詳細は、「ソース構成テンプレート」を参照してください。

トピック

次のトピックでは、有効なソースから特定のシンクへのデータをコピーするためにOracle NoSQL Database Migratorによって参照されるシンク構成テンプレートを説明します。

JSONファイル・シンク

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

シンク構成テンプレート

"sink" : {
  "type" : "file",
  "format" : "json",
  "dataPath": "</path/to/a/directory>",
  "schemaPath" : "<path/to/a/file>",
  "pretty" : <true|false>,
  "useMultiFiles" : <true|false>,
  "chunkSize" : <size in MB>
}

シンク・パラメータ

共通の構成パラメータ

一意の構成パラメータ

データパス

schemaPath

pretty

useMultiFiles

Parquetファイル

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

シンク構成テンプレート

"sink" : {
  "type" : "file",
  "format" : "parquet",
  "dataPath": "</path/to/a/dir>",
  "chunkSize" : <size in MB>,
  "compression": "<SNAPPY|GZIP|NONE>",
  "parquetOptions": {
    "useLogicalJson": <true|false>,
    "useLogicalEnum": <true|false>,
    "useLogicalUUID": <true|false>,
    "truncateDoubleSpecials": <true|false>
  }
}

シンク・パラメータ

共通の構成パラメータ

一意の構成パラメータ

データパス

圧縮

parquetOptions

parquetOptions.useLogicalJson

parquetOptions.useLogicalEnum

parquetOptions.useLogicalUUID

parquetOptions.truncateDoubleSpecials

OCIオブジェクト・ストレージ・バケットのJSONファイル

NoSQL Database MigratorのシンクとしてのOCIオブジェクト・ストレージ・バケットのJSONファイルの構成ファイル形式を次に示します。

ノート:シンクとしてのOCIオブジェクト・ストレージの有効なソース・タイプは、nosqldbおよびnosqldb_cloudです。

シンク構成テンプレート

"sink" : {
  "type" : "object_storage_oci",
  "format" : "json",
  "endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
  "namespace" : "<OCI Object Storage namespace>",
  "bucket" : "<bucket name>",
  "prefix" : "<object prefix>",
  "chunkSize" : <size in MB>,
  "pretty" : <true|false>,
  "credentials" : "</path/to/oci/config/file>",
  "credentialsProfile" : "<profile name in oci config file>",
  "useInstancePrincipal" : <true|false>,
  "useDelegationToken" : <true|false>,
  "useSessionToken" : <true|false>,
  "useOKEWorkloadIdentity" : <true|false>
}

シンク・パラメータ

共通の構成パラメータ

一意の構成パラメータ

pretty

OCIオブジェクト・ストレージ・バケットのParquetファイル

NoSQL Database MigratorのシンクとしてのOCIオブジェクト・ストレージ・バケットのParquetファイルの構成ファイル形式を次に示します。

ノート: OCIオブジェクト・記憶域のソース・タイプとして有効なソース・タイプは、nosqldbおよびnosqldb_cloudです。

シンク構成テンプレート

"sink" : {
  "type" : "object_storage_oci",
  "format" : "parquet",
  "endpoint" : "<OCI Object Storage service endpoint URL or region ID>",
  "namespace" : "<OCI Object Storage namespace>",
  "bucket" : "<bucket name>",
  "prefix" : "<object prefix>",
  "chunkSize" : <size in MB>,
  "compression": "<SNAPPY|GZIP|NONE>",
  "parquetOptions": {
    "useLogicalJson": <true|false>,
    "useLogicalEnum": <true|false>,
    "useLogicalUUID": <true|false>,
    "truncateDoubleSpecials": <true|false>
  },
  "credentials" : "</path/to/oci/config/file>",
  "credentialsProfile" : "<profile name in oci config file>",
  "useInstancePrincipal" : <true|false>,
  "useDelegationToken" : <true|false>,
  "useSessionToken" : <true|false>,
  "useOKEWorkloadIdentity" : <true|false>
}

シンク・パラメータ

共通の構成パラメータ

一意の構成パラメータ

圧縮

parquetOptions

parquetOptions.useLogicalJson

parquetOptions.useLogicalEnum

parquetOptions.useLogicalUUID

parquetOptions.truncateDoubleSpecials

Oracle NoSQL Database

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

シンク構成テンプレート

"sink" : {
  "type": "nosqldb",
  "storeName" : "<store name>",
  "helperHosts" : ["hostname1:port1","hostname2:port2,..."],
  "security" : "</path/to/store/credentials/file>",
  "table" : "<fully qualified table name>",
  "includeTTL": <true|false>,
  "ttlRelativeDate": "<date-to-use in UTC>",
  "schemaInfo" : {
    "schemaPath" : "</path/to/a/schema/file>",
    "defaultSchema" : <true|false>,
    "useSourceSchema" : <true|false>,
    "DDBPartitionKey" : <"name:type">,
    "DDBSortKey" : "<name:type>"
  },
  "overwrite" : <true|false>,
  "requestTimeoutMs" : <timeout in milli seconds>
}

シンク・パラメータ

共通の構成パラメータ

一意の構成パラメータ

storeName

helperHosts

includeTTL

ttlRelativeDate

schemainfo

schemaInfo.schemaPath

schemaInfo.defaultSchema

schemaInfo.useSourceSchema

schemaInfo.DDBPartitionKey

schemaInfo.DDBSortKey

overwrite

Oracle NoSQL Database Cloud Service

NoSQL Database 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>",
  "includeTTL": <true|false>,
  "ttlRelativeDate" : "<date-to-use in UTC>",
  "schemaInfo" : {
    "schemaPath" : "</path/to/a/schema/file>",
    "defaultSchema" : <true|false>,
    "useSourceSchema" : <true|false>,
    "DDBPartitionKey" : <"name:type">,
    "DDBSortKey" : "<name:type>",
    "onDemandThroughput" : <true|false>,
    "readUnits" : <table read units>,
    "writeUnits" : <table write units>,
    "storageSize" : <storage size in GB>
   },
  "credentials" : "</path/to/oci/credential/file>",
  "credentialsProfile" : "<profile name in oci config file>",
  "useInstancePrincipal" : <true|false>,
  "useDelegationToken" : <true|false>,
  "useSessionToken" : <true|false>,
  "useOKEWorkloadIdentity" : <true|false>,
  "writeUnitsPercent" : <table writeunits percent>,
  "requestTimeoutMs" : <timeout in milli seconds>,
  "overwrite" : <true|false>
}

シンク・パラメータ

共通の構成パラメータ

一意の構成パラメータ



コンパートメント


includeTTL


ttlRelativeDate


schemaInfo


schemaInfo.schemaPath

ノート: defaultSchemaschemaPathは相互に排他的です。


schemaInfo.defaultSchema


schemaInfo.useSourceSchema


schemaInfo.DDBPartitionKey


schemaInfo.DDBSortKey


schemaInfo.onDemandThroughput

ノート:このパラメータは、子表が最上位の親表のスループットを共有するため、子表に適用できません。


schemaInfo.readUnits


schemaInfo.writeUnits


schemaInfo.storageSize


writeUnitsPercent


overwrite

変換構成テンプレート

このトピックでは、Oracle NoSQL Database Migratorでサポートされている様々な変換の構成パラメータについて説明します。完全な構成ファイル・テンプレートについては、NoSQL Data Migratorで使用される用語構成ファイルに関する項を参照してください。

Oracle NoSQL Database Migratorを使用すると、移行アクティビティの進行でデータを変更(データ変換を追加)できるようになります。1回の移行で複数の変換を定義できます。このような場合、ソース・データには指定の順序で各変換が実行されるため、変換の順序は重要です。ある変換の出力が、マイグレータ・パイプライン内の次の変換への入力になります。

NoSQL Data Migratorでサポートされている様々な変換は次のとおりです。

表- 変換

変換構成属性 この変換を使用して、次のことができます。
ignoreFields シンクに書き込む前に、ソース行から識別された列を無視します。
includeFields シンクに書き込まれる前に、ソース行から識別された列を含めます。
renameFields シンクに書き込む前に、ソース行から識別された列の名前を変更します。
aggregateFields ソースの複数の列をシンクの単一の列に集計します。この変換の一部として、集計から除外する列を指定することもできます。これらのフィールドは集計列からスキップされます。

次に、サポートされている各変換の構成テンプレートを示します。

フィールドを無視

ignoreFields変換の構成ファイル形式を次に示します。

変換構成テンプレート

"transforms" : {
  "ignoreFields" : ["<field1>","<field2>",...]
}

変換パラメータ

フィールドを無視

includeFields

includeFields変換の構成ファイル形式を次に示します。

変換構成テンプレート

"transforms" : {
  "includeFields" : ["<field1>","<field2>",...]
}

変換パラメータ

includeFields

フィールドの名前変更

renameFields変換の構成ファイル形式を次に示します。

変換構成テンプレート

"transforms" : {
  "renameFields" : {
    "<old_name>" : "<new_name>",
    "<old_name>" : "<new_name>,"
    .....
  }
}

変換パラメータ

フィールドの名前変更

集計フィールド

aggregateFields変換の構成ファイル形式を次に示します。

変換構成テンプレート

"transforms" : {
  "aggregateFields" : {
    "fieldName" : "name of the new aggregate field",
    "skipFields" : ["<field1>","<field2">,...]
  }
}

変換パラメータ

集計フィールド

DynamoDB型からOracle NoSQL型へのマッピング

次の表に、DynamoDB型からOracle NoSQL型へのマッピングを示します。

表- DynamoDB型からOracle NoSQL型へのマッピング

# DynamoDB型 NoSQL JSON列のJSON型 Oracle NoSQL型
1 文字列(S) JSON文字列 STRING
2 数値型(N) JSON数値 整数/ロング/浮動小数点数/ダブル/数値
3 ブール(BOOL) JSONブール BOOLEAN
4 バイナリ型(B) - バイト・バッファ BASE-64でエンコードされたJSON文字列 BINARY
5 NULL JSON null NULL
6 文字列セット(SS) 文字列のJSON配列 配列(文字列)
7 数値セット(NS) 数値のJSON配列 配列(整数/ロング/フロート/ダブル/ナンバー)
8 バイナリ・セット(BS) Base-64でエンコードされた文字列のJSON配列 配列(バイナリ)
9 リスト(L) JSONの配列 配列(JSON)
10 マップ(M) JSONオブジェクト JSON
11 パーティション・キー NA PRIMARY KEYおよびSHARD KEY
12 ソート・キー NA 主キー
13 ダッシュとドットを含む属性名 アンダースコアを含むJSONフィールド名 下線付きの列名

DynamoDB型をOracle NoSQL型にマップする際に考慮する追加ポイントはほとんどありません。

Oracle NoSQLからParquetデータ型へのマッピング

Oracle NoSQLデータ型とParquetデータ型のマッピングについて説明します。

NoSQL型 Parquetタイプ
BOOLEAN BOOLEAN
INTEGER INT32
LONG INT64
FLOAT DOUBLE
DOUBLE DOUBLE
BINARY BINARY
固定バイナリ BINARY
STRING バイナリ(文字列)
ENUM バイナリ(文字列)

または

BINARY(ENUM)、論理ENUMが構成されている場合

UUID バイナリ(文字列)

または

FIXED_BINARY(16)、論理UUIDが構成されている場合

タイムスタンプ(p) INT64(TIMESTAMP(p))
NUMBER DOUBLE
フィールド名ARRAY(T)
group field_name(LIST) { repeated group list { required T element } }
フィールド名MAP(T)
group field_name (MAP) { repeated group key_value (MAP_KEY_VALUE) { required binary key (STRING); required T value; } }
field_name RECORD(K1 T1 N1、K⁇2 T2 N2、....)

説明:

K = キー名

T = 型

N = Null可能かどうか

group field_name { ni == true ? optional Ti ki : required Ti ki  }
JSON バイナリ(文字列)

または

BINARY(JSON)、論理JSONが構成されている場合

ノート: NoSQL Number型をParquet Double型に変換する場合、値がDualで表現できない場合、精度が若干失われる可能性があります。値が大きすぎてDoubleとして表現できない場合、Double.NEGATIVE_INFINITYまたはDouble.POSITIVE_INFINITYに変換されます。

DynamoDB表からOracle NoSQL表へのマッピング

DynamoDBでは、表はアイテムのコレクションで、各アイテムは属性の集合です。表の各アイテムには、一意の識別子または主キーがあります。表は、主キー以外はスキーマレスです。各アイテムには固有の属性を設定できます。

DynamoDBは、次の2種類の主キーをサポートしています。

一方、Oracle NoSQL表は、スキーマとスキーマレス設計の両方を備えた柔軟なデータ・モデルをサポートしています。

DynamoDB表をモデル化するには、次の2つの方法があります。

  1. JSONドキュメントとしてのDynamoDB表のモデリング(推奨): このモデル化では、Dynamo DB表のすべての属性を、パーティション・キーおよびソート・キーを除くNoSQL表のJSON列にマップします。パーティション・キーおよびソート・キーをNoSQL表の主キー列としてモデル化します。主キー以外のデータをJSON列に集計するには、AggregateFields変換を使用します。

    ノート:マイグレータは、属性をJSON列に集計するスキーマレスDDL表を自動的に作成するための、わかりやすい構成defaultSchemaを提供します。

  2. NoSQL表の固定列としてのDynamoDB表のモデリング:このモデル化では、DynamoDB表の各属性について、「DynamoDB型からOracle NoSQL型へのマッピング」で指定されているように、NoSQL表に列を作成します。パーティション・キーおよびソート・キー属性を主キーとしてモデル化します。これは、DynamoDB表スキーマのインポートが固定されており、各アイテムにほとんどの属性の値があるということが確実な場合にのみ使用する必要があります。DynamoDBアイテムに共通属性がない場合、空の値を持つ多くのNoSQL列が生成される可能性があります。

    ノート: DynamoDB表の性質がスキーマレスであるため、DynamoDBからOracle NoSQL Databaseにデータを移行する場合は、スキーマレス表を使用することをお薦めします。これは特に、表全体で各レコードの内容が統一されていない大きな表の場合です。

Oracle NoSQL Database Migratorのトラブルシューティング

使用中に直面する可能性のある一般的な課題とその解決方法について学習します。

移行に失敗しました。どのようにして解決すればよいですか。

データ移行の失敗は、基礎となる複数の理由で発生する可能性があります。重要な原因を次に示します。

表- 移行失敗の原因

エラー・メッセージ 意味 対処方法
Failed to connect to Oracle NoSQL Database マイグレータはNoSQL Databaseとの接続を確立できませんでした。
  • 構成JSONファイルのstoreNameおよびhelperHosts属性の値が有効で、ホストにアクセスできることを確認します。
  • 保護されたストアの場合は、セキュリティ・ファイルが有効で、ユーザー名とパスワードの値が正しいかどうかを確認します。
Failed to connect to Oracle NoSQL Database Cloud Service マイグレータはOracle NoSQL Database Cloud Serviceとの接続を確立できませんでした。
  • 構成JSONファイルに指定されたエンドポイントURLまたはリージョン名が正しいかどうかを確認します。
  • OCI資格証明ファイルが、構成JSONファイルで指定されたパスで使用可能かどうかを確認します。
  • OCI資格証明で提供されているOCI資格証明が有効であることを確認します。
Table not found 移行用に指定された表がNoSQL Database Migratorで見つかりませんでした。

ソースの場合:

  • 表がソース・データベースに存在することを確認します。
  • 表がデフォルト以外のネームスペースに作成されている場合は、構成JSONファイルで表がそのネームスペースで修飾されていることを確認します。
  • 表へのアクセスに必要な読取り/書込み権限があるかどうかを確認します。
  • ソースがOracle NoSQL Database Cloud Serviceの場合は、構成JSONファイルで有効なコンパートメント名が指定されているかどうかを確認し、表へのアクセスに必要な権限があることを確認します。

シンクの場合:

  • 表がシンクに存在することを確認します。存在しない場合は、表を手動で作成するか、schemaInfo構成を使用して移行によって作成する必要があります。
DDL Execution failed 入力スキーマ定義ファイルに指定されたDDLコマンドが無効です。
  • schemaPathファイルのDDLコマンドの構文を確認します。
  • schemaPathファイルの行ごとにDDL文が1つのみであることを確認します。
failed to write record to the sink table with java.lang.IllegalArgumentException 入力レコードがシンクの表スキーマと一致しません。
  • ターゲット・シンク表に指定されているデータ型および列名がシンク表スキーマと一致するかどうかを確認します。
  • 変換を適用した場合は、変換されたレコードがシンク表スキーマと一致しているかどうかを確認します。
Request timeout ソースまたはシンクの操作が予想時間内に完了しませんでした。
  • ネットワークの接続を確認します。
  • NoSQL Databaseが稼働していることを確認します。
  • 構成JSONファイルのrequestTimeout値を増やします。

失敗した移行を再開する前に考慮する必要があることを教えてください。

データ移行タスクが失敗すると、シンクは処理中状態になり、障害が発生した時点までにインポートされたデータが含まれます。ログからエラーおよび障害の詳細を特定し、エラーの診断および修正後に移行を再開できます。移行を再開するともう一度やり直され、すべてのデータが最初から処理されます。移行をチェックポイント処理し、障害が発生した時点から再開する方法はありません。したがって、NoSQL Database Migratorは、シンクにすでに移行されているレコードを上書きします。

ベストプラクティス

データ移行にかかる時間は、移行するデータ量、ネットワーク速度、データベースの現在の負荷などの複数の要因に依存します。クラウド・サービスの場合、移行の速度は、読取りスループットおよびプロビジョニングされた書込みスループットにも依存します。したがって、移行速度を向上させるために、次のことができます。

Migratorユーティリティは、複数のストリームをパラレルで処理することで、移行速度を向上させるように本質的に設計されています。次の点は、この機能を様々な移行シナリオで活用する方法を示しています。

大量のデータセットを含む長時間の移行があります。移行の進行状況を追跡するにはどうすればよいですか。

追加のロギングを有効にして、長時間実行される移行の進行状況を追跡できます。Oracle NoSQL Database Migratorのロギング動作を制御するには、logging.propertiesファイルで必要なロギング・レベルを設定する必要があります。このファイルはNoSQL Database Migratorパッケージに付属しており、Oracle NoSQL Database Migratorが解凍されたディレクトリで使用できます。詳細度の増加順にロギングするレベルは、OFF, SEVERE, WARNING, INFO, FINE,およびALLです。

ログ・レベルをOFFに設定すると、すべてのロギング情報がオフになります。一方、ログ・レベルをALLに設定すると、完全なログ情報が表示されます。

デフォルトのログ・レベルはWARNINGです。すべてのロギング出力は、デフォルトでコンソールに出力されるように構成されます。

各ログ・レベルに関するコメントが、logging.propertiesファイルに表示されます。