Referencia de Oracle NoSQL Database Migrator
Obtenga información sobre los parámetros de plantilla de configuración de origen, hundimiento y transformación disponibles para Oracle NoSQL Database Migrator.
En este artículo se incluyen los siguientes temas:
Plantillas de Configuración de Origen
Obtenga información sobre los formatos de archivo de configuración para cada origen válido y la finalidad de cada parámetro de configuración.
Temas
- Archivo JSON
- Archivo JSON en cubo de OCI Object Storage
- Archivo JSON con formato MongoDB
- Archivo JSON con formato MongoDB en el cubo de OCI Object Storage
- Archivo JSON con formato DynamoDB almacenado en AWS S3
- Archivo JSON con formato DynamoDB
- Oracle NoSQL Database
- Oracle NoSQL Database Cloud Service
- CSV como origen de archivo
- Archivo CSV en el cubo de OCI Object Storage
Archivo JSON
El formato de archivo de configuración para el archivo JSON como origen de NoSQL Database Migrator se muestra a continuación.
Plantilla de configuración
"source" : {
"type" : "file",
"format" : "json",
"dataPath": "</path/to/a/json/file>",
"schemaInfo": {
"schemaPath": "</path/to/schema/file>"
}
}
Parámetros de origen
tipo
-
Objetivo: identifica el tipo de origen.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"type" : "file"
formato
-
Objetivo: especifica el formato de origen.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"format" : "json"
dataPath
-
Objetivo: especifica la ruta absoluta a un archivo o directorio que contiene los datos JSON para la migración.
Debe asegurarse de que estos datos coinciden con el esquema de tabla NoSQL definido en el disco. Si especifica un directorio, NoSQL Database Migrator identifica todos los archivos con la extensión
.json
en ese directorio para la migración. No se admiten los subdirectorios. - Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
-
Especificación de un archivo JSON
"dataPath" : "/home/user/sample.json"
-
Especificación de un directorio
"dataPath" : "/home/user"
-
schemaInfo
-
Objetivo: especifica el esquema de los datos de origen que se van a migrar. Este esquema se transfiere al hundimiento NoSQL.
- Tipo de dato: Objeto
- Obligatorio (S/N): N
schemaInfo.schemaPath
-
Objetivo: especifica la ruta de acceso absoluta al archivo de definición de esquema que contiene sentencias DDL para la tabla NoSQL que se va a migrar.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"schemaInfo" : { "schemaPath" : "/home/user/mytable/Schema/schema.ddl" }
Archivo JSON en cubo de OCI Object Storage
El formato de archivo de configuración para el archivo JSON en el cubo de OCI Object Storage como origen de NoSQL Database Migrator se muestra a continuación.
Los tipos de hundimiento válidos para el tipo de origen de OCI Object Storage son
nosqldb
y nosqldb_cloud
.
Plantilla de configuración
"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>
}
Parámetros de origen
tipo
-
Objetivo: identifica el tipo de origen.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"type" : "object_storage_oci"
formato
-
Objetivo: especifica el formato de origen.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"format" : "json"
punto final
-
Objetivo: especifica la URL o el ID de región del punto final del servicio OCI Object Storage.
Puede especificar la URL completa o el ID de región solo. Consulte Regiones de datos y URL del servicio asociado en Uso de Oracle NoSQL Database Cloud Service para obtener la lista de regiones de datos soportadas para Oracle NoSQL Database Cloud Service.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
-
ID de región:
"endpoint" : "us-ashburn-1"
-
Formato de URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
espacio de nombres
-
Objetivo: especifica el espacio de nombres del servicio OCI Object Storage. Es un parámetro opcional. Si no especifica este parámetro, se utiliza el espacio de nombres por defecto del arrendamiento.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"namespace" : "my-namespace"
cubo
-
Objetivo: especifica el nombre del cubo, que contiene los archivos JSON de origen. Asegúrese de que el cubo necesario ya existe en la instancia de OCI Object Storage y tiene permisos de lectura.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"bucket" : "staging_bucket"
prefijo
-
Objetivo: se utiliza para filtrar los objetos que se migran del cubo. Se migran todos los objetos con el prefijo proporcionado presente en el cubo. Para obtener más información sobre los prefijos, consulte Object Naming Using Prefixes and Hierarchies.
Si no proporciona ningún valor, no se aplica ningún filtro y se migran todos los objetos presentes en el cubo.
- Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"prefix" : "my_table/Data/000000.json"
(migra solo000000.json
)"prefix" : "my_table/Data"
(migra todos los objetos con el prefijomy_table/Data
)
schemaInfo
-
Objetivo: especifica el esquema de los datos de origen que se van a migrar. Este esquema se transfiere al hundimiento NoSQL.
- Tipo de dato: Objeto
- Obligatorio (S/N): N
schemaInfo.schemaObject
-
Objetivo: especifica el nombre del objeto en el cubo donde se almacenan las definiciones de esquema de tabla NoSQL para los datos que se van a migrar.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"schemaInfo" : { "schemaObject" : "mytable/Schema/schema.ddl" }
credenciales
-
Objetivo: ruta absoluta a un archivo que contiene credenciales de OCI.
Si no se especifica, el valor por defecto es
$HOME/.oci/config
Consulte Configuración de ejemplo para obtener un ejemplo del archivo de credenciales.
Nota
Aunque los parámetros credentials y useInstancePrincipal no son obligatorios individualmente, se DEBE especificar uno de estos parámetros. Además, estos dos parámetros son mutuamente excluyentes. Especifique SOLO uno de estos parámetros, pero no ambos al mismo tiempo. - Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
Objetivo: nombre del perfil de configuración que se utilizará para conectarse a Oracle NoSQL Database Cloud Service. Las credenciales de la cuenta de usuario se denominan "archivo de perfil".
Si no especifica este valor, se define por defecto en el perfil
DEFAULT
.Nota
Este parámetro es válido SOLO si se especifica el parámetro credentials. - Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
useInstancePrincipal
-
Objetivo: especifica si la herramienta Migrator NoSQL utiliza o no la autenticación de principal de instancia para conectarse a Oracle NoSQL Database Cloud Service. Para obtener más información sobre el método de autenticación de principal de instancia, consulte Source and Sink Security.
Si no se especifica, el valor por defecto es false.
Nota
- Se admite SOLO cuando la herramienta NoSQL Database Migrator se ejecuta en una instancia informática de OCI, por ejemplo, la herramienta NoSQL Database Migrator que se ejecuta en una máquina virtual alojada en OCI.
- Aunque los parámetros credentials y useInstancePrincipal no son obligatorios individualmente, se DEBE especificar uno de estos parámetros. Además, estos dos parámetros son mutuamente excluyentes. Especifique SOLO uno de estos parámetros, pero no ambos al mismo tiempo.
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"useInstancePrincipal" : true
Archivo JSON con formato MongoDB
El formato de archivo de configuración para el archivo JSON con formato MongoDB como origen de NoSQL Database Migrator se muestra a continuación.
Plantilla de configuración
"source" : {
"type" : "file",
"format" : "mongodb_json",
"dataPath": "</path/to/a/json/file>",
"schemaInfo": {
"schemaPath": "</path/to/schema/file>"
}
}
Parámetros de origen
tipo
-
Objetivo: identifica el tipo de origen.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"type" : "file"
formato
-
Objetivo: especifica el formato de origen.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"format" : "mongodb_json"
dataPath
-
Objetivo: especifica la ruta absoluta a un archivo o directorio que contiene los datos JSON exportados de MongoDB para migración.
Debe haber generado estos archivos mediante la herramienta mongoexport. Consulte mongoexport para obtener más información.
Puede proporcionar el archivo JSON con formato MongoDB que se genera mediante la herramienta mongoexport en modo canónico o relajado. Ambos modos son admitidos por NoSQL Database Migrator para migración.
Si especifica un directorio, NoSQL Database Migrator identifica todos los archivos con la extensión
.json
en ese directorio para la migración. No se admiten los subdirectorios. Debe asegurarse de que estos datos coinciden con el esquema de tabla NoSQL definido en el disco. - Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
-
Especificación de un archivo JSON con formato MongoDB
"dataPath" : "/home/user/sample.json"
-
Especificación de un directorio
"dataPath" : "/home/user"
-
schemaInfo
-
Objetivo: especifica el esquema de los datos de origen que se van a migrar. Este esquema se transfiere al hundimiento NoSQL.
- Tipo de dato: Objeto
- Obligatorio (S/N): N
schemaInfo.schemaPath
-
Objetivo: especifica la ruta de acceso absoluta al archivo de definición de esquema que contiene sentencias DDL para la tabla NoSQL que se va a migrar.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"schemaInfo" : { "schemaPath" : "/home/user/mytable/Schema/schema.ddl" }
Archivo JSON con formato MongoDB en el cubo de OCI Object Storage
El formato de archivo de configuración para el archivo JSON con formato MongoDB en el cubo de OCI Object Storage como origen de NoSQL Database Migrator se muestra a continuación.
Los tipos de hundimiento válidos para el tipo de origen de OCI Object Storage son
nosqldb
y nosqldb_cloud
.
Plantilla de configuración
"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>
}
Parámetros de origen
tipo
-
Objetivo: identifica el tipo de origen.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"type" : "object_storage_oci"
formato
-
Objetivo: especifica el formato de origen.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"format" : "mongodb_json"
punto final
-
Objetivo: especifica la URL o el ID de región del punto final del servicio OCI Object Storage.
Puede especificar la URL completa o el ID de región solo. Consulte Regiones de datos y URL del servicio asociado en Uso de Oracle NoSQL Database Cloud Service para obtener la lista de regiones de datos soportadas para Oracle NoSQL Database Cloud Service.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
-
ID de región:
"endpoint" : "us-ashburn-1"
-
Formato de URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
espacio de nombres
-
Objetivo: especifica el espacio de nombres del servicio OCI Object Storage. Es un parámetro opcional. Si no especifica este parámetro, se utiliza el espacio de nombres por defecto del arrendamiento.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"namespace" : "my-namespace"
cubo
-
Objetivo: especifica el nombre del cubo, que contiene los archivos JSON con formato MongoDB de origen. Asegúrese de que el cubo necesario ya existe en la instancia de OCI Object Storage y tiene permisos de lectura.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"bucket" : "staging_bucket"
prefijo
-
Objetivo: se utiliza para filtrar los objetos que se migran del cubo. Se migran todos los objetos con el prefijo proporcionado presente en el cubo. Para obtener más información sobre los prefijos, consulte Object Naming Using Prefixes and Hierarchies.
Si no proporciona ningún valor, no se aplica ningún filtro y se migran todos los objetos con formato JSON MongoDB presentes en el cubo. Extraiga los datos de MongoDB mediante la utilidad mongoexport y cárguelos en el cubo de OCI Object Storage. Consulte mongoexport para obtener más información.
Si no proporciona ningún valor, no se aplica ningún filtro y se migran todos los objetos presentes en el cubo.
- Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"prefix" : "mongo_export/Data/table.json"
(migra solotable.json
)"prefix" : "mongo_export/Data"
(migra todos los objetos con el prefijomongo_export/Data
)
schemaInfo
-
Objetivo: especifica el esquema de los datos de origen que se van a migrar. Este esquema se transfiere al hundimiento NoSQL.
- Tipo de dato: Objeto
- Obligatorio (S/N): N
schemaInfo.schemaObject
-
Objetivo: especifica el nombre del objeto en el cubo donde se almacenan las definiciones de esquema de tabla NoSQL para los datos que se van a migrar.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"schemaInfo" : { "schemaObject" : "mytable/Schema/schema.ddl" }
credenciales
-
Objetivo: ruta absoluta a un archivo que contiene credenciales de OCI.
Si no se especifica, el valor por defecto es
$HOME/.oci/config
Consulte Configuración de ejemplo para obtener un ejemplo del archivo de credenciales.
Nota
Aunque los parámetros credentials y useInstancePrincipal no son obligatorios individualmente, se DEBE especificar uno de estos parámetros. Además, estos dos parámetros son mutuamente excluyentes. Especifique SOLO uno de estos parámetros, pero no ambos al mismo tiempo. - Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
Objetivo: nombre del perfil de configuración que se utilizará para conectarse a Oracle NoSQL Database Cloud Service. Las credenciales de la cuenta de usuario se denominan "archivo de perfil".
Si no especifica este valor, se define por defecto en el perfil
DEFAULT
.Nota
Este parámetro es válido SOLO si se especifica el parámetro credentials. - Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
useInstancePrincipal
-
Objetivo: especifica si la herramienta Migrator NoSQL utiliza o no la autenticación de principal de instancia para conectarse a Oracle NoSQL Database Cloud Service. Para obtener más información sobre el método de autenticación de principal de instancia, consulte Source and Sink Security.
Si no se especifica, el valor por defecto es false.
Nota
- Se admite SOLO cuando la herramienta NoSQL Database Migrator se ejecuta en una instancia informática de OCI, por ejemplo, la herramienta NoSQL Database Migrator que se ejecuta en una máquina virtual alojada en OCI.
- Aunque las credenciales y los parámetros useInstancePrincipal no son obligatorios individualmente, se DEBE especificar uno de estos parámetros. Además, estos dos parámetros son mutuamente excluyentes. Especifique SOLO uno de estos parámetros, pero no ambos al mismo tiempo.
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"useInstancePrincipal" : true
Archivo JSON con formato DynamoDB almacenado en AWS S3
A continuación se muestra el formato de archivo de configuración para el archivo JSON con formato DynamoDB en AWS S3 como origen de NoSQL Database Migrator.
Los tipos de hundimiento válidos para JSON con formato DynamoDB almacenados en AWS S3 son nosqldb
y nosqldb_cloud
.
"source" : {
"type" : "aws_s3",
"format" : "dynamodb_json",
"s3URL" : "<S3 object url>",
"credentials" : "</path/to/aws/credentials/file>",
"credentialsProfile" : <"profile name in aws credentials file">
}
- tipo
- formato
- s3URL
- credenciales
- credentialsProfile
- Objetivo:identifica el tipo de origen.
- Tipo de datos: cadena
- Obligatorio (S/N):Y
- Ejemplo:
"type" : "aws_s3"
- Objetivo:especifica el formato de origen.
- Tipo de datos: cadena
- Obligatorio (S/N):Y
- Ejemplo:
"format" : "dynamodb_json"
Si el valor de "type" es
aws_s3
, el formato debe ser dynamodb_json
.
- Objetivo: especifica la URL de una tabla DynamoDB exportada almacenada en AWS S3. Puede obtener esta URL desde la consola S3 de AWS. El formato de URL válido es
https://<bucket-name>.<s3_endpoint>/<prefix>
. El migrador buscará archivosjson.gz
en el prefijo para la importación.Nota
Debe exportar la tabla DynamoDB según se especifica en Exportación de datos de tabla DynamoDB a Amazon S3. - Tipo de datos: cadena
- Obligatorio: sí
- Ejemplo:
https://my-bucket.s3.ap-south-1.amazonaws.com/AWSDynamoDB/01649660790057-14f642be
- Objetivo: especifica la ruta absoluta a un archivo que contiene las credenciales de AWS. Si no se especifica, el valor por defecto es
$HOME/.aws/credentials
. Consulte Configuración y configuración del archivo de credenciales para obtener más información sobre el archivo de credenciales. - Tipo de datos: cadena
- Obligatorio (S/N):N
- Ejemplo:
"credentials" : "/home/user/.aws/credentials" "credentials" : "/home/user/security/credentials
El migrador no registra ninguna información de credenciales. Debe proteger correctamente el archivo de credenciales del acceso no autorizado.
- Objetivo: nombre del perfil en el archivo de credenciales de AWS que se utilizará para conectarse a AWS S3. Las credenciales de la cuenta de usuario se denominan perfil. Si no especifica este valor, se establece por defecto en el perfil por defecto. Consulte Configuración y configuración del archivo de credenciales para obtener más información sobre el archivo de credenciales.
- Tipo de datos: cadena
- Obligatorio (S/N):N
- Ejemplo:
"credentialsProfile" : "default" "credentialsProfile": "test"
Archivo JSON con formato DynamoDB
El formato de archivo de configuración para el archivo JSON con formato DynamoDB como origen del migrador de base de datos NoSQL se muestra a continuación.
Los tipos de hundimiento válidos para el archivo JSON DynamoDB son nosqldb
y nosqldb_cloud
.
"source" : {
"type" : "file",
"format" : "dynamodb_json",
"dataPath" : "<path to a file or directory containing exported DDB table data>"
}
- tipo
- formato
- dataPath
- Objetivo:identifica el tipo de origen.
- Tipo de datos: cadena
- Obligatorio (S/N):Y
- Ejemplo:
"type" : "file"
- Objetivo:especifica el formato de origen.
- Tipo de datos: cadena
- Obligatorio (S/N):Y
- Ejemplo:
"format" : "dynamodb_json"
- Objetivo: especifica la ruta absoluta a un archivo o directorio que contiene los datos de la tabla DynamoDB exportada. Copiará los datos exportados de la tabla DynamoDB de AWS S3 en un sistema de archivos montado local. Debe asegurarse de que estos datos coinciden con el esquema de tabla NoSQL definido en el disco. Si especifica un directorio, el NoSQL Database Migrator identifica todos los archivos con la extensión
.json.gz
en ese directorio y el subdirectoriodata
. - Tipo de datos: cadena
- Obligatorio (S/N):Y
- Ejemplo:
-
Especificación de un archivo
"dataPath" : "/home/user/AWSDynamoDB/01639372501551-bb4dd8c3/data/zclclwucjy6v5mkefvckxzhfvq.json.gz"
- Especificación de un directorio
"dataPath" : "/home/user/AWSDynamoDB/01639372501551-bb4dd8c3"
-
Oracle NoSQL Database
El formato de archivo de configuración para Oracle NoSQL Database como origen de NoSQL Database Migrator se muestra a continuación.
Plantilla de configuración
"source" : {
"type": "nosqldb",
"table" : "<fully qualified table name>",
"storeName" : "<store name>",
"helperHosts" : ["hostname1:port1","hostname2:port2,..."],
"security" : "</path/to/store/security/file>",
"requestTimeoutMs" : 5000,
"includeTTL": <true|false>
}
Parámetros de origen
tipo
-
Objetivo: identifica el tipo de origen.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"type" : "nosqldb"
tabla
-
Objetivo: nombre de tabla totalmente cualificado desde la que migrar los datos.
Formato:
[namespace_name:]<table_name>
Si la tabla está en el espacio de nombres DEFAULT, puede omitir
namespace_name
. La tabla debe existir en la tienda. - Tipo de datos: cadena
- Obligatorio (S/N): Y
- Ejemplo:
-
Con el espacio de nombres DEFAULT
"table" :"mytable"
-
Con un espacio de nombres no predeterminado
"table" : "mynamespace:mytable"
-
Para especificar una tabla secundaria
"table" : "mytable.child"
-
storeName
-
Objetivo: nombre del almacén de Oracle NoSQL Database.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
- Ejemplo:
"storeName" : "kvstore"
helperHosts
-
Objetivo: una lista de pares de host y puerto de registro con el formato
hostname:port
. Delimite cada elemento de la lista con una coma. Debe especificar al menos un host auxiliar. - Tipo de datos: matriz de cadenas
- Obligatorio (S/N): Y
- Ejemplo:
"helperHosts" : ["localhost:5000","localhost:6000"]
seguridad
-
Finalidad:
Si el almacén es seguro, proporcione la ruta de acceso absoluta al archivo de conexión de seguridad que contiene las credenciales del almacén. Consulte Configuración de seguridad con acceso remoto en la Guía del administrador para obtener más información sobre el archivo de inicio de sesión de seguridad.
Puede utilizar la autenticación basada en archivo de contraseñas o la autenticación basada en cartera. Sin embargo, la autenticación basada en cartera solo está soportada en Enterprise Edition (EE) de Oracle NoSQL Database. Para obtener más información sobre la autenticación basada en cartera, consulte Source and Sink Security.
La edición Community Edition(CE) solo admite la autenticación basada en archivos de contraseñas.
- Tipo de datos: cadena
- Obligatorio (S/N): Y para un almacén seguro
- Ejemplo:
"security" : "/home/user/client.credentials"
Ejemplo de contenido del archivo de seguridad para la autenticación basada en archivo de contraseñas:
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)
Ejemplo de contenido del archivo de seguridad para la autenticación basada en cartera:
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
-
Objetivo: especifica el tiempo que se debe esperar a que se complete cada operación de lectura del almacén. Esto se proporciona en milisegundos. El valor por defecto es 5000. El valor puede ser cualquier entero positivo.
- Tipo de datos: entero
- Obligatorio (S/N): N
- Ejemplo:
"requestTimeoutMs" : 5000
includeTTL
-
Objetivo: especifica si se deben incluir o no metadatos TTL para filas de tabla al exportar tablas de Oracle NoSQL Database. Si se define en true, los datos TTL de las filas también se incluyen en los datos proporcionados por el origen. TTL está presente en el objeto _metadata JSON asociado a cada fila. El tiempo de caducidad de cada fila se exporta como el número de milisegundos desde la época de UNIX (1 de enero de 1970).
Si no se especifica este parámetro, el valor por defecto es
false
.Solo las filas con un valor de caducidad positivo para TTL se incluyen como parte de las filas exportadas. Si una fila no caduca, lo que significa TTL=0, sus metadatos TTL no se incluyen explícitamente. Por ejemplo, si ROW1 caduca en 2021-10-19 00:00:00 y ROW2 no caduca, los datos exportados tienen el siguiente aspecto://ROW1 { "id" : 1, "name" : "abc", "_metadata" : { "expiration" : 1634601600000 } } //ROW2 { "id" : 2, "name" : "xyz" }
- Tipo de datos: boolean
- Obligatorio (S/N): N
- Ejemplo:
"includeTTL" : true
Oracle NoSQL Database Cloud Service
El formato de archivo de configuración para Oracle NoSQL Database Cloud Service como origen de NoSQL Database Migrator se muestra a continuación.
Plantilla de configuración
"source" : {
"type" : "nosqldb_cloud",
"endpoint" : "<Oracle NoSQL Cloud Service Endpoint. You can either specify the complete URL or the Region ID alone>",
"table" : "<table name>",
"compartment" : "<OCI compartment name or id>",
"credentials" : "</path/to/oci/credential/file>",
"credentialsProfile" : "<oci credentials profile name>",
"readUnitsPercent" : <table readunits percent>,
"requestTimeoutMs" : <timeout in milli seconds>,
"useInstancePrincipal" : <true|false>,
"includeTTL": <true|false>
}
Parámetros de origen
tipo
-
Objetivo: identifica el tipo de origen.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"type" : "nosqldb_cloud"
punto final
-
Objetivo: especifica el punto final de servicio de Oracle NoSQL Database Cloud Service.
Puede especificar la URL completa o el ID de región solo. Consulte Regiones de datos y URL del servicio asociado en Uso de Oracle NoSQL Database Cloud Service para obtener la lista de regiones de datos soportadas para Oracle NoSQL Database Cloud Service.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
-
ID de región:
"endpoint" : "us-ashburn-1"
-
Formato de URL:
"endpoint" : "https://nosql.us-ashburn-1.oci.oraclecloud.com/"
-
tabla
-
Objetivo: nombre de la tabla desde la que migrar los datos.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
- Ejemplo:
- Para especificar una tabla
"table" : "myTable"
- Para especificar una tabla secundaria
"table" : "mytable.child"
- Para especificar una tabla
compartimento
-
Objetivo: especifica el nombre u OCID del compartimento en el que reside la tabla.
Si no proporciona ningún valor, se establece por defecto en el compartimento root.
Puede encontrar el OCID del compartimento en la ventana del explorador de compartimentos en Gobernanza en la consola de OCI Cloud.
- Tipo de datos: cadena
- Obligatorio (S/N): Sí, si la tabla no está en el compartimento raíz del arrendamiento O si el parámetro useInstancePrincipal está definido en true.
Nota
Si el parámetro useInstancePrincipal está definido en true, el compartimento debe especificar el OCID del compartimento y no el nombre. - Ejemplo:
-
Nombre de compartimento
"compartment" : "mycompartment"
-
Nombre de compartimento calificado con su compartimento principal
"compartment" : "parent.childcompartment"
-
No se ha proporcionado ningún valor. Se define por defecto en el compartimento raíz.
"compartment": ""
-
OCID de compartimento
"compartment" : "ocid1.tenancy.oc1...4ksd"
-
credenciales
-
Objetivo: ruta absoluta a un archivo que contiene credenciales de OCI.
Si no se especifica, el valor por defecto es
$HOME/.oci/config
Consulte Configuración de ejemplo para obtener un ejemplo del archivo de credenciales.
Nota
Aunque los parámetros credentials y useInstancePrincipal no son obligatorios individualmente, se DEBE especificar uno de estos parámetros. Además, estos dos parámetros son mutuamente excluyentes. Especifique SOLO uno de estos parámetros, pero no ambos al mismo tiempo. - Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
Objetivo: nombre del perfil de configuración que se utilizará para conectarse a Oracle NoSQL Database Cloud Service. Las credenciales de la cuenta de usuario se denominan "archivo de perfil".
Si no especifica este valor, se define por defecto en el perfil
DEFAULT
.Nota
Este parámetro es válido SOLO si se especifica el parámetro credentials. - Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
readUnitsPercent
-
Objetivo: porcentaje de unidades de lectura de tabla que se van a utilizar al migrar la tabla NoSQL.
El valor por defecto es 90. El rango válido es cualquier entero entre 1 y 100. Tenga en cuenta que la cantidad de tiempo necesaria para migrar datos es directamente proporcional a este atributo. Es mejor aumentar el rendimiento de lectura de la tabla para la actividad de migración. Puede reducir el rendimiento de lectura una vez finalizado el proceso de migración.
Para obtener más información sobre los límites diarios de cambios en el rendimiento, consulte la sección sobre límites de la nube en Uso de Oracle NoSQL Database Cloud Service.
El valor por defecto es 90. El rango válido es cualquier entero entre 1 y 100.
Nota
El tiempo necesario para la migración de datos es directamente proporcional al valorwriteUnitsPercent
.Consulte Troubleshooting the Oracle NoSQL Database Migrator para obtener información sobre cómo utilizar este atributo para mejorar la velocidad de migración de datos.
- Tipo de datos: entero
- Obligatorio (S/N): N
- Ejemplo:
"readUnitsPercent" : 90
requestTimeoutMs
-
Objetivo: especifica el tiempo que se debe esperar para que se complete cada operación de lectura en el fregadero. Esto se proporciona en milisegundos. El valor por defecto es 5000. El valor puede ser cualquier entero positivo.
- Tipo de datos: entero
- Obligatorio (S/N): N
- Ejemplo:
"requestTimeoutMs" : 5000
useInstancePrincipal
-
Objetivo: especifica si la herramienta Migrator NoSQL utiliza o no la autenticación de principal de instancia para conectarse a Oracle NoSQL Database Cloud Service. Para obtener más información sobre el método de autenticación de principal de instancia, consulte Source and Sink Security.
Si no se especifica, el valor por defecto es false.
Nota
- Se admite SOLO cuando la herramienta NoSQL Database Migrator se ejecuta en una instancia informática de OCI, por ejemplo, la herramienta NoSQL Database Migrator que se ejecuta en una máquina virtual alojada en OCI.
- Aunque los parámetros credentials y useInstancePrincipal no son obligatorios individualmente, se DEBE especificar uno de estos parámetros. Además, estos dos parámetros son mutuamente excluyentes. Especifique SOLO uno de estos parámetros, pero no ambos al mismo tiempo.
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"useInstancePrincipal" : true
includeTTL
-
Objetivo: especifica si se deben incluir o no metadatos TTL para filas de tabla al exportar tablas de Oracle NoSQL Database Cloud Service. Si se define en true, los datos TTL de las filas también se incluyen en los datos proporcionados por el origen. TTL está presente en el objeto _metadata JSON asociado a cada fila. El tiempo de caducidad de cada fila se exporta como el número de milisegundos desde la época de UNIX (1 de enero de 1970).
Si no se especifica este parámetro, el valor por defecto es
false
.Solo las filas con un valor de caducidad positivo para TTL se incluyen como parte de las filas exportadas. Si una fila no caduca, lo que significa TTL=0, sus metadatos TTL no se incluyen explícitamente. Por ejemplo, si ROW1 caduca en 2021-10-19 00:00:00 y ROW2 no caduca, los datos exportados tienen el siguiente aspecto://ROW1 { "id" : 1, "name" : "abc", "_metadata" : { "expiration" : 1634601600000 } } //ROW2 { "id" : 2, "name" : "xyz" }
- Tipo de datos: boolean
- Obligatorio (S/N): N
- Ejemplo:
"includeTTL" : true
CSV como origen de archivo
A continuación, se muestra el formato del archivo de configuración para el archivo CSV como origen de NoSQL Database Migrator. El archivo CSV debe cumplir con el formato RFC4180
.
Plantilla de configuración
"source" : {
"type" : "file",
"format" : "csv",
"dataPath": "</path/to/a/csv/file-or-directory>",
"hasHeader" : <true | false>,
"columns" : ["column1", "column2", ....],
"csvOptions" : {
"trim" : <true | false>,
"encoding" : "<character set encoding>"
}
}
Parámetros de origen
tipo
-
Objetivo: identifica el tipo de origen.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"type" : "file"
formato
-
Objetivo: especifica el formato de origen.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"format" : "csv"
ruta de datos
-
Objetivo: especifica la ruta absoluta a un archivo o directorio que contiene los datos CSV para la migración. Si especifica un directorio, NoSQL Database Migrator importa todos los archivos con la extensión
.csv
o.CSV
en ese directorio. Todos los archivos CSV se copian en una sola tabla, pero no en ningún orden concreto.Los archivos CSV deben cumplir con el estándar
RFC4180
. Debe asegurarse de que los datos de cada archivo CSV coincidan con el esquema de tabla NoSQL Database definido en la tabla sink. Los subdirectorios no están soportados. - Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
-
Especificación de un archivo CSV
"dataPath" : "/home/user/sample.csv"
-
Especificación de un directorio
"dataPath" : "/home/user"
-
Los archivos CSV solo deben contener valores escalares. No se admite la importación de archivos CSV que contengan tipos complejos como MAP, RECORD, ARRAY y JSON. La herramienta NoSQL Database Migrator no comprueba si los datos están correctos en el archivo CSV de entrada. La herramienta NoSQL Database Migrator admite la importación de datos CSV que cumplen con el formato RFC4180
. Es posible que los archivos CSV que contienen datos que no cumplen con el estándar RFC4180
no se copien correctamente o que generen un error. Si los datos de entrada están dañados, la herramienta NoSQL Database Migrator no analizará los registros CSV. Si se detectan errores durante la migración, la herramienta NoSQL Database Migrator registra la información sobre los registros de entrada con fallos con fines de depuración e informativos. Para obtener más información, consulte Logging Migrator Progress en Using Oracle NoSQL Database Migrator.
hasHeader
-
Objetivo: especifica si el archivo CSV tiene un encabezado o no. Si se define en
true
, se ignora la primera línea. Si se establece enfalse
, la primera línea se considera un registro CSV. El valor por defecto esfalse
. - Tipo de datos: booleano
- Obligatorio (S/N): N
-
Ejemplo:
"hasHeader" : "false"
columnas
-
Objetivo: especifica la lista de nombres de columna de la tabla NoSQL Database. El orden de los nombres de columna indica la asignación de los campos del archivo CSV con las columnas de la tabla NoSQL Database correspondientes. Si el orden de las columnas del archivo CSV de entrada no coincide con las columnas de la tabla NoSQL Database existentes o recién creadas, puede asignar el orden mediante este parámetro. Además, al importar a una tabla que tenga una columna de identidad, puede omitir el nombre de la columna de identidad en la configuración de
columns
.Nota
- Si la tabla NoSQL Database tiene columnas adicionales que no están disponibles en el archivo CSV, los valores de las columnas que faltan se actualizan con el valor por defecto definido en la tabla NoSQL Database. Si no se proporciona un valor por defecto, se inserta un valor nulo durante la migración. Para obtener más información sobre los valores por defecto, consulte la sección Definiciones de tipo de dato en la Guía de referencia de SQL.
- Si el archivo CSV tiene columnas adicionales que no están definidas en la tabla NoSQL Database, se ignora la información adicional de la columna.
- Si algún valor del registro CSV está vacío, se establece en el valor predeterminado de las columnas correspondientes en la tabla NoSQL Database. Si no se proporciona un valor por defecto, se inserta un valor nulo durante la migración.
- Tipo de datos: matriz de cadenas
- Obligatorio (S/N): N
-
Ejemplo:
"columns" : ["table_column_1", "table_column_2"]
csvOptions
-
Objetivo: especifica las opciones de formato para un archivo CSV. Proporcione el formato de codificación del juego de caracteres del archivo CSV y elija si desea o no recortar los espacios en blanco.
- Tipo de dato: Objeto
- Obligatorio (S/N): N
csvOptions.trim
-
Objetivo: especifica si se deben recortar los espacios en blanco iniciales y finales de un valor de campo CSV. El valor por defecto es
false
. - Tipo de datos: booleano
- Obligatorio (S/N): N
-
Ejemplo:
"trim" : "true"
csvOptions.encoding
-
Objetivo: especifica el juego de caracteres para descodificar el archivo CSV. El valor por defecto es
UTF-8
. Los juegos de caracteres soportados sonUS-ASCII, ISO-8859-1, UTF-8,
yUTF-16
. - Tipo de datos: cadena
- Obligatorio (S/N): N
-
Ejemplo:
"encoding" : "UTF-8"
Archivo CSV en el cubo de OCI Object Storage
A continuación, se muestra el formato del archivo de configuración para el archivo CSV en el cubo de OCI Object Storage como origen de NoSQL Database Migrator. El archivo CSV debe cumplir con el formato RFC4180
.
Los tipos de receptores válidos para el tipo de origen de OCI Object Storage son
nosqldb
y nosqldb_cloud
.
Plantilla de configuración
"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>,
"hasHeader" : <true | false>,
"columns" : ["column1", "column2", ....],
"csvOptions" : {
"trim" : <true | false>,
"encoding" : "<character set encoding>"
}
}
Parámetros de origen
tipo
-
Objetivo: identifica el tipo de origen.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"type" : "object_storage_oci"
formato
-
Objetivo: especifica el formato de origen.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"format" : "csv"
punto final
-
Objetivo: especifica la URL o el ID de región del punto final del servicio OCI Object Storage.
Puede especificar la URL completa o el ID de región solo. Consulte Regiones de datos y URL del servicio asociado en Uso de Oracle NoSQL Database Cloud Service para obtener la lista de regiones de datos soportadas para Oracle NoSQL Database Cloud Service.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
-
ID de región:
"endpoint" : "us-ashburn-1"
-
Formato de URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
espacio de nombres
-
Objetivo: especifica el espacio de nombres del servicio OCI Object Storage. Es un parámetro opcional. Si no especifica este parámetro, se utiliza el espacio de nombres por defecto del arrendamiento.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"namespace" : "my-namespace"
cubo
-
Objetivo: especifica el nombre del cubo, que contiene los archivos CSV de origen. NoSQL Database Migrator importa todos los archivos con la extensión .
csv
o.CSV
por objeto y los copia en una sola tabla en el mismo orden.Asegúrese de que el cubo necesario ya existe en la instancia de OCI Object Storage y tiene permisos de lectura.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"bucket" : "staging_bucket"
Nota
Los archivos CSV solo deben contener valores escalares. No se admite la importación de archivos CSV que contengan tipos complejos como MAP, RECORD, ARRAY y JSON. La herramienta NoSQL Database Migrator no comprueba si los datos están correctos en el archivo CSV de entrada. La herramienta NoSQL Database Migrator admite la importación de datos CSV que cumplen con el formato
RFC4180
. Es posible que los archivos CSV que contienen datos que no cumplen con el estándarRFC4180
no se copien correctamente o que generen un error. Si los datos de entrada están dañados, la herramienta NoSQL Database Migrator no analizará los registros CSV. Si se detectan errores durante la migración, la herramienta NoSQL Database Migrator registra la información sobre los registros de entrada con fallos con fines de depuración e informativos. Para obtener más información, consulte Logging Migrator Progress en Using Oracle NoSQL Database Migrator.
prefijo
-
Objetivo: se utiliza para filtrar los objetos que se migran desde el cubo. Se migran todos los objetos con el prefijo proporcionado presente en el cubo. Para obtener más información sobre los prefijo, consulte Object Naming Using Prefixes and Hierarchies.
Si no proporciona ningún valor, no se aplica el filtro y se migran todos los objetos presentes en el cubo.
- Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"prefix" : "my_table/Data/000000.json"
(migra solo000000.json
)"prefix" : "my_table/Data"
(migra todos los objetos con el prefijomy_table/Data
)
credenciales
-
Objetivo: ruta absoluta a un archivo que contiene credenciales de OCI.
Si no se especifica, el valor por defecto es
$HOME/.oci/config
Consulte Configuración de ejemplo para obtener un ejemplo del archivo de credenciales.
Nota
Debe especificar los parámetros credentials o useInstancePrincipal en la plantilla de configuración. - Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
Objetivo: nombre del perfil de configuración que se utilizará para conectarse a Oracle NoSQL Database Cloud Service. Las credenciales de la cuenta de usuario se denominan perfil.
Si no especifica este valor, se define por defecto en el perfil
DEFAULT
. - Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
useInstancePrincipal
-
Objetivo: especifica si la herramienta NoSQL Database Migrator utiliza la autenticación de principal de instancia para conectarse a Oracle NoSQL Database Cloud Service. Para obtener más información sobre el método de autenticación de principal de instancia, consulte Source and Sink Security.
El valor por defecto es
false
.Nota
- La autenticación con principales de instancia solo está soportada cuando la herramienta NoSQL Database Migrator se ejecuta en una instancia informática de OCI, por ejemplo, la herramienta NoSQL Database Migrator que se ejecuta en una máquina virtual alojada en OCI.
- Debe especificar los parámetros credentials o useInstancePrincipal en la plantilla de configuración.
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"useInstancePrincipal" : true
hasHeader
-
Objetivo: especifica si el archivo CSV tiene un encabezado o no. Si se define en
true
, se ignora la primera línea. Si se establece enfalse
, la primera línea se considera un registro CSV. El valor por defecto esfalse
. - Tipo de datos: booleano
- Obligatorio (S/N): N
-
Ejemplo:
"hasHeader" : "false"
columnas
-
Objetivo: especifica la lista de nombres de columna de la tabla NoSQL Database. El orden de los nombres de columna indica la asignación de los campos del archivo CSV con las columnas de la tabla NoSQL Database correspondientes. Si el orden de las columnas del archivo CSV de entrada no coincide con las columnas de la tabla NoSQL Database existentes o recién creadas, puede asignar el orden mediante este parámetro. Además, al importar a una tabla que tenga una columna de identidad, puede omitir el nombre de la columna de identidad en la configuración de
columns
.Nota
- Si la tabla NoSQL Database tiene columnas adicionales que no están disponibles en el archivo CSV, los valores de las columnas que faltan se actualizan con el valor por defecto definido en la tabla NoSQL Database. Si no se proporciona un valor por defecto, se inserta un valor nulo durante la migración. Para obtener más información sobre los valores por defecto, consulte la sección Definiciones de tipo de dato en la Guía de referencia de SQL.
- Si el archivo CSV tiene columnas adicionales que no están definidas en la tabla NoSQL Database, se ignora la información adicional de la columna.
- Si algún valor del registro CSV está vacío, se establece en el valor predeterminado de las columnas correspondientes en la tabla NoSQL Database. Si no se proporciona un valor por defecto, se inserta un valor nulo durante la migración.
- Tipo de datos: matriz de cadenas
- Obligatorio (S/N): N
-
Ejemplo:
"columns" : ["table_column_1", "table_column_2"]
csvOptions
-
Objetivo: especifica las opciones de formato para un archivo CSV. Proporcione el formato de codificación del juego de caracteres del archivo CSV y elija si desea o no recortar los espacios en blanco.
- Tipo de dato: Objeto
- Obligatorio (S/N): N
csvOptions.trim
-
Objetivo: especifica si se deben recortar los espacios en blanco iniciales y finales de un valor de campo CSV. El valor por defecto es
false
. - Tipo de datos: booleano
- Obligatorio (S/N): N
-
Ejemplo:
"trim" : "true"
csvOptions.encoding
-
Objetivo: especifica el juego de caracteres para descodificar el archivo CSV. El valor por defecto es
UTF-8
. Los juegos de caracteres soportados sonUS-ASCII, ISO-8859-1, UTF-8,
yUTF-16
. - Tipo de datos: cadena
- Obligatorio (S/N): N
-
Ejemplo:
"encoding" : "UTF-8"
Plantillas de configuración de receptor
Obtenga información sobre los formatos de archivo de configuración para cada sumidero válido y la finalidad de cada parámetro de configuración.
Archivo JSON
A continuación, se muestra el formato de archivo de configuración para el archivo JSON como un sumidero de NoSQL Database Migrator.
Plantilla de configuración
"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>
}
Parámetros de receptor
tipo
-
Objetivo: identifica el tipo de hundimiento.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"type" : "file"
formato
-
Objetivo: especifica el formato de hundimiento.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"format" : "json"
dataPath
-
Objetivo: especifica la ruta absoluta a un archivo en el que los datos de origen se copiarán en formato JSON.
Si el archivo no existe en la ruta de datos especificada, NoSQL Database Migrator lo crea. Si ya existe, NoSQL Database Migrator sobrescribirá su contenido con los datos de origen.
Debe asegurarse de que el directorio principal del archivo especificado en la ruta de datos sea válido.
Nota
Si el parámetro useMultiFiles está definido en true, especifique la ruta a un directorio si no especifica la ruta al archivo. - Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
- Con el parámetro useMultiFiles definido en true
"dataPath" :"
/home/user/data
" - Con el parámetro useMultiFiles no especificado o definido en false
"dataPath" :"
/home/user/sample.json
"
- Con el parámetro useMultiFiles definido en true
schemaPath
-
Objetivo: especifica la ruta absoluta para escribir la información de esquema proporcionada por el origen.
Si este valor no está definido, la información del esquema de origen no se migrará al fregadero. Si se especifica este valor, la utilidad de migración escribe el esquema de la tabla de origen en el archivo especificado aquí.
La información del esquema se escribe como un comando DDL por línea en este archivo. Si el archivo no existe en la ruta de datos especificada, NoSQL Database Migrator lo crea. Si ya existe, NoSQL Database Migrator sobrescribirá su contenido con los datos de origen. Debe asegurarse de que el directorio principal del archivo especificado en la ruta de datos sea válido.
- Tipo de datos: cadena
- Obligatorio (S/N): N
-
Ejemplo:
"schemaPath" : "/home/user/schema_file"
bastante
-
Objetivo: especifica si se debe embellecer la salida de JSON para aumentar la legibilidad o no.
Si no se especifica, el valor por defecto es false.
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"pretty" : true
useMultiFiles
-
Objetivo: especifica si se deben dividir o no los datos de la tabla NoSQL en varios archivos al migrar los datos de origen a un archivo.
Si no se especifica, el valor por defecto es false.
Si se define en true, al migrar datos de origen a un archivo, los datos de la tabla NoSQL se dividen en varios archivos más pequeños. Por ejemplo,
<chunk>.json
, donde chunk=00000,000001,000002, etc.dataPath |--000000.json |--000001.json
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"useMultiFiles" : true
chunkSize
-
Objetivo: especifica el tamaño máximo de un "fragmento" de datos de tabla que se almacenarán en el fregadero. Durante la migración, una tabla se divide en fragmentos chunkSize y cada fragmento se escribe como un archivo independiente en el fregadero. Cuando los datos de origen que se van a migrar superan este tamaño, se crea un nuevo archivo.
Si no se especifica, el valor por defecto es 32 MB. El valor válido es un entero entre 1 y 1024.
Nota
Este parámetro se aplica SOLO cuando el parámetro useMultiFiles está definido en true. - Tipo de datos: entero
- Obligatorio (S/N): N
-
Ejemplo:
"chunkSize" : 40
Archivo de Parquet
A continuación, se muestra el formato de archivo de configuración para el archivo Parquet como un sumidero de NoSQL Database Migrator.
Plantilla de configuración
"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>
}
}
Parámetros de receptor
tipo
-
Objetivo: identifica el tipo de hundimiento.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"type" : "file"
formato
-
Objetivo: especifica el formato de hundimiento.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"format" : "parquet"
dataPath
-
Objetivo: especifica la ruta a un directorio que se utilizará para almacenar los datos de la tabla NoSQL migrada. Asegúrese de que el directorio ya existe y tiene permisos de lectura y escritura.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"dataPath" : "/home/user/migrator/my_table"
chunkSize
-
Objetivo: especifica el tamaño máximo de un "fragmento" de datos de tabla que se almacenarán en el fregadero. Durante la migración, una tabla se divide en fragmentos chunkSize y cada fragmento se escribe como un archivo independiente en el fregadero. Cuando los datos de origen que se van a migrar superan este tamaño, se crea un nuevo archivo.
Si no se especifica, el valor por defecto es 32 MB. El valor válido es un entero entre 1 y 1024.
- Tipo de datos: entero
- Obligatorio (S/N): N
-
Ejemplo:
"chunkSize" : 40
compresión
-
Objetivo: especifica el tipo de compresión que se utilizará para comprimir los datos de Parquet. Los valores válidos son SNAPPY, GZIP y NONE.
Si no se especifica, el valor predeterminado es SNAPPY.
- Tipo de datos: cadena
- Obligatorio (S/N): N
-
Ejemplo:
"compression" : "GZIP"
parquetOptions
-
Objetivo: especifica las opciones para seleccionar los tipos lógicos de Parquet para las columnas ENUM, JSON y UUID NoSQL.
Si no especifica este parámetro, NoSQL Database Migrator escribe los datos de las columnas ENUM, JSON y UUID como cadena.
- Tipo de dato: objeto
- Obligatorio (S/N): N
parquetOptions.useLogicalJson
-
Objetivo: especifica si se deben escribir o no datos de columna JSON NoSQL como tipo de JSON lógico de Parquet. Para obtener más información, consulte Parquet Logical Type Definitions.
Si no se especifica o se define en false, NoSQL Database Migrator escribe los datos de la columna JSON NoSQL como cadena.
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"useLogicalJson" : true
parquetOptions.useLogicalEnum
-
Objetivo: especifica si escribir o no datos de columna NoSQL ENUM como tipo de ENUM lógico de Parquet. Para obtener más información, consulte Parquet Logical Type Definitions.
Si no se especifica o se define en false, NoSQL Database Migrator escribe los datos de la columna NoSQL ENUM como cadena.
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"useLogicalEnum" : true
parquetOptions.useLogicalUUID
-
Objetivo: especifica si se deben escribir o no datos de columna de UUID NoSQL como tipo de UUID lógico de Parquet. Para obtener más información, consulte Parquet Logical Type Definitions.
Si no se especifica o se establece en false, NoSQL Database Migrator escribe los datos de columna de UUID NoSQL como cadena.
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"useLogicalUUID" : true
parquetOptions.truncateDoubleSpecials
-
Objetivo: especifica si se deben truncar los valores dobles +Infinity, -Infinity y Nan.
Por defecto, está definido enfalse
. Si se define entrue
,- Positive_Infinity está truncado en Double.MAX_VALUE.
- NEGATIVE_INFINITY está truncado en -Double.MAX_VALUE.
- NaN se trunca a 9.9999999999999990E307.
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"truncateDoubleSpecials" : true
Archivo JSON en cubo de OCI Object Storage
A continuación, se muestra el formato de archivo de configuración para el archivo JSON en el cubo de OCI Object Storage como un nodo de NoSQL Database Migrator.
Los tipos de origen válidos para el tipo de origen de OCI Object Storage son
nosqldb
y nosqldb_cloud
.
Plantilla de configuración
"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>
}
Parámetros de origen
tipo
-
Objetivo: identifica el tipo de hundimiento.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"type" : "object_storage_oci"
formato
-
Objetivo: especifica el formato de hundimiento.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"format" : "json"
punto final
-
Objetivo: especifica la URL o el ID de región del punto final del servicio OCI Object Storage.
Puede especificar la URL completa o el ID de región solo. Consulte Regiones de datos y URL del servicio asociado en Uso de Oracle NoSQL Database Cloud Service para obtener la lista de regiones de datos soportadas para Oracle NoSQL Database Cloud Service.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
-
ID de región:
"endpoint" : "us-ashburn-1"
-
Formato de URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
espacio de nombres
-
Objetivo: especifica el espacio de nombres del servicio OCI Object Storage. Es un parámetro opcional. Si no especifica este parámetro, se utiliza el espacio de nombres por defecto del arrendamiento.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"namespace" : "my-namespace"
cubo
-
Objetivo: especifica el nombre del cubo que se va a utilizar para almacenar los datos migrados. Asegúrese de que el cubo necesario ya existe en la instancia de OCI Object Storage y tiene permisos de escritura.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"bucket" : "staging_bucket"
prefijo
-
Objetivo: especifica el prefijo que se agrega al nombre del objeto cuando se crean objetos en el cubo. El prefijo actúa como un contenedor o directorio lógico para almacenar datos. Para obtener más información sobre los prefijos, consulte Object Naming Using Prefixes and Hierarchies.
Si no se especifica, el nombre de tabla del origen se utiliza como prefijo. Si ya existe algún objeto con el mismo nombre en el cubo, se sobrescribe.
El esquema se migra al archivo
<prefix>/Schema /schema.ddl
y los datos de origen se migran a los archivos<prefix>/Data/<chunk>.json
, donde chunk=000000.json, 000001.json, etc. - Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"prefix" : "my_export"
"prefix" : "my_export/2021-04-05/"
chunkSize
-
Objetivo: especifica el tamaño máximo de un "fragmento" de datos de tabla que se almacenarán en el fregadero. Durante la migración, una tabla se divide en fragmentos chunkSize y cada fragmento se escribe como un archivo independiente en el fregadero. Cuando los datos de origen que se van a migrar superan este tamaño, se crea un nuevo archivo.
Si no se especifica, el valor por defecto es 32 MB. El valor válido es un entero entre 1 y 1024.
- Tipo de datos: entero
- Obligatorio (S/N): N
-
Ejemplo:
"chunkSize" : 40
bastante
-
Objetivo: especifica si se debe embellecer la salida de JSON para aumentar la legibilidad o no.
Si no se especifica, el valor por defecto es false.
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"pretty" : true
credenciales
-
Objetivo: ruta absoluta a un archivo que contiene credenciales de OCI.
Si no se especifica, el valor por defecto es
$HOME/.oci/config
Consulte Configuración de ejemplo para obtener un ejemplo del archivo de credenciales.
Nota
Aunque los parámetros credentials y useInstancePrincipal no son obligatorios individualmente, se DEBE especificar uno de estos parámetros. Además, estos dos parámetros son mutuamente excluyentes. Especifique SOLO uno de estos parámetros, pero no ambos al mismo tiempo. - Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
Objetivo: nombre del perfil de configuración que se utilizará para conectarse a Oracle NoSQL Database Cloud Service. Las credenciales de la cuenta de usuario se denominan "archivo de perfil".
Si no especifica este valor, se define por defecto en el perfil
DEFAULT
.Nota
Este parámetro es válido SOLO si se especifica el parámetro credentials. - Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
useInstancePrincipal
-
Objetivo: especifica si la herramienta Migrator NoSQL utiliza o no la autenticación de principal de instancia para conectarse a Oracle NoSQL Database Cloud Service. Para obtener más información sobre el método de autenticación de principal de instancia, consulte Source and Sink Security.
Si no se especifica, el valor por defecto es false.
Nota
- Se admite SOLO cuando la herramienta NoSQL Database Migrator se ejecuta en una instancia informática de OCI, por ejemplo, la herramienta NoSQL Database Migrator que se ejecuta en una máquina virtual alojada en OCI.
- Aunque los parámetros credentials y useInstancePrincipal no son obligatorios individualmente, se DEBE especificar uno de estos parámetros. Además, estos dos parámetros son mutuamente excluyentes. Especifique SOLO uno de estos parámetros, pero no ambos al mismo tiempo.
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"useInstancePrincipal" : true
Archivo Parquet en cubo de OCI Object Storage
A continuación, se muestra el formato de archivo de configuración para el archivo Parquet en el cubo de OCI Object Storage como un nodo de NoSQL Database Migrator.
Los tipos de origen válidos para el tipo de origen de OCI Object Storage son
nosqldb
y nosqldb_cloud
.
Plantilla de configuración
"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>
}
Parámetros de origen
tipo
-
Objetivo: identifica el tipo de hundimiento.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"type" : "object_storage_oci"
formato
-
Objetivo: especifica el formato de hundimiento.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"format" : "parquet"
punto final
-
Objetivo: especifica la URL o el ID de región del punto final del servicio OCI Object Storage.
Puede especificar la URL completa o el ID de región solo. Consulte Regiones de datos y URL del servicio asociado en Uso de Oracle NoSQL Database Cloud Service para obtener la lista de regiones de datos soportadas para Oracle NoSQL Database Cloud Service.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
-
ID de región:
"endpoint" : "us-ashburn-1"
-
Formato de URL:
"endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"
-
espacio de nombres
-
Objetivo: especifica el espacio de nombres del servicio OCI Object Storage. Es un parámetro opcional. Si no especifica este parámetro, se utiliza el espacio de nombres por defecto del arrendamiento.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"namespace" : "my-namespace"
cubo
-
Objetivo: especifica el nombre del cubo que se va a utilizar para almacenar los datos migrados. Asegúrese de que el cubo necesario ya existe en la instancia de OCI Object Storage y tiene permisos de escritura.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"bucket" : "staging_bucket"
prefijo
-
Objetivo: especifica el prefijo que se agrega al nombre del objeto cuando se crean objetos en el cubo. El prefijo actúa como un contenedor o directorio lógico para almacenar datos. Para obtener más información sobre los prefijos, consulte Object Naming Using Prefixes and Hierarchies.
Si no se especifica, el nombre de tabla del origen se utiliza como prefijo. Si ya existe algún objeto con el mismo nombre en el cubo, se sobrescribe.
Los datos de origen se migran a los archivos
<prefix>/Data/<chunk>.parquet
, donde chunk=000000.parquet, 000001.parquet, etc. - Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"prefix" : "my_export"
"prefix" : "my_export/2021-04-05/"
chunkSize
-
Objetivo: especifica el tamaño máximo de un "fragmento" de datos de tabla que se almacenarán en el fregadero. Durante la migración, una tabla se divide en fragmentos chunkSize y cada fragmento se escribe como un archivo independiente en el fregadero. Cuando los datos de origen que se van a migrar superan este tamaño, se crea un nuevo archivo.
Si no se especifica, el valor por defecto es 32 MB. El valor válido es un entero entre 1 y 1024.
- Tipo de datos: entero
- Obligatorio (S/N): N
-
Ejemplo:
"chunkSize" : 40
compresión
-
Objetivo: especifica el tipo de compresión que se utilizará para comprimir los datos de Parquet. Los valores válidos son SNAPPY, GZIP y NONE.
Si no se especifica, el valor predeterminado es SNAPPY.
- Tipo de datos: cadena
- Obligatorio (S/N): N
-
Ejemplo:
"compression" : "GZIP"
parquetOptions
-
Objetivo: especifica las opciones para seleccionar los tipos lógicos de Parquet para las columnas ENUM, JSON y UUID NoSQL.
Si no especifica este parámetro, NoSQL Database Migrator escribe los datos de las columnas ENUM, JSON y UUID como cadena.
- Tipo de dato: objeto
- Obligatorio (S/N): N
parquetOptions.useLogicalJson
-
Objetivo: especifica si se deben escribir o no datos de columna JSON NoSQL como tipo de JSON lógico de Parquet. Para obtener más información, consulte Parquet Logical Type Definitions.
Si no se especifica o se define en false, NoSQL Database Migrator escribe los datos de la columna JSON NoSQL como cadena.
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"useLogicalJson" : true
parquetOptions.useLogicalEnum
-
Objetivo: especifica si escribir o no datos de columna NoSQL ENUM como tipo de ENUM lógico de Parquet. Para obtener más información, consulte Parquet Logical Type Definitions.
Si no se especifica o se define en false, NoSQL Database Migrator escribe los datos de la columna NoSQL ENUM como cadena.
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"useLogicalEnum" : true
parquetOptions.useLogicalUUID
-
Objetivo: especifica si se deben escribir o no datos de columna de UUID NoSQL como tipo de UUID lógico de Parquet. Para obtener más información, consulte Parquet Logical Type Definitions.
Si no se especifica o se establece en false, NoSQL Database Migrator escribe los datos de columna de UUID NoSQL como cadena.
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"useLogicalUUID" : true
parquetOptions.truncateDoubleSpecials
-
Objetivo: especifica si se deben truncar los valores dobles +Infinity, -Infinity y Nan.
Por defecto, está definido enfalse
. Si se define entrue
,- Positive_Infinity está truncado en Double.MAX_VALUE.
- NEGATIVE_INFINITY está truncado en -Double.MAX_VALUE.
- NaN se trunca a 9.9999999999999990E307.
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"truncateDoubleSpecials" : true
credenciales
-
Objetivo: ruta absoluta a un archivo que contiene credenciales de OCI.
Si no se especifica, el valor por defecto es
$HOME/.oci/config
Consulte Configuración de ejemplo para obtener un ejemplo del archivo de credenciales.
Nota
Aunque los parámetros credentials y useInstancePrincipal no son obligatorios individualmente, se DEBE especificar uno de estos parámetros. Además, estos dos parámetros son mutuamente excluyentes. Especifique SOLO uno de estos parámetros, pero no ambos al mismo tiempo. - Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
Objetivo: nombre del perfil de configuración que se utilizará para conectarse a Oracle NoSQL Database Cloud Service. Las credenciales de la cuenta de usuario se denominan "archivo de perfil".
Si no especifica este valor, se define por defecto en el perfil
DEFAULT
.Nota
Este parámetro es válido SOLO si se especifica el parámetro credentials. - Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
useInstancePrincipal
-
Objetivo: especifica si la herramienta Migrator NoSQL utiliza o no la autenticación de principal de instancia para conectarse a Oracle NoSQL Database Cloud Service. Para obtener más información sobre el método de autenticación de principal de instancia, consulte Source and Sink Security.
Si no se especifica, el valor por defecto es false.
Nota
- Se admite SOLO cuando la herramienta NoSQL Database Migrator se ejecuta en una instancia informática de OCI, por ejemplo, la herramienta NoSQL Database Migrator que se ejecuta en una máquina virtual alojada en OCI.
- Aunque los parámetros credentials y useInstancePrincipal no son obligatorios individualmente, se DEBE especificar uno de estos parámetros. Además, estos dos parámetros son mutuamente excluyentes. Especifique SOLO uno de estos parámetros, pero no ambos al mismo tiempo.
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"useInstancePrincipal" : true
Oracle NoSQL Database
A continuación, se muestra el formato de archivo de configuración para Oracle NoSQL Database como sink de NoSQL Database Migrator.
Plantilla de configuración
"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>"
}
Parámetros de receptor
tipo
-
Objetivo: identifica el tipo de hundimiento.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"type" : "nosqldb"
tabla
-
Objetivo: nombre de tabla totalmente cualificado desde la que migrar los datos.
Formato:
[namespace_name:]<table_name>
Si la tabla está en el espacio de nombres DEFAULT, puede omitir
namespace_name
. La tabla debe existir en el almacén durante la migración y su esquema debe coincidir con los datos de origen.Si la tabla no está disponible en el fregadero, puede utilizar el parámetro
schemaInfo
para indicar al NoSQL Database Migrator que cree la tabla también en el fregadero. - Tipo de datos: cadena
- Obligatorio (S/N): Y
- Ejemplo:
-
Con el espacio de nombres DEFAULT
"table" :"mytable"
-
Con un espacio de nombres no predeterminado
"table" : "mynamespace:mytable"
-
Para especificar una tabla secundaria
"table" : "mytable.child"
Nota
Puede migrar las tablas secundarias de un origen de datos válido a Oracle NoSQL Database. NoSQL Database Migrator solo copia una tabla en cada ejecución. Asegúrese de que la tabla principal se migra antes que la tabla secundaria.
-
Schemainfo
-
Objetivo: especifica el esquema de los datos que se van a migrar. Si no se especifica, se asume que la tabla ya existe en el almacén del fregadero.
- Tipo de dato: objeto
- Obligatorio (S/N): N
schemaInfo.schemaPath
-
Objetivo: especifica la ruta de acceso absoluta a un archivo que contiene sentencias DDL para la tabla NoSQL.
NoSQL Database Migrator ejecuta los comandos DDL mostrados en este archivo antes de migrar los datos.
NoSQL Database Migrator no soporta más de una sentencia DDL por línea en el archivo
schemaPath
. -
Tipo de datos: cadena
-
Obligatorio: Y, solo cuando el parámetro
schemaInfo.defaultSchema
está definido en No.
schemaInfo.defaultSchema
-
Objetivo: al definir este parámetro en true, se indica a NoSQL Database Migrator que cree una tabla con el esquema por defecto. El propio migrador define el esquema por defecto. Para obtener más información sobre las definiciones de esquema por defecto, consulte Esquema por defecto en Uso de Oracle NoSQL Database Migrator.
-
Tipo de datos: booleano
-
Obligatorio: N
Nota
defaultSchema
yschemaPath
se excluyen mutuamente - Ejemplo:
- Con el esquema por defecto:
"schemaInfo" : { "defaultSchema" : true }
- Con un esquema predefinido:
"schemaInfo" : { "schemaPath" : "<complete/path/to/the/schema/definition/file>" }
- Con el esquema por defecto:
schemaInfo.useSourceSchema
-
Objetivo: especifica si el sumidero utiliza o no la definición de esquema de tabla proporcionada por el origen al migrar tablas NoSQL.
-
Tipo de datos: booleano
- Obligatorio (S/N): N
Nota
Los parámetros defaultSchema, schemaPath y useSourceSchema se excluyen mutuamente. Especifique SOLO uno de estos parámetros. - Ejemplo:
- Con el esquema por defecto:
"schemaInfo" : { "defaultSchema" : true }
- Con un esquema predefinido:
"schemaInfo" : { "schemaPath" : "<complete/path/to/the/schema/definition/file>" }
- Con el esquema de origen:
"schemaInfo" : { "useSourceSchema" : true }
- Con el esquema por defecto:
schemaInfo.DDBPartitionKey
- Objetivo: especifica la clave de partición DynamoDB y el tipo de Oracle NoSQL Database correspondiente que se utilizará en la tabla de Oracle NoSQL Database de hundimiento. Esta clave se utilizará como clave de partición horizontal de tabla de base de datos NoSQL. Esto solo se aplica cuando
defaultSchema
está definido en true y el formato de origen esdynamodb_json
. Consulte Asignación de tipos DynamoDB a tipos NoSQL de Oracle para obtener más información. - Obligatorio: Sí si
defaultSchema
es verdadero y el origen esdynamodb_json.
- Ejemplo:
"DDBPartitionKey" : "PersonID:INTEGER"
Nota
Si la clave de partición contiene guiones (-) o puntos (.), el migrador lo sustituirá por guiones bajos (_) porque el nombre de columna NoSQL no admite puntos ni guiones.
schemaInfo.DDBSortKey
- Objetivo: especifica la clave de ordenación DynamoDB y su tipo de Oracle NoSQL Database correspondiente que se utilizará en la tabla de destino de Oracle NoSQL Database. Si la tabla DynamoDB de importación no tiene una clave de ordenación, no se debe definir. Esta clave se utilizará como parte no de partición horizontal de la clave primaria en la tabla de base de datos NoSQL. Esto solo se aplica cuando
defaultSchema
está definido en true y el origen esdynamodb_json
. Consulte Asignación de tipos DynamoDB a tipos NoSQL de Oracle para obtener más información. - Obligatorio: No
- Ejemplo:
"DDBSortKey" : "Skey:STRING"
Nota
Si la clave de ordenación contiene guiones (-) o puntos (.), el migrador lo sustituirá por guiones bajos (_) porque el nombre de columna NoSQL no admite puntos ni guiones.
sobrescribir
-
Objetivo: indica el comportamiento de NoSQL Database Migrator cuando el registro que se migra del origen ya está presente en el sumidero.
Si el valor se define en false, al migrar tablas, NoSQL Database Migrator omite los registros para los que ya existe la misma clave primaria en el sumidero.
Si el valor se define en true, al migrar tablas, NoSQL Database Migrator sobrescribe los registros para los que ya existe la misma clave primaria en el sumidero.
Si no se especifica, el valor por defecto es true.
- Tipo de datos: boolean
- Obligatorio (S/N): N
- Ejemplo:
"overwrite" : false
storeName
-
Objetivo: nombre del almacén de Oracle NoSQL Database.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
- Ejemplo:
"storeName" : "kvstore"
helperHosts
-
Objetivo: una lista de pares de host y puerto de registro con el formato
hostname:port
. Delimite cada elemento de la lista con una coma. Debe especificar al menos un host auxiliar. - Tipo de datos: matriz de cadenas
- Obligatorio (S/N): Y
- Ejemplo:
"helperHosts" : ["localhost:5000","localhost:6000"]
seguridad
-
Finalidad:
Si el almacén es seguro, proporcione la ruta de acceso absoluta al archivo de conexión de seguridad que contiene las credenciales del almacén. Consulte Configuración de seguridad con acceso remoto en la Guía del administrador para obtener más información sobre el archivo de inicio de sesión de seguridad.
Puede utilizar la autenticación basada en archivo de contraseñas o la autenticación basada en cartera. Sin embargo, la autenticación basada en cartera solo está soportada en Enterprise Edition (EE) de Oracle NoSQL Database. Para obtener más información sobre la autenticación basada en cartera, consulte Source and Sink Security.
- Tipo de datos: cadena
- Obligatorio (S/N): Y para un almacén seguro
- Ejemplo:
"security" : "
/home/user/client.credentials
"Ejemplo de contenido del archivo de seguridad para la autenticación basada en archivo de contraseñas:
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)
Ejemplo de contenido del archivo de seguridad para la autenticación basada en cartera:
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
-
Objetivo: especifica el tiempo que se debe esperar para que se complete cada operación de escritura en el fregadero. Esto se proporciona en milisegundos. El valor por defecto es 5000. El valor puede ser cualquier entero positivo.
- Tipo de datos: entero
- Obligatorio (S/N): N
- Ejemplo:
"requestTimeoutMs" : 5000
includeTTL
-
Objetivo: especifica si se deben incluir o no metadatos TTL para filas de tabla proporcionadas por el origen al importar tablas de Oracle NoSQL Database.
Si no se especifica este parámetro, el valor por defecto es
false
. En ese caso, NoSQL Database Migrator no incluye metadatos TTL para las filas de tabla proporcionadas por el origen al importar tablas de Oracle NoSQL Database.Si se define en true, la herramienta NoSQL Database Migrator realiza las siguientes comprobaciones en los metadatos TTL al importar una fila de tabla:- Si importa una fila que no tiene la definición
_metadata
, la herramienta NoSQL Database Migrator establece el TTL en 0, lo que significa que la fila nunca caduca. - Si importa una fila que tiene una definición
_metadata
, la herramienta NoSQL Database Migrator compara el valor TTL con una hora de referencia cuando se importa una fila. Si la fila ya ha caducado en relación con la hora de referencia, se omite. Si la fila no ha caducado, se importa junto con el valor TTL. Por defecto, el tiempo de referencia de la operación de importación es la hora actual en milisegundos, obtenida de System.currentTimeMillis(), de la máquina en la que se ejecuta la herramienta NoSQL Database Migrator. Sin embargo, también puede definir un tiempo de referencia personalizado mediante el parámetro de configuraciónttlRelativeDate
si desea ampliar el tiempo de caducidad e importar filas que, de lo contrario, caducarán inmediatamente.La fórmula para calcular la hora de caducidad de una fila es la siguiente:expiration = (TTL value of source row in milliseconds - Reference Time in milliseconds) if (expiration <= 0) then it indicates that row has expired.
Nota
Dado que los límites de TTL de Oracle NoSQL están en horas y días, en algunos casos, el TTL de la fila importada se puede ajustar a la hora o el día más cercanos. Por ejemplo, considere que una fila que tenga el valor de caducidad1629709200000 (2021-08-23 09:00:00)
y el valor de tiempo de referencia es1629707962582 (2021-08-23 08:39:22)
. Aquí, aunque la fila no caduque en relación con la hora de referencia cuando se importan estos datos, el nuevo TTL para la fila es1629712800000 (2021-08-23 10:00:00)
.
- Si importa una fila que no tiene la definición
- Tipo de datos: boolean
- Obligatorio (S/N): N
- Ejemplo:
"includeTTL" : true
ttlRelativeDate
-
Objetivo: especifique una fecha UTC en el formato AAAA-MM-DD hh:mm:ss utilizado para definir la caducidad TTL de las filas de tabla durante la importación en Oracle NoSQL Database.
Si una fila de tabla de los datos que está exportando ha caducado, puede definir el parámetro ttlRelativeDate en una fecha anterior a la hora de caducidad de la fila de tabla en los datos exportados.
Si no especifica este parámetro, se establece por defecto en la hora actual en milisegundos, obtenida de System.currentTimeMillis(), del equipo en el que se ejecuta la herramienta NoSQL Database Migrator.
- Tipo de datos: fecha
- Obligatorio (S/N): N
- Ejemplo:
"ttlRelativeDate" : "2021-01-03 04:31:17"
Consideremos un escenario en el que las filas de la tabla caducan después de siete días a partir del 1 de enero de 2021. Después de exportar esta tabla, el 7 de enero de 2021, tendrá un problema con la tabla y decidirá importar los datos. Las filas de la tabla caducarán en un día (fecha de caducidad de datos menos el valor por defecto del parámetro de configuración ttlRelativedate, que es la fecha actual). Sin embargo, si desea ampliar la fecha de caducidad de las filas de la tabla a cinco días en lugar de a un día, utilice el parámetro ttlRelativeDate y seleccione una fecha anterior. Por lo tanto, en este escenario si desea ampliar el tiempo de caducidad de las filas de la tabla en cinco días, defina el valor de los parámetros de configuración ttlRelativeDate en 3-Jan-2021, que se utiliza como tiempo de referencia cuando se importan las filas de la tabla.
Oracle NoSQL Database Cloud Service
A continuación, se muestra el formato de archivo de configuración para Oracle NoSQL Database Cloud Service como sink de NoSQL Database Migrator.
Plantilla de configuración
"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>"
}
Parámetros de receptor
- tipo
- punto final
- tabla
- compartimento
- schemaInfo
- schemaInfo.schemaPath
- schemaInfo.defaultSchema
- schemaInfo.useSourceSchema
- schemaInfo.DDBPartitionKey
- schemaInfo.DDBSortKey
- schemaInfo.onDemandThroughput
- schemaInfo.readUnits
- schemaInfo.writeUnits
- schemaInfo.storageSize
- credenciales
- credentialsProfile
- writeUnitsPercent
- requestTimeoutMs
- useInstancePrincipal
- sobrescribir
- includeTTL
- ttlRelativeDate
tipo
-
Objetivo: identifica el tipo de hundimiento.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
"type" : "nosqldb_cloud"
punto final
-
Objetivo: especifica el punto final de servicio de Oracle NoSQL Database Cloud Service.
Puede especificar solo la URL completa o el ID de región. Consulte Data Regions and Associated Service URL in Using Oracle NoSQL Database Cloud Service para obtener la lista de regiones de datos soportadas para Oracle NoSQL Database Cloud Service.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo:
-
ID de región:
"endpoint" : "us-ashburn-1"
-
Formato de URL:
"endpoint" : "https://nosql.us-ashburn-1.oci.oraclecloud.com/"
-
tabla
-
Objetivo: nombre de la tabla a la que migrar los datos.
Debe asegurarse de que esta tabla existe en Oracle NoSQL Database Cloud Service. De lo contrario, debe utilizar el objeto
schemaInfo
en la configuración de hundimiento para indicar al NoSQL Database Migrator que cree la tabla.El esquema de esta tabla debe coincidir con los datos de origen.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
- Ejemplo:
- Para especificar una tabla
"table" : "mytable"
- Para especificar una tabla secundaria
"table" : "mytable.child"
Nota
Puede migrar las tablas secundarias de un origen de datos válido a Oracle NoSQL Database Cloud Service. NoSQL Database Migrator solo copia una tabla en cada ejecución. Asegúrese de que la tabla principal se migra antes que la tabla secundaria.
- Para especificar una tabla
compartimento
-
Objetivo: especifica el nombre u OCID del compartimento en el que reside la tabla.
Si no proporciona ningún valor, se establece por defecto en el compartimento root.
Puede encontrar el OCID del compartimento en la ventana del explorador de compartimentos en Gobernanza en la consola de OCI Cloud.
- Tipo de datos: cadena
- Obligatorio (Y/N): Y si la tabla no está en el compartimento raíz del arrendamiento O si el parámetro useInstancePrincipal está definido en true.
Nota
Si el parámetro useInstancePrincipal está definido en true, el compartimento debe especificar el OCID del compartimento y no el nombre. - Ejemplo:
-
Nombre de compartimento
"compartment" : "mycompartment"
-
Nombre de compartimento calificado con su compartimento principal
"compartment" : "parent.childcompartment"
-
No se ha proporcionado ningún valor. Se define por defecto en el compartimento raíz.
"compartment": ""
-
OCID de compartimento
"compartment" : "ocid1.tenancy.oc1...4ksd"
-
schemaInfo
-
Objetivo: especifica el esquema de los datos que se van a migrar.
Si no especifica este parámetro, NoSQL Database Migrator asume que la tabla ya existe en Oracle NoSQL Database Cloud Service.
Si no se especifica este parámetro y la tabla no existe en el sumidero, la migración falla.
- Tipo de dato: objeto
- Obligatorio (S/N): N
schemaInfo.schemaPath
-
Objetivo: especifica la ruta de acceso absoluta a un archivo que contiene sentencias DDL para la tabla NoSQL.
NoSQL Database Migrator ejecuta los comandos DDL mostrados en este archivo antes de migrar los datos.
NoSQL Database Migrator no soporta más de una sentencia DDL por línea en el archivo
schemaPath
. -
Tipo de datos: cadena
-
Obligatorio: Y, solo cuando el parámetro
schemaInfo.defaultSchema
está definido en No.
schemaInfo.defaultSchema
-
Objetivo: al definir este parámetro en Sí, se indica a NoSQL Database Migrator que cree una tabla con el esquema por defecto. El propio migrador define el esquema por defecto. Para obtener más información sobre las definiciones de esquema por defecto, consulte Esquema por defecto en Uso de Oracle NoSQL Database Migrator.
-
Tipo de datos: booleano
-
Obligatorio: Y, solo cuando el parámetro
schemaInfo.defaultSchema
está definido en No.Nota
defaultSchema
yschemaPath
se excluyen mutuamente
schemaInfo.useSourceSchema
-
Objetivo: especifica si el sumidero utiliza o no la definición de esquema de tabla proporcionada por el origen al migrar tablas NoSQL.
-
Tipo de datos: booleano
- Obligatorio (S/N): N
Nota
Los parámetros defaultSchema, schemaPath y useSourceSchema se excluyen mutuamente. Especifique SOLO uno de estos parámetros. - Ejemplo:
- Con el esquema por defecto:
"schemaInfo" : { "defaultSchema" : true, "readUnits" : 100, "writeUnits" : 60, "storageSize" : 1 }
- Con un esquema predefinido:
"schemaInfo" : { "schemaPath" : "<complete/path/to/the/schema/definition/file>", "readUnits" : 100, "writeUnits" : 100, "storageSize" : 1 }
- Con el esquema de origen:
"schemaInfo" : { "useSourceSchema" : true, "readUnits" : 100, "writeUnits" : 60, "storageSize" : 1 }
- Con el esquema por defecto:
schemaInfo.DDBPartitionKey
- Objetivo: especifica la clave de partición DynamoDB y el tipo de Oracle NoSQL Database correspondiente que se utilizará en la tabla de Oracle NoSQL Database de hundimiento. Esta clave se utilizará como clave de partición horizontal de tabla de base de datos NoSQL. Esto solo se aplica cuando
defaultSchema
está definido en true y el formato de origen esdynamodb_json
. Consulte Asignación de tipos DynamoDB a tipos NoSQL de Oracle para obtener más información. - Obligatorio: Sí si
defaultSchema
es verdadero y el origen esdynamodb_json.
- Ejemplo:
"DDBPartitionKey" : "PersonID:INTEGER"
Nota
Si la clave de partición contiene guiones (-) o puntos (.), el migrador lo sustituirá por guiones bajos (_) porque el nombre de columna NoSQL no admite puntos ni guiones.
schemaInfo.DDBSortKey
- Objetivo: especifica la clave de ordenación DynamoDB y su tipo de Oracle NoSQL Database correspondiente que se utilizará en la tabla de destino de Oracle NoSQL Database. Si la tabla DynamoDB de importación no tiene una clave de ordenación, no se debe definir. Esta clave se utilizará como parte no de partición horizontal de la clave primaria en la tabla de base de datos NoSQL. Esto solo se aplica cuando
defaultSchema
está definido en true y el origen esdynamodb_json
. Consulte Asignación de tipos DynamoDB a tipos NoSQL de Oracle para obtener más información. - Obligatorio: No
- Ejemplo:
"DDBSortKey" : "Skey:STRING"
Nota
Si la clave de ordenación contiene guiones (-) o puntos (.), el migrador lo sustituirá por guiones bajos (_) porque el nombre de columna NoSQL no admite puntos ni guiones.
schemaInfo.onDemandThroughput
- Objetivo: especifica para crear la tabla con rendimiento de lectura y escritura bajo demanda. Si este parámetro no está definido, la tabla se crea con capacidad aprovisionada.
El valor por defecto es
false
.Nota
Este parámetro no se aplica a las tablas secundarias porque comparten el rendimiento de la tabla principal de nivel superior. -
Tipo de datos: booleano
-
Obligatorio: N
- Ejemplo:
"onDemandThroughput" : "true"
schemaInfo.readUnits
- Objetivo: especifica el rendimiento de lectura de la nueva tabla.
Nota
- Este parámetro no se aplica a las tablas aprovisionadas con capacidad bajo demanda.
- Este parámetro no se aplica a las tablas secundarias porque comparten el rendimiento de lectura de la tabla principal de nivel superior.
-
Tipo de datos: entero
-
Obligatorio: Y cuando la tabla no es una tabla secundaria o cuando el parámetro schemaInfo.onDemandThroughput está definido en
false
; de lo contrario, en N. - Ejemplo:
"readUnits" : 100
schemaInfo.writeUnits
- Objetivo: especifica el rendimiento de escritura de la nueva tabla.
Nota
- Este parámetro no se aplica a las tablas aprovisionadas con capacidad bajo demanda.
- Este parámetro no se aplica a las tablas secundarias porque comparten el rendimiento de escritura de la tabla principal de nivel superior.
-
Tipo de datos: entero
-
Obligatorio: Y cuando la tabla no es una tabla secundaria o cuando el parámetro schemaInfo.onDemandThroughput está definido en
false
; de lo contrario, en N. - Ejemplo:
"writeUnits" : 100
schemaInfo.storageSize
- Objetivo: especifica el tamaño de almacenamiento de la nueva tabla en GB
Nota
Este parámetro no se aplica a las tablas secundarias porque comparten el tamaño de almacenamiento de la tabla principal de nivel superior. -
Tipo de datos: entero
-
Obligatorio: Y cuando la tabla no es una tabla secundaria; de lo contrario, N.
- Ejemplo:
-
Con
schemaPath
"schemaInfo" : { "schemaPath" : "</path/to/a/schema/file>", "readUnits" : 500, "writeUnits" : 1000, "storageSize" : 5 }
-
Con
defaultSchema
"schemaInfo" : { "defaultSchema" :Yes, "readUnits" : 500, "writeUnits" : 1000, "storageSize" : 5 }
-
credenciales
-
Objetivo: ruta de acceso absoluta a un archivo que contiene credenciales de OCI.
Si no se especifica, el valor por defecto es
$HOME/.oci/config
Consulte Example Configuration para obtener un ejemplo del archivo de credenciales.
Nota
Aunque los parámetros credentials y useInstancePrincipal no son obligatorios individualmente, se DEBE especificar uno de estos parámetros. Además, estos dos parámetros son mutuamente excluyentes. Especifique SOLO uno de estos parámetros, pero no ambos al mismo tiempo. - Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"credentials" : "/home/user/.oci/config"
"credentials" : "/home/user/security/config"
credentialsProfile
-
Objetivo: nombre del perfil de configuración que se utilizará para conectarse a Oracle NoSQL Database Cloud Service.
Si no especifica este valor, se define por defecto en el perfil
DEFAULT
.Nota
Este parámetro es válido SOLO si se especifica el parámetro credentials. - Tipo de datos: cadena
- Obligatorio (S/N): N
- Ejemplo:
"credentialsProfile" : "DEFAULT"
"credentialsProfile": "ADMIN_USER"
writeUnitsPercent
-
Objetivo: especifica el porcentaje de unidades de escritura de tabla que se utilizarán durante la actividad de migración.
El valor por defecto es 90. El rango válido es cualquier entero entre 1 y 100.
Nota
El tiempo necesario para la migración de datos es directamente proporcional al valorwriteUnitsPercent
.Consulte Troubleshooting the Oracle NoSQL Database Migrator para obtener información sobre cómo utilizar este atributo para mejorar la velocidad de migración de datos.
- Tipo de datos: entero
- Obligatorio (S/N): N
- Ejemplo:
"writeUnitsPercent" : 90
requestTimeoutMs
-
Objetivo: especifica el tiempo que se debe esperar para que se complete cada operación de escritura en el fregadero. Esto se proporciona en milisegundos. El valor por defecto es 5000. El valor puede ser cualquier entero positivo.
- Tipo de datos: entero
- Obligatorio (S/N): N
- Ejemplo:
"requestTimeoutMs" : 5000
useInstancePrincipal
-
Objetivo: especifica si la herramienta Migrator NoSQL utiliza o no la autenticación de principal de instancia para conectarse a Oracle NoSQL Database Cloud Service. Para obtener más información sobre el método de autenticación de principal de instancia, consulte Source and Sink Security.
Si no se especifica, el valor por defecto es false.
Nota
- Se admite SOLO cuando la herramienta NoSQL Database Migrator se ejecuta en una instancia informática de OCI, por ejemplo, la herramienta NoSQL Database Migrator que se ejecuta en una máquina virtual alojada en OCI.
- Aunque los parámetros credentials y useInstancePrincipal no son obligatorios individualmente, se DEBE especificar uno de estos parámetros. Además, estos dos parámetros son mutuamente excluyentes. Especifique SOLO uno de estos parámetros, pero no ambos al mismo tiempo.
- Tipo de datos: boolean
- Obligatorio (S/N): N
-
Ejemplo:
"useInstancePrincipal" : true
sobrescribir
-
Objetivo: indica el comportamiento de NoSQL Database Migrator cuando el registro que se migra del origen ya está presente en el sumidero.
Si el valor se define en false, al migrar tablas, NoSQL Database Migrator omite los registros para los que ya existe la misma clave primaria en el sumidero.
Si el valor se define en true, al migrar tablas, NoSQL Database Migrator sobrescribe los registros para los que ya existe la misma clave primaria en el sumidero.
Si no se especifica, el valor por defecto es true.
- Tipo de datos: boolean
- Obligatorio (S/N): N
- Ejemplo:
"overwrite" : false
includeTTL
-
Objetivo: especifica si se deben incluir o no metadatos TTL para filas de tabla proporcionadas por el origen al importar tablas de Oracle NoSQL Database.
Si no se especifica este parámetro, el valor por defecto es
false
. En ese caso, NoSQL Database Migrator no incluye metadatos TTL para las filas de tabla proporcionadas por el origen al importar tablas de Oracle NoSQL Database.Si se define en true, la herramienta NoSQL Database Migrator realiza las siguientes comprobaciones en los metadatos TTL al importar una fila de tabla:- Si importa una fila que no tiene la definición
_metadata
, la herramienta NoSQL Database Migrator establece el TTL en 0, lo que significa que la fila nunca caduca. - Si importa una fila que tiene una definición
_metadata
, la herramienta NoSQL Database Migrator compara el valor TTL con una hora de referencia cuando se importa una fila. Si la fila ya ha caducado en relación con la hora de referencia, se omite. Si la fila no ha caducado, se importa junto con el valor TTL. Por defecto, el tiempo de referencia de la operación de importación es la hora actual en milisegundos, obtenida de System.currentTimeMillis(), de la máquina en la que se ejecuta la herramienta NoSQL Database Migrator. Sin embargo, también puede definir un tiempo de referencia personalizado mediante el parámetro de configuraciónttlRelativeDate
si desea ampliar el tiempo de caducidad e importar filas que, de lo contrario, caducarán inmediatamente.La fórmula para calcular la hora de caducidad de una fila es la siguiente:expiration = (TTL value of source row in milliseconds - Reference Time in milliseconds) if (expiration <= 0) then it indicates that row has expired.
Nota
Dado que los límites de TTL de Oracle NoSQL están en horas y días, en algunos casos, el TTL de la fila importada se puede ajustar a la hora o el día más cercanos. Por ejemplo, considere que una fila que tenga el valor de caducidad1629709200000 (2021-08-23 09:00:00)
y el valor de tiempo de referencia es1629707962582 (2021-08-23 08:39:22)
. Aquí, aunque la fila no caduque en relación con la hora de referencia cuando se importan estos datos, el nuevo TTL para la fila es1629712800000 (2021-08-23 10:00:00)
.
- Si importa una fila que no tiene la definición
- Tipo de datos: booleano
- Obligatorio (S/N): N
- Ejemplo:
"includeTTL" : true
ttlRelativeDate
-
Objetivo: especifique una fecha UTC en el formato AAAA-MM-DD hh:mm:ss utilizado para definir la caducidad TTL de las filas de tabla durante la importación en Oracle NoSQL Database.
Si una fila de tabla de los datos que está exportando ha caducado, puede definir el parámetro ttlRelativeDate en una fecha anterior a la hora de caducidad de la fila de tabla en los datos exportados.
Si no especifica este parámetro, se establece por defecto en la hora actual en milisegundos, obtenida de System.currentTimeMillis(), del equipo en el que se ejecuta la herramienta NoSQL Database Migrator.
- Tipo de datos: fecha
- Obligatorio (S/N): N
- Ejemplo:
"ttlRelativeDate" : "2021-01-03 04:31:17"
Consideremos un escenario en el que las filas de la tabla caducan después de siete días a partir del 1 de enero de 2021. Después de exportar esta tabla, el 7 de enero de 2021, tendrá un problema con la tabla y decidirá importar los datos. Las filas de la tabla caducarán en un día (fecha de caducidad de datos menos el valor por defecto del parámetro de configuración ttlRelativedate, que es la fecha actual). Sin embargo, si desea ampliar la fecha de caducidad de las filas de la tabla a cinco días en lugar de a un día, utilice el parámetro ttlRelativeDate y seleccione una fecha anterior. Por lo tanto, en este escenario si desea ampliar el tiempo de caducidad de las filas de la tabla en cinco días, defina el valor de los parámetros de configuración ttlRelativeDate en 3-Jan-2021, que se utiliza como tiempo de referencia cuando se importan las filas de la tabla.
Plantillas de configuración de transformación
En este tema se explican los parámetros de configuración para las distintas transformaciones soportadas por Oracle NoSQL Database Migrator.
Oracle NoSQL Database Migrator permite modificar los datos, es decir, agregar transformaciones de datos como parte de la actividad de migración. Puede definir varias transformaciones en una única migración. En tal caso, el orden detransformaciones es vital porque los datos de origenexperimentan cada transformación en el orden dado. La salida de una transformación se convierte en la entrada a la siguiente en el pipeline del migrador.
Tabla 9-7 Transformaciones
Atributo de configuración de transformación | Puede utilizar esta transformación para... |
---|---|
ignoreFields |
Ignore las columnas identificadas de la fila de origen antes de escribir en el sumidero. |
includeFields |
Incluya las columnas identificadas de la fila de origen antes de escribir en el fregadero. |
renameFields |
Cambie el nombre de las columnas identificadas de la fila de origen antes de escribirlas en el fregadero. |
aggregateFields |
Agregue varias columnas del origen a una sola columna en el fregadero. Como parte de esta transformación, también puede identificar las columnas que desea excluir en la agregación. Estos campos se omitirán de la columna agregada. |
Puede encontrar la plantilla de configuración para cada transformación admitida a continuación.
ignoreFields
A continuación, se muestra el formato de archivo de configuración para la transformación ignoreFields
.
Plantilla de configuración
"transforms" : {
"ignoreFields" : ["<field1>","<field2>",...]
}
Parámetro de transformación
ignoreFields
-
Objetivo: matriz de los nombres de columna que se ignorarán de los registros de origen.
Nota
Solo puede proporcionar campos de nivel superior. Las transformaciones no se pueden aplicar a los datos de los campos anidados. - Tipo de datos: matriz de cadenas
- Obligatorio (S/N): Y
-
Ejemplo: para ignorar las columnas denominadas "nombre" y "dirección" del registro de origen:
"ignoreFields" : ["name","address"]
includeFields
A continuación, se muestra el formato de archivo de configuración para la transformación includeFields
.
Plantilla de configuración
"transforms" : {
"includeFields" : ["<field1>","<field2>",...]
}
Parámetro de transformación
includeFields
-
Objetivo: una matriz de los nombres de columna que se van a incluir desde los registros de origen. solo incluye los campos especificados en la matriz; el resto de los campos se ignoran.
Nota
La herramienta NoSQL Database Migrator devuelve un error si especifica una matriz vacía. Además, solo puede especificar los campos de nivel superior. La herramienta NoSQL Database Migrator no aplica transformaciones a los datos de los campos anidados. - Tipo de datos: matriz de cadenas
- Obligatorio (S/N): Y
-
Ejemplo: para ignorar las columnas denominadas "edad" y "género" del registro de origen:
"includeFields" : ["age","gender"]
renameFields
A continuación, se muestra el formato de archivo de configuración para la transformación renameFields
.
Plantilla de configuración
"transforms" : {
"renameFields" : {
"<old_name>" : "<new_name>",
"<old_name>" : "<new_name>,"
.....
}
}
Parámetro de transformación
renameFields
-
Objetivo: pares clave-valor de los nombres antiguos y nuevos de las columnas a cambiar de nombre.
Nota
Solo puede proporcionar campos de nivel superior. Las transformaciones no se pueden aplicar a los datos de los campos anidados. - Tipo de datos: objeto de JSON
- Obligatorio (S/N): Y
-
Ejemplo: para cambiar el nombre de la columna denominada "residence" a "address" y la columna denominada "_id" a "id":
"renameFields" : { "residence" : "address", "_id" : "id" }
aggregateFields
A continuación, se muestra el formato de archivo de configuración para la transformación aggregateFields
.
Plantilla de configuración
"transforms" : {
"aggregateFields" : {
"fieldName" : "name of the new aggregate field",
"skipFields" : ["<field1>","<field2">,...]
}
}
Parámetro de transformación
aggregateFields
-
Objetivo: nombre del campo agregado en el fregadero.
- Tipo de datos: cadena
- Obligatorio (S/N): Y
-
Ejemplo: si el registro proporcionado es:
{ "id" : 100, "name" : "john", "address" : "USA", "age" : 20 }
Si la transformación agregada es:
"aggregateFields" : { "fieldName" : "document", "skipFields" : "id" }
La columna agregada del fregadero tiene el siguiente aspecto:
{ "id": 100, "document": { "name": "john", "address": "USA", "age": 20 } }
Asignación de tipos DynamoDB a tipos NoSQL de Oracle
En la siguiente tabla se muestra la asignación de tipos DynamoDB a tipos NoSQL de Oracle.
Tabla 9-8 Asignación del tipo DynamoDB al tipo NoSQL de Oracle
No | Tipo DynamoDB | Tipo JSON para columna JSON NoSQL | Tipo NoSQL de Oracle |
---|---|---|---|
1 | Cadena (S) | Cadena JSON | CADENA |
2 | Tipo de número (N) | Número de JSON | ENTERO/LONG/FLOT/DOBLE/NÚMERO |
3 | Booleano (BOOL) | Booleano JSON | BOOLEANO |
4 | Tipo binario (B): buffer de bytes | Cadena JSON codificada BASE-64 | BINARIO |
5 | NULO | JSON nulo | NULO |
6 | Conjunto de cadenas (SS) | Matriz de cadenas de JSON | MATRIZ (CADENA) |
7 | Juego de números (NS) | Matriz de números de JSON | MATRIZ (ENTERO/LARGO/FLOTANTE/DOBLE/NÚMERO) |
8 | Conjunto binario (BS) | Matriz JSON de cadenas codificadas con Base-64 | MATRIZ (BINARIA) |
9 | LISTA (L) | Matriz de JSON | MATRIZ (JSON) |
10 | MAPA (M) | Objeto JSON | JSON |
11 | CLAVE DE PARTICIÓN | NATIVO | PRIMARY KEY y SHARD KEY |
12 | CLAVE DE CLASIFICACIÓN | NATIVO | CLAVE PRIMARIA |
13 | Nombres de atributo con guión y punto | Nombres de campo JSON con un guión bajo | Nombres de columna con guion bajo |
- DynamoDB Solo soporta un tipo de dato para números y puede tener hasta 38 dígitos de precisión. Por el contrario, Oracle NoSQL soporta muchos tipos entre los que elegir según el rango y la precisión de data.You puede seleccionar el tipo de número adecuado que se ajuste al rango de los datos de entrada. Si no está seguro de la naturaleza de los datos, se puede utilizar el tipo NoSQL NUMBER.
- DynamoDB Solo soporta un tipo de dato para números y puede tener hasta 38 dígitos de precisión. Por el contrario, Oracle NoSQL soporta muchos tipos entre los que elegir según el rango y la precisión de data.You puede seleccionar el tipo de número adecuado que se ajuste al rango de los datos de entrada. Si no está seguro de la naturaleza de los datos, se puede utilizar el tipo NoSQL NUMBER.
- La clave de partición en DynamoDB tiene un límite de 2048 bytes, pero Oracle NoSQL Cloud Service tiene un límite de 64 bytes para la clave primaria/clave de partición horizontal.
- La clave de ordenación en DynamoDB tiene un límite de 1024 bytes, pero Oracle NoSQL Cloud Service tiene un límite de 64 bytes para la clave primaria.
- Los nombres de atributo en DynamoDB pueden tener 64 KB de longitud, pero los nombres de columna del servicio de Oracle NoSQL Cloud tienen un límite de 64 caracteres.
Asignación del tipo de dato Oracle NoSQL a Parquet
Describe la asignación de tipos de dato NoSQL de Oracle a tipos de dato Parquet.
Tipo NoSQL | Tipo de Parquet |
---|---|
BOOLEANO | BOOLEANO |
ENTERO | INT32 |
LARGO | INT64 |
FLOTANTE | DOBLE |
DOBLE | DOBLE |
BINARIO | BINARIO |
FIXED_BINARY | BINARIO |
CADENA | BINARIO (CADENA) |
ENUMERAR | BINARIO (CADENA)
o bien BINARY(ENUM), si la ENUM lógica está configurada |
UUID | BINARIO (CADENA)
o bien FIXED_BINARY(16), si el UUID lógico está configurado |
TIMESTAMP(p) | INT64(TIMESTAMP(p)) |
NÚMERO | DOBLE |
field_name MATRIZ(T) |
|
field_name MAPA (T) |
|
field_name REGISTRO (K1 T1 N1, K2 T2 N2, ....)
donde: K = Nombre de clave T = Tipo N = Nulo o no |
|
JSON | BINARIO (CADENA)
o bien BINARY(JSON), si está configurado JSON lógico |
Cuando el tipo de número NoSQL se convierte en tipo Doble Parquet, puede haber alguna pérdida de precisión en caso de que el valor no se pueda representar en Doble. Si el número es demasiado grande para representarlo como Doble, se convierte en Doble.NEGATIVE_INFINITY o Doble.POSITIVE_INFINITY.
Asignación de la tabla DynamoDB a la tabla NoSQL de Oracle
En DynamoDB, una tabla es una recopilación de elementos y cada elemento es una recopilación de atributos. Cada elemento de la tabla tiene un identificador único o una clave primaria. Aparte de la clave primaria, la tabla no tiene esquema. Cada elemento puede tener sus propios atributos distintos.
- Clave de partición: una clave primaria simple, compuesta por un atributo conocido como clave de partición. DynamoDB utiliza el valor de la clave de partición como entrada a una función hash interna. La salida de la función hash determina la partición en la que se almacenará el elemento.
- Clave de partición y clave de ordenación: como clave primaria compuesta, este tipo de clave se compone de dos atributos. El primer atributo es la clave de partición y el segundo es la clave de ordenación. DynamoDB utiliza el valor de clave de partición como entrada para una función hash interna. La salida de la función hash determina la partición en la que se almacenará el elemento. Todos los elementos con el mismo valor de clave de partición se almacenan juntos, en orden ordenado por valor de clave de ordenación.
En cambio, las tablas NoSQL de Oracle soportan modelos de datos flexibles con un diseño sin esquema y sin esquema.
- Modelado de tabla DynamoDB como documento JSON (recomendado): en este modelado, se asignan todos los atributos de las tablas de base de datos de Dynamo a una columna JSON de la tabla NoSQL excepto la clave de partición y la clave de ordenación. Modelará la clave de partición y la clave de ordenación como columnas de clave primaria de la tabla NoSQL. Utilizará la transformación
AggregateFields
para agregar datos de clave no primaria a una columna JSON.Nota
El migrador proporciona una configuración fácil de recordardefaultSchema
para crear automáticamente una tabla DDL sin esquema que también agrega atributos a una columna JSON. - Modelado de tabla DynamoDB como columnas fijas en la tabla NoSQL: En este modelado, para cada atributo de la tabla DynamoDB, creará una columna en la tabla NoSQL como se especifica en Asignación de tipos DynamoDB a tipos NoSQL de Oracle. Modelará la clave de partición y ordenará los atributos de clave como claves primarias. Esto sólo se debe utilizar cuando esté seguro de que la importación del esquema de tabla DynamoDB es fija y cada elemento tiene valores para la mayoría de los atributos. Si los elementos DynamoDB no tienen atributos comunes, esto puede dar como resultado muchas columnas NoSQL con valores vacíos.
Nota
Recomendamos utilizar tablas sin esquema al migrar datos de DynamoDB a Oracle NoSQL Database debido a la naturaleza de las tablas DynamoDB sin esquema. Esto es especialmente para tablas grandes en las que el contenido de cada registro puede no ser uniforme en la tabla.
Resolución de problemas de Oracle NoSQL Database Migrator
Aprenda sobre los desafíos generales a los que puede enfrentarse mientras usa el , y cómo resolverlos.
Fallo de migración. ¿Cómo puedo resolver esto?
Un fallo de la migración de datos puede deberse a varios motivos subyacentes. Las causas importantes se enumeran a continuación:
Tabla 9-9 Causas de fallo de migración
Mensaje de error | Significado | Resolución |
---|---|---|
Failed to connect to Oracle NoSQL Database |
El migrador no pudo establecer una conexión con la NoSQL Database. |
|
Failed to connect to Oracle NoSQL Database Cloud Service |
El migrador no ha podido establecer una conexión con Oracle NoSQL Database Cloud Service. |
|
Table not found |
La tabla identificada para la migración no pudo estar ubicada en NoSQL Database Migrator. |
Para el origen:
Para el fregadero:
|
DDL Execution failed |
Los comandos DDL proporcionados en el archivo de definición de esquema de entrada no son válidos. |
|
failed to write record to the sink table with java.lang.IllegalArgumentException |
El registro de entrada no coincide con el esquema de tabla del fregadero. |
|
Request timeout |
La operación de origen o de hundimiento no se ha completado dentro del tiempo esperado. |
|
¿Qué debo tener en cuenta antes de reiniciar una migración con fallos?
Cuando falla una tarea de migración de datos, el sumidero estará en un estado intermedio que contenga los datos importados hasta el punto de fallo. Puede identificar los detalles de error y fallo de los logs y reiniciar la migración después de diagnosticar y corregir el error. Una migración reiniciada se inicia de nuevo y procesa todos los datos desde el principio. No hay manera de establecer un punto de control y reiniciar la migración desde el punto de fallo. Por lo tanto, NoSQL Database Migrator sobrescribe cualquier registro que ya se haya migrado al fregadero.
La migración es demasiado lenta. ¿Cómo puedo acelerarla?
El tiempo que se tarda en la migración de datos depende de varios factores, como el volumen de datos que se va a migrar, la velocidad de la red y la carga actual en la base de datos. En el caso de un servicio en la nube, la velocidad de migración también depende del rendimiento de lectura y del rendimiento de escritura aprovisionado. Por lo tanto, para mejorar la velocidad de migración, puede:- Intente reducir la carga de trabajo actual en Oracle NoSQL Database al migrar los datos.
- Asegúrese de que la máquina que ejecuta la migración, el origen y el hundimiento estén ubicados en el mismo centro de datos y que las latencias de red sean mínimas.
- En el caso de Oracle NoSQL Database Cloud Service, aprovisione un alto rendimiento de lectura/escritura y verifique si el almacenamiento asignado para la tabla es suficiente o no. Si NoSQL Database Migrator no está creando la tabla, puede aumentar el rendimiento de escritura. Si el migrador está creando la tabla, considere la posibilidad de especificar un valor superior para el parámetro
schemaInfo.writeUnits
en la configuración de hundimiento. Una vez finalizada la migración de datos, puede reducir este valor. Tenga en cuenta los límites diarios de los cambios de rendimiento. Consulte Límites de la nube y Plantillas de configuración de enlace.
Tengo una migración larga que implica una gran cantidad de conjuntos de datos. ¿Cómo puedo realizar un seguimiento del progreso de la migración?
Puede activar el registro adicional para realizar un seguimiento del progreso de una migración de larga ejecución. Para controlar el comportamiento de registro de Oracle NoSQL Database Migrator, debe definir el nivel deseado de registro en el archivo logging.properties
. Este archivo se proporciona con el paquete NoSQL Database Migrator y está disponible en el directorio donde se ha desempaquetado Oracle NoSQL Database Migrator. Los distintos niveles de registro son OFF, SEVERE, WARNING, INFO, FINE,
y ALL
en el orden de aumento de la verbosidad. La configuración del nivel de log en OFF
desactiva toda la información de registro, mientras que la configuración del nivel de log en ALL
proporciona la información de log completa. El nivel de log por defecto es WARNING
. Toda la salida de registro está configurada para ir a la consola por defecto. Puede ver comentarios en el archivo logging.properties
para conocer cada nivel de log.