シンク構成テンプレート
有効な各シンク用のシンク構成ファイル形式および各構成パラメータの用途について学習します。
トピック
- ファイル・シンクとしてのJSON
Oracle NoSQL Database Migratorがシンクとして有効なソースからJSONファイルにデータをコピーするためのシンク構成テンプレート。
- Parquetファイル
シンクとして有効なソースからParquetファイルにデータをコピーするOracle NoSQL Database Migratorのシンク構成テンプレート。
- OCIオブジェクト・ストレージ・バケットのJSONファイル
シンクとして、Oracle NoSQL Database Migratorがデータを有効なソースからOCIオブジェクト・ストレージ・バケットのJSONファイルにコピーするためのシンク構成テンプレート。
- OCIオブジェクト・ストレージ・バケットのParquetファイル
シンクとして、Oracle NoSQL Database Migratorがデータを有効なソースからOCIオブジェクト・ストレージ・バケットのParquetファイルにコピーするためのシンク構成テンプレート。
- Oracle NoSQL Database
シンクとして有効なソースからOracle NoSQL Database表にデータをコピーするためのOracle NoSQL Database Migratorのシンク構成テンプレート。
- Oracle NoSQL Database Cloud Service
シンクとして有効なソースからOracle NoSQL Database Cloud Service表にデータをコピーするOracle NoSQL Database Migratorのシンク構成テンプレート。
ファイル・シンクとしてのJSON
NoSQL Database MigratorのシンクとしてのJSONファイルの構成ファイル形式を次に示します。
シンク構成テンプレート
"sink" : {
"type" : "file",
"format" : "json",
"dataPath": "</path/to/a/file>",
"schemaPath" : "<path/to/a/file>",
"pretty" : <true|false>,
"useMultiFiles" : <true|false>,
"chunkSize" : <size in MB>
}
シンク・パラメータ
type
-
用途: シンク・タイプを識別します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"type" : "file"
format
-
用途: シンクの形式を指定します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"format" : "json"
dataPath
-
用途: ソース・データがJSON形式でコピーされるファイルへの絶対パスを指定します。
指定されたデータ・パスにファイルが存在しない場合は、NoSQL Database Migratorによって作成されます。すでに存在する場合は、NoSQL Database Migratorによってその内容がソース・データで上書きされます。
データ・パスに指定されたファイルの親ディレクトリが有効であることを確認する必要があります。
ノート:
useMultiFilesパラメータがtrueに設定されている場合、ディレクトリへのパスを指定し、それ以外の場合はファイルへのパスを指定します。 - データ型: 文字列
- 必須(Y/N): Y
-
例:
- useMultiFilesパラメータがtrueに設定されている場合
"dataPath" :"
/home/user/data
" - useMultiFilesパラメータが指定されていないか、falseに設定されている場合
"dataPath" :"
/home/user/sample.json
"
- useMultiFilesパラメータがtrueに設定されている場合
schemaPath
-
用途: ソースによって提供されるスキーマ情報を書き込む絶対パスを指定します。
この値を定義しないと、ソース・スキーマ情報はシンクに移行されません。この値を指定すると、マイグレータ・ユーティリティによって、ここで指定したファイルにソース表のスキーマが書き込まれます。
スキーマ情報は、このファイルの行ごとに1つのDDLコマンドとして書き込まれます。指定されたデータ・パスにファイルが存在しない場合は、NoSQL Database Migratorによって作成されます。すでに存在する場合は、NoSQL Database Migratorによってその内容がソース・データで上書きされます。データ・パスに指定されたファイルの親ディレクトリが有効であることを確認する必要があります。
- データ型: 文字列
- 必須(Y/N): N
-
例:
"schemaPath" : "/home/user/schema_file"
pretty
-
用途: JSON出力を整形して読みやすくするかどうかを指定します。
指定しなかい場合は、デフォルトでfalseに設定されます。
- データ型: ブール
- 必須(Y/N): N
-
例:
"pretty" : true
useMultiFiles
-
用途: ソース・データをファイルに移行するときに、NoSQL表データを複数のファイルに分割するかどうかを指定します。
指定しなかい場合は、デフォルトでfalseに設定されます。
trueに設定すると、ソース・データをファイルに移行するときに、NoSQL表データが複数の小さいファイルに分割されます。たとえば、
<chunk>.json
です(chunk=000000,000001,000002など)。dataPath |--000000.json |--000001.json
- データ型: ブール
- 必須(Y/N): N
-
例:
"useMultiFiles" : true
chunkSize
-
用途: シンクに格納される表データのチャンクの最大サイズを指定します。移行中、表はchunkSizeのチャンクに分割され、各チャンクは別個のファイルとしてシンクに書き込まれます。移行するソース・データがこのサイズを超えると、新しいファイルが作成されます。
指定しない場合、デフォルトは32MBです。有効な値は1から1024までの整数です。
ノート:
このパラメータは、useMultiFilesパラメータがtrueに設定されている場合にのみ適用できます。 - データ型: 整数
- 必須(Y/N): N
-
例:
"chunkSize" : 40
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>
}
}
シンク・パラメータ
type
-
用途: シンク・タイプを識別します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"type" : "file"
format
-
用途: シンクの形式を指定します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"format" : "parquet"
dataPath
-
用途: 移行されたNoSQL表データの格納に使用するディレクトリへのパスを指定します。ディレクトリがすでに存在し、読取り権限および書込み権限があることを確認します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"dataPath" : "/home/user/migrator/my_table"
chunkSize
-
用途: シンクに格納される表データのチャンクの最大サイズを指定します。移行中、表はchunkSizeのチャンクに分割され、各チャンクは別個のファイルとしてシンクに書き込まれます。移行するソース・データがこのサイズを超えると、新しいファイルが作成されます。
指定しない場合、デフォルトは32MBです。有効な値は1から1024までの整数です。
- データ型: 整数
- 必須(Y/N): N
-
例:
"chunkSize" : 40
compression
-
用途: Parquetデータを圧縮するために使用する圧縮タイプを指定します。有効な値は、SNAPPY、GZIPおよびNONEです。
指定しない場合は、デフォルトでSNAPPYに設定されます。
- データ型: 文字列
- 必須(Y/N): N
-
例:
"compression" : "GZIP"
parquetOptions
-
用途: NoSQL ENUM、JSONおよびUUID列のParquet論理型を選択するオプションを指定します。
このパラメータを指定しない場合、NoSQL Database Migratorは、ENUM、JSONおよびUUID列のデータを文字列として書き込みます。
- データ型: オブジェクト
- 必須(Y/N): N
parquetOptions.useLogicalJson
-
用途: NoSQL JSON列データをParquet論理JSON型として書き込むかどうかを指定します。詳細は、Parquet論理型の定義を参照してください。
指定されていないかfalseに設定されている場合、NoSQL Database MigratorはNoSQL JSON列データを文字列として書き込みます。
- データ型: ブール
- 必須(Y/N): N
-
例:
"useLogicalJson" : true
parquetOptions.useLogicalEnum
-
用途: NoSQL ENUM列データをParquet論理ENUM型として書き込むかどうかを指定します。詳細は、Parquet論理型の定義を参照してください。
指定されていないかfalseに設定されている場合、NoSQL Database MigratorはNoSQL ENUM列データを文字列として書き込みます。
- データ型: ブール
- 必須(Y/N): N
-
例:
"useLogicalEnum" : true
parquetOptions.useLogicalUUID
-
用途: NoSQL UUID列データをParquet論理UUID型として書き込むかどうかを指定します。詳細は、Parquet論理型の定義を参照してください。
指定されていないかfalseに設定されている場合、NoSQL Database MigratorはNoSQL UUID列データを文字列として書き込みます。
- データ型: ブール
- 必須(Y/N): N
-
例:
"useLogicalUUID" : true
parquetOptions.truncateDoubleSpecials
-
用途: doubleの+Infinity、-InfinityおよびNan値を切り捨てるかどうかを指定します。
デフォルトでは、これはfalse
に設定されています。true
に設定されている場合、- Positive_InfinityはDouble.MAX_VALUEに切り捨てられます。
- NEGATIVE_INFINITYは-Double.MAX_VALUEに切り捨てられます。
- NaNは9.9999999999999990E307に切り捨てられます。
- データ型: ブール
- 必須(Y/N): N
-
例:
"truncateDoubleSpecials" : true
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>
}
ソース・パラメータ
type
-
用途: シンク・タイプを識別します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"type" : "object_storage_oci"
format
-
用途: シンクの形式を指定します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"format" : "json"
endpoint
-
用途: OCIオブジェクト・ストレージ・サービスのエンドポイントURLまたはリージョンIDを指定します。
完全なURLまたはリージョンIDのみを指定できます。Oracle NoSQL Database Cloud Serviceでサポートされているデータ・リージョンのリストは、Oracle NoSQL Database Cloud Serviceの使用のデータ・リージョンと関連サービスのURLを参照してください。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
-
リージョンID:
"endpoint" : "us-ashburn-1"
-
URL形式:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
namespace
-
用途: OCIオブジェクト・ストレージ・サービスのネームスペースを指定します。これはオプション・パラメータです。このパラメータを指定しない場合は、テナンシのデフォルト・ネームスペースが使用されます。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"namespace" : "my-namespace"
bucket
-
用途: 移行されたデータの格納に使用するバケット名を指定します。必要なバケットがOCIオブジェクト・ストレージ・インスタンスにすでに存在し、書込み権限があることを確認してください。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"bucket" : "staging_bucket"
prefix
-
用途: バケットにオブジェクトが作成されたときにオブジェクト名に追加される接頭辞を指定します。接頭辞は、データを格納するための論理コンテナまたはディレクトリとして機能します。接頭辞の詳細は、接頭辞および階層を使用したオブジェクト・ネーミングに関する項を参照してください。
指定しない場合、ソースの表名が接頭辞として使用されます。同じ名前のオブジェクトがバケットにすでに存在する場合、そのオブジェクトは上書きされます。
スキーマは
<prefix>/Schema /schema.ddl
ファイルに移行され、ソース・データは<prefix>/Data/<chunk>.json
ファイルに移行されます(chunk=000000.json、000001.jsonなど)。 - データ型: 文字列
- 必須(Y/N): N
- 例:
"prefix" : "my_export"
"prefix" : "my_export/2021-04-05/"
chunkSize
-
用途: シンクに格納される表データのチャンクの最大サイズを指定します。移行中、表はchunkSizeのチャンクに分割され、各チャンクは別個のファイルとしてシンクに書き込まれます。移行するソース・データがこのサイズを超えると、新しいファイルが作成されます。
指定しない場合、デフォルトは32MBです。有効な値は1から1024までの整数です。
- データ型: 整数
- 必須(Y/N): N
-
例:
"chunkSize" : 40
pretty
-
用途: JSON出力を整形して読みやすくするかどうかを指定します。
指定しなかい場合は、デフォルトでfalseに設定されます。
- データ型: ブール
- 必須(Y/N): N
-
例:
"pretty" : true
credentials
-
用途: OCI資格証明を含むファイルへの絶対パス。
指定しない場合は、デフォルトで
$HOME/.oci/config
に設定されます。資格証明ファイルの例は、構成例を参照してください。
ノート:
credentialsおよびuseInstancePrincipalパラメータは個別に必須ではありませんが、これらのパラメータの1つを指定する必要があります。また、この2つのパラメータは相互に排他的です。これらのパラメータのうち1つのみを指定します。両方を同時に指定することはできません。 - データ型: 文字列
- 必須(Y/N): N
- 例:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
用途: Oracle NoSQL Database Cloud Serviceへの接続に使用される構成プロファイルの名前。ユーザー・アカウント資格証明は、「プロファイル」と呼ばれます。
この値を指定しない場合は、デフォルトで
DEFAULT
プロファイルに設定されます。ノート:
このパラメータは、credentialsパラメータが指定されている場合のみ有効です。 - データ型: 文字列
- 必須(Y/N): N
- 例:
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
useInstancePrincipal
-
用途: NoSQL Migratorツールでインスタンス・プリンシパル認証を使用してOracle NoSQL Database Cloud Serviceに接続するかどうかを指定します。インスタンス・プリンシパル認証方法の詳細は、「ソースおよびシンク・セキュリティ」を参照してください。
指定しなかい場合は、デフォルトでfalseに設定されます。
ノート:
- これは、OCIでホストされているVMで実行されているNoSQL Database Migratorツールなど、OCIコンピュート・インスタンス内でNoSQL Database Migratorツールが実行されている場合のみサポートされます。
- credentialsおよびuseInstancePrincipalパラメータは個別に必須ではありませんが、これらのパラメータの1つを指定する必要があります。また、この2つのパラメータは相互に排他的です。これらのパラメータのうち1つのみを指定します。両方を同時に指定することはできません。
- データ型: ブール
- 必須(Y/N): N
-
例:
"useInstancePrincipal" : true
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>
}
ソース・パラメータ
type
-
用途: シンク・タイプを識別します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"type" : "object_storage_oci"
format
-
用途: シンクの形式を指定します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"format" : "parquet"
endpoint
-
用途: OCIオブジェクト・ストレージ・サービスのエンドポイントURLまたはリージョンIDを指定します。
完全なURLまたはリージョンIDのみを指定できます。Oracle NoSQL Database Cloud Serviceでサポートされているデータ・リージョンのリストは、Oracle NoSQL Database Cloud Serviceの使用のデータ・リージョンと関連サービスのURLを参照してください。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
-
リージョンID:
"endpoint" : "us-ashburn-1"
-
URL形式:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
namespace
-
用途: OCIオブジェクト・ストレージ・サービスのネームスペースを指定します。これはオプション・パラメータです。このパラメータを指定しない場合は、テナンシのデフォルト・ネームスペースが使用されます。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"namespace" : "my-namespace"
bucket
-
用途: 移行されたデータの格納に使用するバケット名を指定します。必要なバケットがOCIオブジェクト・ストレージ・インスタンスにすでに存在し、書込み権限があることを確認してください。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"bucket" : "staging_bucket"
prefix
-
用途: バケットにオブジェクトが作成されたときにオブジェクト名に追加される接頭辞を指定します。接頭辞は、データを格納するための論理コンテナまたはディレクトリとして機能します。接頭辞の詳細は、接頭辞および階層を使用したオブジェクト・ネーミングに関する項を参照してください。
指定しない場合、ソースの表名が接頭辞として使用されます。同じ名前のオブジェクトがバケットにすでに存在する場合、そのオブジェクトは上書きされます。
ソース・データは、
<prefix>/Data/<chunk>.parquet
ファイル(chunk=000000.parquet、000001.parquetなど)に移行されます。 - データ型: 文字列
- 必須(Y/N): N
- 例:
"prefix" : "my_export"
"prefix" : "my_export/2021-04-05/"
chunkSize
-
用途: シンクに格納される表データのチャンクの最大サイズを指定します。移行中、表はchunkSizeのチャンクに分割され、各チャンクは別個のファイルとしてシンクに書き込まれます。移行するソース・データがこのサイズを超えると、新しいファイルが作成されます。
指定しない場合、デフォルトは32MBです。有効な値は1から1024までの整数です。
- データ型: 整数
- 必須(Y/N): N
-
例:
"chunkSize" : 40
compression
-
用途: Parquetデータを圧縮するために使用する圧縮タイプを指定します。有効な値は、SNAPPY、GZIPおよびNONEです。
指定しない場合は、デフォルトでSNAPPYに設定されます。
- データ型: 文字列
- 必須(Y/N): N
-
例:
"compression" : "GZIP"
parquetOptions
-
用途: NoSQL ENUM、JSONおよびUUID列のParquet論理型を選択するオプションを指定します。
このパラメータを指定しない場合、NoSQL Database Migratorは、ENUM、JSONおよびUUID列のデータを文字列として書き込みます。
- データ型: オブジェクト
- 必須(Y/N): N
parquetOptions.useLogicalJson
-
用途: NoSQL JSON列データをParquet論理JSON型として書き込むかどうかを指定します。詳細は、Parquet論理型の定義を参照してください。
指定されていないかfalseに設定されている場合、NoSQL Database MigratorはNoSQL JSON列データを文字列として書き込みます。
- データ型: ブール
- 必須(Y/N): N
-
例:
"useLogicalJson" : true
parquetOptions.useLogicalEnum
-
用途: NoSQL ENUM列データをParquet論理ENUM型として書き込むかどうかを指定します。詳細は、Parquet論理型の定義を参照してください。
指定されていないかfalseに設定されている場合、NoSQL Database MigratorはNoSQL ENUM列データを文字列として書き込みます。
- データ型: ブール
- 必須(Y/N): N
-
例:
"useLogicalEnum" : true
parquetOptions.useLogicalUUID
-
用途: NoSQL UUID列データをParquet論理UUID型として書き込むかどうかを指定します。詳細は、Parquet論理型の定義を参照してください。
指定されていないかfalseに設定されている場合、NoSQL Database MigratorはNoSQL UUID列データを文字列として書き込みます。
- データ型: ブール
- 必須(Y/N): N
-
例:
"useLogicalUUID" : true
parquetOptions.truncateDoubleSpecials
-
用途: doubleの+Infinity、-InfinityおよびNan値を切り捨てるかどうかを指定します。
デフォルトでは、これはfalse
に設定されています。true
に設定されている場合、- Positive_InfinityはDouble.MAX_VALUEに切り捨てられます。
- NEGATIVE_INFINITYは-Double.MAX_VALUEに切り捨てられます。
- NaNは9.9999999999999990E307に切り捨てられます。
- データ型: ブール
- 必須(Y/N): N
-
例:
"truncateDoubleSpecials" : true
credentials
-
用途: OCI資格証明を含むファイルへの絶対パス。
指定しない場合は、デフォルトで
$HOME/.oci/config
に設定されます。資格証明ファイルの例は、構成例を参照してください。
ノート:
credentialsおよびuseInstancePrincipalパラメータは個別に必須ではありませんが、これらのパラメータの1つを指定する必要があります。また、この2つのパラメータは相互に排他的です。これらのパラメータのうち1つのみを指定します。両方を同時に指定することはできません。 - データ型: 文字列
- 必須(Y/N): N
- 例:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
用途: Oracle NoSQL Database Cloud Serviceへの接続に使用される構成プロファイルの名前。ユーザー・アカウント資格証明は、「プロファイル」と呼ばれます。
この値を指定しない場合は、デフォルトで
DEFAULT
プロファイルに設定されます。ノート:
このパラメータは、credentialsパラメータが指定されている場合のみ有効です。 - データ型: 文字列
- 必須(Y/N): N
- 例:
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
useInstancePrincipal
-
用途: NoSQL Migratorツールでインスタンス・プリンシパル認証を使用してOracle NoSQL Database Cloud Serviceに接続するかどうかを指定します。インスタンス・プリンシパル認証方法の詳細は、「ソースおよびシンク・セキュリティ」を参照してください。
指定しなかい場合は、デフォルトでfalseに設定されます。
ノート:
- これは、OCIでホストされているVMで実行されているNoSQL Database Migratorツールなど、OCIコンピュート・インスタンス内でNoSQL Database Migratorツールが実行されている場合のみサポートされます。
- credentialsおよびuseInstancePrincipalパラメータは個別に必須ではありませんが、これらのパラメータの1つを指定する必要があります。また、この2つのパラメータは相互に排他的です。これらのパラメータのうち1つのみを指定します。両方を同時に指定することはできません。
- データ型: ブール
- 必須(Y/N): N
-
例:
"useInstancePrincipal" : true
Oracle NoSQL Database
NoSQL Database MigratorのシンクとしてのOracle NoSQL Databaseの構成ファイル形式を次に示します。
シンク構成テンプレート
"sink" : {
"type": "nosqldb",
"table" : "<fully qualified table name>",
"schemaInfo" : {
"schemaPath" : "</path/to/a/schema/file>",
"defaultSchema" : <true|false>,
"useSourceSchema" : <true|false>,
"DDBPartitionKey" : <"name:type">,
"DDBSortKey" : "<name:type>"
},
"overwrite" : <true|false>,
"storeName" : "<store name>",
"helperHosts" : ["hostname1:port1","hostname2:port2,..."],
"security" : "</path/to/store/credentials/file>",
"requestTimeoutMs" : <timeout in milli seconds>,
"includeTTL": <true|false>,
"ttlRelativeDate": "<date-to-use in UTC>"
}
シンク・パラメータ
type
-
用途: シンク・タイプを識別します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"type" : "nosqldb"
table
-
用途: データの移行元の完全修飾表名。
形式:
[namespace_name:]<table_name>
表がDEFAULTネームスペースにある場合は、
namespace_name
を省略できます。移行時に表がストアに存在し、そのスキーマがソース・データと一致している必要があります。シンクで表を使用できない場合は、
schemaInfo
パラメータを使用して、シンクにも表を作成するようにNoSQL Database Migratorに指示できます。 - データ型: 文字列
- 必須(Y/N): Y
- 例:
-
DEFAULTネームスペース
"table" :"mytable"
を使用する場合 -
デフォルト以外のネームスペース
"table" : "mynamespace:mytable"
を使用する場合 -
子表
"table" : "mytable.child"
を指定する場合ノート:
子表を有効なデータ・ソースからOracle NoSQL Databaseに移行できます。NoSQL Database Migratorでは、実行ごとに1つの表のみをコピーします。親表が子表の前に移行されていることを確認します。
-
schemainfo
-
用途: 移行対象データのスキーマを指定します。これが指定されていない場合は、表がシンクのストアにすでに存在するとみなします。
- データ型: オブジェクト
- 必須(Y/N): N
schemaInfo.schemaPath
-
用途: NoSQL表のDDL文を含むファイルへの絶対パスを指定します。
NoSQL Database Migratorは、データを移行する前に、このファイルにリストされているDDLコマンドを実行します。
NoSQL Database Migratorでは、
schemaPath
ファイルの行ごとに複数のDDL文をサポートしていません。 -
データ型: 文字列
-
必須: Y (
schemaInfo.defaultSchema
パラメータがNoに設定されている場合のみ)。
schemaInfo.defaultSchema
-
用途: このパラメータをtrueに設定すると、NoSQL Database Migratorではデフォルト・スキーマを使用して表が作成されます。デフォルト・スキーマは、マイグレータ自体によって定義されます。デフォルト・スキーマ定義の詳細は、Oracle NoSQLデータ・マイグレータの使用のデフォルト・スキーマを参照してください。
-
データ型: ブール
-
必須: N
ノート:
defaultSchema
とschemaPath
は相互に排他的です - 例:
- デフォルト・スキーマを使用:
"schemaInfo" : { "defaultSchema" : true }
- 事前定義済のスキーマを使用:
"schemaInfo" : { "schemaPath" : "<complete/path/to/the/schema/definition/file>" }
- デフォルト・スキーマを使用:
schemaInfo.useSourceSchema
-
用途: NoSQL表の移行時にソースによって提供される表スキーマ定義をシンクで使用するかどうかを指定します。
-
データ型: ブール
- 必須(Y/N): N
ノート:
defaultSchema、schemaPathおよびuseSourceSchemaパラメータは相互に排他的です。これらのパラメータのうち1つのみを指定してください。 - 例:
- デフォルト・スキーマを使用:
"schemaInfo" : { "defaultSchema" : true }
- 事前定義済のスキーマを使用:
"schemaInfo" : { "schemaPath" : "<complete/path/to/the/schema/definition/file>" }
- ソース・スキーマを使用:
"schemaInfo" : { "useSourceSchema" : true }
- デフォルト・スキーマを使用:
schemaInfo.DDBPartitionKey
- 用途: シンクのOracle NoSQL Database表で使用するDynamoDBパーティション・キーおよび対応するOracle NoSQL Database型を指定します。このキーは、NoSQL DB表のシャード・キーとして使用されます。これは、
defaultSchema
がtrueに設定され、ソースの形式がdynamodb_json
の場合にのみ適用されます。詳細は、「DynamoDB型からOracle NoSQL型へのマッピング」 を参照してください。 - 必須:
defaultSchema
がtrueで、ソースがdynamodb_jsonの場合、Yes。
- 例:
"DDBPartitionKey" : "PersonID:INTEGER"
ノート:
パーティション・キーにダッシュ(-)またはドット(.)が含まれている場合、NoSQL列名ではドットとダッシュがサポートされていないため、マイグレータはそれをアンダースコア(_)に置き換えます。
schemaInfo.DDBSortKey
- 用途: ターゲットのOracle NoSQL Database表で使用するDynamoDBソート・キーおよび対応するOracle NoSQL Database型を指定します。インポートするDynamoDB表にソート・キーがない場合は、設定しないでください。このキーは、NoSQL DB表の主キーの非シャード部分として使用されます。これは、
defaultSchema
がtrueに設定され、ソースがdynamodb_json
の場合にのみ適用されます。詳細は、「DynamoDB型からOracle NoSQL型へのマッピング」 を参照してください。 - 必須: No
- 例:
"DDBSortKey" : "Skey:STRING"
ノート:
ソート・キーにダッシュ(-)またはドット(.)が含まれている場合、NoSQL列名ではドットとダッシュがサポートされていないため、マイグレータはそれをアンダースコア(_)に置き換えます。
overwrite
-
用途: ソースから移行されるレコードがすでにシンクに存在している場合のNoSQL Database Migratorの動作を示します。
値をfalseに設定すると、表を移行するときに、NoSQL Database Migratorは、同じ主キーがシンクにすでに存在するレコードをスキップします。
値をtrueに設定すると、表を移行するときに、NoSQL Database Migratorは、同じ主キーがシンクにすでに存在するレコードを上書きします。
指定しない場合は、デフォルトでtrueに設定されます。
- データ型: ブール
- 必須(Y/N): N
- 例:
"overwrite" : false
storeName
-
用途: Oracle NoSQL Databaseストアの名前。
- データ型: 文字列
- 必須(Y/N): Y
- 例:
"storeName" : "kvstore"
helperHosts
-
用途:
hostname:port
形式のホストとレジストリ・ポートのペアのリスト。カンマを使用してリスト内の各アイテムを区切ります。ヘルパー・ホストを1つ以上指定する必要があります。 - データ型: 文字列の配列
- 必須(Y/N): Y
- 例:
"helperHosts" : ["localhost:5000","localhost:6000"]
security
-
用途:
ストアがセキュアなストアの場合は、ストア資格証明を含むセキュリティ・ログイン・ファイルへの絶対パスを指定します。セキュリティ・ログイン・ファイルの詳細は、管理者ガイドのリモート・アクセスでのセキュリティの構成を参照してください。
パスワード・ファイル・ベースの認証またはウォレット・ベースの認証のいずれかを使用できます。ただし、ウォレット・ベースの認証は、Oracle NoSQL DatabaseのEnterprise Edition (EE)でのみサポートされます。ウォレット・ベースの認証の詳細は、「ソースおよびシンク・セキュリティ」を参照してください。
- データ型: 文字列
- 必須(Y/N): Y (セキュアなストアの場合)
- 例:
"security" : "
/home/user/client.credentials
"パスワード・ファイル・ベースの認証のセキュリティ・ファイルの内容の例:
oracle.kv.password.noPrompt=true oracle.kv.auth.username=admin oracle.kv.auth.pwdfile.file=/home/nosql/login.passwd oracle.kv.transport=ssl oracle.kv.ssl.trustStore=/home/nosql/client.trust oracle.kv.ssl.protocols=TLSv1.2 oracle.kv.ssl.hostnameVerifier=dnmatch(CN\=NoSQL)
ウォレット・ベースの認証のセキュリティ・ファイルの内容の例:
oracle.kv.password.noPrompt=true oracle.kv.auth.username=admin oracle.kv.auth.wallet.dir=/home/nosql/login.wallet oracle.kv.transport=ssl oracle.kv.ssl.trustStore=/home/nosql/client.trust oracle.kv.ssl.protocols=TLSv1.2 oracle.kv.ssl.hostnameVerifier=dnmatch(CN\=NoSQL)
requestTimeoutMs
-
用途: シンク内の各書き込み操作が完了するまで待機する時間を指定します。これはミリ秒単位で指定します。デフォルト値は5000です。値には任意の正の整数を指定できます。
- データ型: 整数
- 必須(Y/N): N
- 例:
"requestTimeoutMs" : 5000
includeTTL
-
用途: Oracle NoSQL Database表のインポート時にソースによって提供される表の行のTTLメタデータを含めるかどうかを指定します。
このパラメータを指定しない場合、デフォルトは
false
です。この場合、NoSQL Database Migratorには、Oracle NoSQL Database表のインポート時にソースによって提供される表の行のTTLメタデータは含まれません。trueに設定すると、NoSQL Database Migratorツールは、表の行のインポート時にTTLメタデータに対して次のチェックを実行します。_metadata
定義を持たない行をインポートすると、NoSQL Database MigratorツールはTTLを0に設定します。これは、行が期限切れにならないことを意味します。_metadata
定義を持つ行をインポートすると、NoSQL Database Migratorツールは、行がインポートされたときにTTL値を参照時間と比較します。参照時間に対してすでに失効している行はスキップされます。行が失効していない場合は、TTL値とともにインポートされます。デフォルトでは、インポート操作の参照時間は、NoSQL Database Migratorツールが実行されているマシンのSystem.currentTimeMillis()から取得された現在の時間(ミリ秒)です。ただし、有効期限を延長し、延長しなければすぐに期限切れになる行をインポートする場合は、ttlRelativeDate
構成パラメータを使用してカスタム参照時間を設定することもできます。行の有効期限を計算する式は次のとおりです。expiration = (TTL value of source row in milliseconds - Reference Time in milliseconds) if (expiration <= 0) then it indicates that row has expired.
ノート:
Oracle NoSQL TTLの境界は時間および日数であるため、場合によっては、インポートされた行のTTLが直近の時間または日に調整される可能性があります。たとえば、有効期限の値が1629709200000 (2021-08-23 09:00:00)
で、参照時間の値が1629707962582 (2021-08-23 08:39:22)
の行について考えてみます。ここでは、このデータのインポート時に参照時間に対して行が有効期限切れになっていない場合でも、その行の新しいTTLは1629712800000 (2021-08-23 10:00:00)
です。
- データ型: ブール
- 必須(Y/N): N
- 例:
"includeTTL" : true
ttlRelativeDate
-
用途: Oracle NoSQL Databaseへのインポート中に表の行のTTL失効を設定するために使用されるYYYY-MM-DD hh:mm:ss形式でUTC日付を指定します。
エクスポートするデータの表の行が期限切れになった場合は、ttlRelativeDateパラメータを、エクスポートしたデータの表の行の有効期限より前の日付に設定できます。
このパラメータを指定しない場合は、NoSQL Database Migratorツールが実行されているマシンのSystem.currentTimeMillis()から取得された現在の時間がミリ秒単位でデフォルト設定されます。
- データ型: 日付
- 必須(Y/N): N
- 例:
"ttlRelativeDate" : "2021-01-03 04:31:17"
2021年1月1日から7日後に表の行が失効するシナリオについて考えてみます。この表をエクスポートした後、2021年1月7日に、表の問題が発生し、データをインポートすることにしました。表の行は1日で失効します(データの有効期限日からttlRelativedate構成パラメータのデフォルト値(現在の日付)を引いた値)。ただし、表の行の有効期限を1日ではなく5日に延長する場合は、ttlRelativeDateパラメータを使用して前の日付を選択します。したがって、このシナリオでは、表の行の有効期限を5日延長する場合、ttlRelativeDate構成パラメータの値を2021年1月3日に設定します。これは、表の行がインポートされるときに参照時間として使用されます。
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>",
"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" : "<oci credentials profile name>",
"writeUnitsPercent" : <table writeunits percent>,
"requestTimeoutMs" : <timeout in milli seconds>,
"useInstancePrincipal" : <true|false>,
"overwrite" : <true|false>,
"includeTTL": <true|false>,
"ttlRelativeDate" : "<date-to-use in UTC>"
}
シンク・パラメータ
- type
- endpoint
- table
- compartment
- schemaInfo
- schemaInfo.schemaPath
- schemaInfo.defaultSchema
- schemaInfo.useSourceSchema
- schemaInfo.DDBPartitionKey
- schemaInfo.DDBSortKey
- schemaInfo.onDemandThroughput
- schemaInfo.readUnits
- schemaInfo.writeUnits
- schemaInfo.storageSize
- credentials
- credentialsProfile
- writeUnitsPercent
- requestTimeoutMs
- useInstancePrincipal
- overwrite
- includeTTL
- ttlRelativeDate
type
-
用途: シンク・タイプを識別します。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
"type" : "nosqldb_cloud"
endpoint
-
用途: Oracle NoSQL Database Cloud Serviceのサービス・エンドポイントを指定します。
完全なURLまたはリージョンIDのみを指定できます。Oracle NoSQL Database Cloud Serviceでサポートされているデータ・リージョンのリストは、Oracle NoSQL Database Cloud Serviceの使用のデータ・リージョンと関連サービスのURLを参照してください。
- データ型: 文字列
- 必須(Y/N): Y
-
例:
-
リージョンID:
"endpoint" : "us-ashburn-1"
-
URL形式:
"endpoint" : "https://nosql.us-ashburn-1.oci.oraclecloud.com/"
-
table
-
用途: データの移行先となる表の名前。
この表がOracle NoSQL Database Cloud Serviceに存在することを確認する必要があります。それ以外の場合は、シンク構成で
schemaInfo
オブジェクトを使用して、表を作成するようにNoSQL Database Migratorに指示する必要があります。この表のスキーマはソース・データと一致している必要があります。
- データ型: 文字列
- 必須(Y/N): Y
- 例:
- 表
"table" : "mytable"
を指定する場合 - 子表
"table" : "mytable.child"
を指定する場合ノート:
子表を有効なデータ・ソースからOracle NoSQL Database Cloud Serviceに移行できます。NoSQL Database Migratorでは、実行ごとに1つの表のみをコピーします。親表が子表の前に移行されていることを確認します。
- 表
compartment
-
用途: 表が存在するコンパートメントの名前またはOCIDを指定します。
値を指定しない場合は、デフォルトでルート・コンパートメントに設定されます。
コンパートメントのOCIDは、OCI Cloudコンソールの「Governance」のコンパートメント・エクスプローラ・ウィンドウから確認できます。
- データ型: 文字列
- 必須(Y/N): 表がテナンシのルート・コンパートメントにない場合、またはuseInstancePrincipalパラメータがtrueに設定されている場合、Y。
ノート:
useInstancePrincipalパラメータがtrueに設定されている場合、コンパートメントは名前ではなくコンパートメントOCIDを指定する必要があります。 - 例:
-
コンパートメント名
"compartment" : "mycompartment"
-
親コンパートメントで修飾されたコンパートメント名
"compartment" : "parent.childcompartment"
-
値が未指定。デフォルトはルート・コンパートメントです。
"compartment": ""
-
コンパートメントOCID
"compartment" : "ocid1.tenancy.oc1...4ksd"
-
schemaInfo
-
用途: 移行対象データのスキーマを指定します。
このパラメータを指定しない場合、NoSQL Database Migratorでは、表がOracle NoSQL Database Cloud Serviceにすでに存在するとみなされます。
このパラメータが指定されておらず、シンクに表が存在しない場合、移行は失敗します。
- データ型: オブジェクト
- 必須(Y/N): N
schemaInfo.schemaPath
-
用途: NoSQL表のDDL文を含むファイルへの絶対パスを指定します。
NoSQL Database Migratorは、データを移行する前に、このファイルにリストされているDDLコマンドを実行します。
NoSQL Database Migratorでは、
schemaPath
ファイルの行ごとに複数のDDL文をサポートしていません。 -
データ型: 文字列
-
必須: Y (
schemaInfo.defaultSchema
パラメータがNoに設定されている場合のみ)。
schemaInfo.defaultSchema
-
用途: このパラメータをYesに設定すると、NoSQL Database Migratorではデフォルト・スキーマを使用して表が作成されます。デフォルト・スキーマは、マイグレータ自体によって定義されます。デフォルト・スキーマ定義の詳細は、Oracle NoSQLデータ・マイグレータの使用のデフォルト・スキーマを参照してください。
-
データ型: ブール
-
必須: Y (
schemaInfo.defaultSchema
パラメータがNoに設定されている場合のみ)。ノート:
defaultSchema
とschemaPath
は相互に排他的です
schemaInfo.useSourceSchema
-
用途: NoSQL表の移行時にソースによって提供される表スキーマ定義をシンクで使用するかどうかを指定します。
-
データ型: ブール
- 必須(Y/N): N
ノート:
defaultSchema、schemaPathおよびuseSourceSchemaパラメータは相互に排他的です。これらのパラメータのうち1つのみを指定してください。 - 例:
- デフォルト・スキーマを使用:
"schemaInfo" : { "defaultSchema" : true, "readUnits" : 100, "writeUnits" : 60, "storageSize" : 1 }
- 事前定義済のスキーマを使用:
"schemaInfo" : { "schemaPath" : "<complete/path/to/the/schema/definition/file>", "readUnits" : 100, "writeUnits" : 100, "storageSize" : 1 }
- ソース・スキーマを使用:
"schemaInfo" : { "useSourceSchema" : true, "readUnits" : 100, "writeUnits" : 60, "storageSize" : 1 }
- デフォルト・スキーマを使用:
schemaInfo.DDBPartitionKey
- 用途: シンクのOracle NoSQL Database表で使用するDynamoDBパーティション・キーおよび対応するOracle NoSQL Database型を指定します。このキーは、NoSQL DB表のシャード・キーとして使用されます。これは、
defaultSchema
がtrueに設定され、ソースの形式がdynamodb_json
の場合にのみ適用されます。詳細は、「DynamoDB型からOracle NoSQL型へのマッピング」 を参照してください。 - 必須:
defaultSchema
がtrueで、ソースがdynamodb_jsonの場合、Yes。
- 例:
"DDBPartitionKey" : "PersonID:INTEGER"
ノート:
パーティション・キーにダッシュ(-)またはドット(.)が含まれている場合、NoSQL列名ではドットとダッシュがサポートされていないため、マイグレータはそれをアンダースコア(_)に置き換えます。
schemaInfo.DDBSortKey
- 用途: ターゲットのOracle NoSQL Database表で使用するDynamoDBソート・キーおよび対応するOracle NoSQL Database型を指定します。インポートするDynamoDB表にソート・キーがない場合は、設定しないでください。このキーは、NoSQL DB表の主キーの非シャード部分として使用されます。これは、
defaultSchema
がtrueに設定され、ソースがdynamodb_json
の場合にのみ適用されます。詳細は、DynamoDB型からOracle NoSQL型へのマッピング に関する項を参照してください。 - 必須: No
- 例:
"DDBSortKey" : "Skey:STRING"
ノート:
ソート・キーにダッシュ(-)またはドット(.)が含まれている場合、NoSQL列名ではドットとダッシュがサポートされていないため、マイグレータはそれをアンダースコア(_)に置き換えます。
schemaInfo.onDemandThroughput
- 用途: オンデマンドの読取りおよび書込みスループットを使用して表を作成することを指定します。このパラメータが設定されていない場合、表はプロビジョニングされた容量で作成されます。
デフォルト値は、
false
です。ノート:
このパラメータは、最上位の親表のスループットを共有するため、子表に適用できません。 -
データ型: ブール
-
必須: N
- 例:
"onDemandThroughput" : "true"
schemaInfo.readUnits
- 用途: 新しい表の読取りスループットを指定します。
ノート:
- このパラメータは、オンデマンド容量がプロビジョニングされた表に適用できません。
- このパラメータは、子表が最上位の親表の読取りスループットを共有するため、子表に適用できません。
-
データ型: 整数
-
必須: 表が子表でない場合、またはschemaInfo.onDemandThroughputパラメータが
false
に設定されている場合にY、それ以外の場合はN。 - 例:
"readUnits" : 100
schemaInfo.writeUnits
- 用途: 新しい表の書込みスループットを指定します。
ノート:
- このパラメータは、オンデマンド容量がプロビジョニングされた表に適用できません。
- このパラメータは、子表が最上位の親表の書込みスループットを共有するため、子表に適用できません。
-
データ型: 整数
-
必須: 表が子表でない場合、またはschemaInfo.onDemandThroughputパラメータが
false
に設定されている場合にY、それ以外の場合はN。 - 例:
"writeUnits" : 100
schemaInfo.storageSize
- 用途: 新しい表の記憶域サイズをGB単位で指定します
ノート:
このパラメータは、子表が最上位の親表のストレージ・サイズを共有するため、子表に適用できません。 -
データ型: 整数
-
必須: 表が子表でない場合はY、それ以外の場合は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 }
-
credentials
-
用途: OCI資格証明を含むファイルへの絶対パス。
指定しない場合は、デフォルトで
$HOME/.oci/config
に設定されます。資格証明ファイルの例は、構成例を参照してください。
ノート:
credentialsおよびuseInstancePrincipalパラメータは個別に必須ではありませんが、これらのパラメータの1つを指定する必要があります。また、この2つのパラメータは相互に排他的です。これらのパラメータのうち1つのみを指定します。両方を同時に指定することはできません。 - データ型: 文字列
- 必須(Y/N): N
- 例:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
用途: Oracle NoSQL Database Cloud Serviceへの接続に使用される構成プロファイルの名前。
この値を指定しない場合は、デフォルトで
DEFAULT
プロファイルに設定されます。ノート:
このパラメータは、credentialsパラメータが指定されている場合のみ有効です。 - データ型: 文字列
- 必須(Y/N): N
- 例:
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
writeUnitsPercent
-
用途: 移行アクティビティ中に使用される表書込みユニットの割合を指定します。
デフォルト値は90です。有効範囲は1から100の任意の整数です。
ノート:
データ移行に必要な時間は、writeUnitsPercent
値に正比例します。この属性を使用してデータ移行速度を向上させる方法の詳細は、「Oracle NoSQL Database Migratorのトラブルシューティング」を参照してください。
- データ型: 整数
- 必須(Y/N): N
- 例:
"writeUnitsPercent" : 90
requestTimeoutMs
-
用途: シンク内の各書き込み操作が完了するまで待機する時間を指定します。これはミリ秒単位で指定します。デフォルト値は5000です。値には任意の正の整数を指定できます。
- データ型: 整数
- 必須(Y/N): N
- 例:
"requestTimeoutMs" : 5000
useInstancePrincipal
-
用途: NoSQL Migratorツールでインスタンス・プリンシパル認証を使用してOracle NoSQL Database Cloud Serviceに接続するかどうかを指定します。インスタンス・プリンシパル認証方法の詳細は、「ソースおよびシンク・セキュリティ」を参照してください
指定しなかい場合は、デフォルトでfalseに設定されます。
ノート:
- これは、OCIでホストされているVMで実行されているNoSQL Database Migratorツールなど、OCIコンピュート・インスタンス内でNoSQL Database Migratorツールが実行されている場合のみサポートされます。
- credentialsおよびuseInstancePrincipalパラメータは個別に必須ではありませんが、これらのパラメータの1つを指定する必要があります。また、この2つのパラメータは相互に排他的です。これらのパラメータのうち1つのみを指定します。両方を同時に指定することはできません。
- データ型: ブール
- 必須(Y/N): N
-
例:
"useInstancePrincipal" : true
overwrite
-
用途: ソースから移行されるレコードがすでにシンクに存在している場合のNoSQL Database Migratorの動作を示します。
値をfalseに設定すると、表を移行するときに、NoSQL Database Migratorは、同じ主キーがシンクにすでに存在するレコードをスキップします。
値をtrueに設定すると、表を移行するときに、NoSQL Database Migratorは、同じ主キーがシンクにすでに存在するレコードを上書きします。
指定しない場合は、デフォルトでtrueに設定されます。
- データ型: ブール
- 必須(Y/N): N
- 例:
"overwrite" : false
includeTTL
-
用途: Oracle NoSQL Database表のインポート時にソースによって提供される表の行のTTLメタデータを含めるかどうかを指定します。
このパラメータを指定しない場合、デフォルトは
false
です。この場合、NoSQL Database Migratorには、Oracle NoSQL Database表のインポート時にソースによって提供される表の行のTTLメタデータは含まれません。trueに設定すると、NoSQL Database Migratorツールは、表の行のインポート時にTTLメタデータに対して次のチェックを実行します。_metadata
定義を持たない行をインポートすると、NoSQL Database MigratorツールはTTLを0に設定します。これは、行が期限切れにならないことを意味します。_metadata
定義を持つ行をインポートすると、NoSQL Database Migratorツールは、行がインポートされたときにTTL値を参照時間と比較します。参照時間に対してすでに失効している行はスキップされます。行が失効していない場合は、TTL値とともにインポートされます。デフォルトでは、インポート操作の参照時間は、NoSQL Database Migratorツールが実行されているマシンのSystem.currentTimeMillis()から取得された現在の時間(ミリ秒)です。ただし、有効期限を延長し、延長しなければすぐに期限切れになる行をインポートする場合は、ttlRelativeDate
構成パラメータを使用してカスタム参照時間を設定することもできます。行の有効期限を計算する式は次のとおりです。expiration = (TTL value of source row in milliseconds - Reference Time in milliseconds) if (expiration <= 0) then it indicates that row has expired.
ノート:
Oracle NoSQL TTLの境界は時間および日数であるため、場合によっては、インポートされた行のTTLが直近の時間または日に調整される可能性があります。たとえば、有効期限の値が1629709200000 (2021-08-23 09:00:00)
で、参照時間の値が1629707962582 (2021-08-23 08:39:22)
の行について考えてみます。ここでは、このデータのインポート時に参照時間に対して行が有効期限切れになっていない場合でも、その行の新しいTTLは1629712800000 (2021-08-23 10:00:00)
です。
- データ型: ブール
- 必須(Y/N): N
- 例:
"includeTTL" : true
ttlRelativeDate
-
用途: Oracle NoSQL Databaseへのインポート中に表の行のTTL失効を設定するために使用されるYYYY-MM-DD hh:mm:ss形式でUTC日付を指定します。
エクスポートするデータの表の行が期限切れになった場合は、ttlRelativeDateパラメータを、エクスポートしたデータの表の行の有効期限より前の日付に設定できます。
このパラメータを指定しない場合は、NoSQL Database Migratorツールが実行されているマシンのSystem.currentTimeMillis()から取得された現在の時間がミリ秒単位でデフォルト設定されます。
- データ型: 日付
- 必須(Y/N): N
- 例:
"ttlRelativeDate" : "2021-01-03 04:31:17"
2021年1月1日から7日後に表の行が失効するシナリオについて考えてみます。この表をエクスポートした後、2021年1月7日に、表の問題が発生し、データをインポートすることにしました。表の行は1日で失効します(データの有効期限日からttlRelativedate構成パラメータのデフォルト値(現在の日付)を引いた値)。ただし、表の行の有効期限を1日ではなく5日に延長する場合は、ttlRelativeDateパラメータを使用して前の日付を選択します。したがって、このシナリオでは、表の行の有効期限を5日延長する場合、ttlRelativeDate構成パラメータの値を2021年1月3日に設定します。これは、表の行がインポートされるときに参照時間として使用されます。