Referência do Oracle NoSQL Database Migrator

Saiba mais sobre parâmetros de modelo de configuração de origem, sumário e transformação disponíveis para o Oracle NoSQL Database Migrator.

Este artigo tem os seguintes tópicos:

Parâmetros

O NoSQL Database Migrator requer um arquivo de configuração no qual você define todos os parâmetros para executar a atividade de migração. Alguns parâmetros são comuns em várias fontes e sumidouros. Este tópico fornece uma lista desses parâmetros comuns. Para obter a lista de outros parâmetros exclusivos de origens ou sumidouros individuais, consulte as seções de modelo de configuração correspondentes.

Parâmetros de Configuração Comum

Estes são os parâmetros de configuração comuns. Consulte as seções do modelo de configuração individual para obter exemplos.

bucket

  • Finalidade: Especifica o nome do bucket do OCI Object Storage, que contém os objetos de origem/detentor.

    Certifique-se de que o bucket necessário já exista na instância do OCI Object Storage e tenha permissões de leitura/gravação.

  • Tipo de Dados: string
  • Obrigatório (S/N): S

chunkSize

  • Finalidade: Especifica o tamanho máximo de um chunk de dados da tabela a ser armazenado no sumidouro. O valor está em MB. Durante a migração, uma tabela é dividida em partes chunkSize e cada parte é gravada como um arquivo separado na pia. Um novo arquivo é criado quando os dados de origem que estão sendo migrados excedem o valor chunkSize.

    Se não for especificado, o padrão será 32MB. O valor válido é um número inteiro entre 1 e 1024.

  • Tipo de Dados: inteiro
  • Obrigatório (S/N): N

credentials

  • Finalidade: Especifica o caminho absoluto para um arquivo que contém credenciais do OCI. O NoSQL Database Migrator usa esse arquivo para estabelecer conexão com o serviço OCI, como Oracle NoSQL Database Cloud Service, OCI Object Storage etc.

    O valor padrão é $HOME/.oci/config

    Consulte Exemplo de Configuração para obter um exemplo do arquivo de credenciais.

    Observação:

    Os parâmetros de autenticação credentials, useInstancePrincipal e useDelegationToken são mutuamente exclusivos. Especifique apenas um desses parâmetros no modelo de configuração.
  • Tipo de Dados: string
  • Obrigatório (S/N): N

credentialsProfile

  • Finalidade: Especifica o nome do perfil de configuração a ser usado para estabelecer conexão com o serviço OCI, como Oracle NoSQL Database Cloud Service, OCI Object Storage etc. As credenciais da conta do usuário são denominadas perfil.

    Se você não especificar esse valor, o NoSQL Database Migrator usará o perfil DEFAULT.

    Observação:

    Esse parâmetro só será válido se o parâmetro credentials for especificado.
  • Tipo de Dados: string
  • Obrigatório (S/N): N

ponto final

  • Finalidade: Especifica uma das seguintes opções:
    • O URL do ponto final do Serviço ou o ID da Região do serviço OCI Object Storage.

      Para obter a lista de pontos finais do serviço OCI Object Storage, consulte Pontos Finais do Serviço Object Storage.

    • O URL do ponto final do Serviço ou o ID da Região do Oracle NoSQL Database Cloud Service.

      Você pode especificar o URL completo ou o ID da Região sozinho. Para obter a lista de regiões de dados suportadas para o Oracle NoSQL Database Cloud Service, consulte Regiões de Dados e URLs de Serviços Associados no documento do Oracle NoSQL Database Cloud Service.

  • Tipo de Dados: string
  • Obrigatório (S/N): S

formato

  • Finalidade: Especifica o formato de origem/sink.
  • Tipo de Dados: string
  • Obrigatório (S/N): S

namespace

  • Finalidade: Especifica o namespace do serviço OCI Object Storage. Esse parâmetro é opcional. Se você não especificar esse parâmetro, o namespace padrão da tenancy será usado.

  • Tipo de Dados: string
  • Obrigatório (S/N): N

prefixo

  • Finalidade: O prefixo atua como um contêiner ou diretório lógico para armazenar dados no bucket do OCI Object Storage.

    • Modelo de configuração de origem: Se o parâmetro prefix estiver especificado, todos os objetos do diretório nomeado no parâmetro prefix serão migrados. Caso contrário, todos os objetos presentes no bucket serão migrados.
    • Modelo de configuração do dissipador: Se o parâmetro prefix for especificado, um diretório com o prefixo fornecido será criado no bucket e os objetos serão migrados para esse diretório. Caso contrário, o nome da tabela da origem será usado como prefixo. Se algum objeto com o mesmo nome já existir no bucket, ele será substituído.

    Para obter mais informações sobre prefixo, consulte Object Naming Using Prefixes and Hierarchies.

  • Tipo de Dados: string
  • Obrigatório (S/N): N

requestTimeoutMs

  • Finalidade: Especifica o tempo de espera para que cada operação de leitura/gravação de/para a loja seja concluída. Isso é fornecido em milissegundos. O valor padrão é 5.000. O valor pode ser qualquer valor inteiro positivo.

  • Tipo de Dados: inteiro
  • Obrigatório (S/N): N

security

  • Finalidade: Especifica o caminho absoluto para o arquivo de log-in de segurança que contém as credenciais do armazenamento se o armazenamento for seguro. Para obter mais informações sobre o arquivo de log-in de segurança, consulte Configuring Security with Remote Access no Administrator's Guide.

    Você pode usar autenticação baseada em arquivo de senha ou autenticação baseada em wallet. No entanto, a autenticação baseada em wallet só é suportada na Enterprise Edition (EE) do Oracle NoSQL Database. Para obter mais informações sobre autenticação baseada em wallet, consulte Segurança de Origem e Pia.

    A edição Community Edition(CE) suporta somente autenticação baseada em arquivo de senha.

  • Tipo de Dados: string
  • Obrigatório (S/N): S, para um armazenamento seguro

tipo

  • Finalidade: Identifica a origem/tipo de dissipador.
  • Tipo de Dados: string
  • Obrigatório (S/N): S

useDelegationToken

  • Finalidade: Especifica se a ferramenta NoSQL Database Migrator usa ou não uma autenticação de token de delegação para estabelecer conexão com os serviços do OCI. Use a autenticação do token de delegação para executar o utilitário Migrator no Cloud Shell. O token de delegação é criado automaticamente para o usuário quando o Cloud Shell é chamado.

    O valor padrão é false.

  • Tipo de dados: booliano
  • Obrigatório (S/N): N

    Observação:

    • A autenticação com token de delegação só é suportada quando a ferramenta NoSQL Database Migrator está em execução em um Cloud Shell.
    • Os parâmetros de autenticação credentials, useInstancePrincipal e useDelegationToken são mutuamente exclusivos. Especifique apenas um desses parâmetros no modelo de configuração.
    • O Cloud Shell suporta migração apenas entre as seguintes origens e sumidouros:
      Tipo Origem válida Dissipador válido

      Oracle NoSQL Database Cloud Service

      (nosqldb_cloud)

      Y Y
      Arquivo (arquivo JSON no diretório home) Y Y

      OCI Object Storage (arquivo JSON)

      (object_storage_oci)

      Y Y

      OCI Object Storage (arquivo Parquet)

      (object_storage_oci)

      P Y

useInstancePrincipal

  • Finalidade: Especifica se a ferramenta NoSQL Database Migrator usa ou não a autenticação do controlador de instâncias para estabelecer conexão com o serviço OCI, como Oracle NoSQL Database Cloud Service, OCI Object Storage etc. Para obter mais informações sobre o método de autenticação do Controlador de Instâncias, consulte Segurança de Origem e Pia.

    O valor padrão é false.

    Observação:

    • A autenticação com Controladores de Instâncias só é suportada quando a ferramenta NoSQL Database Migrator está em execução em uma instância de computação do OCI, por exemplo, a ferramenta NoSQL Database Migrator em execução em uma VM hospedada no OCI.
    • Os parâmetros de autenticação credentials, useInstancePrincipal e useDelegationToken são mutuamente exclusivos. Especifique apenas um desses parâmetros no modelo de configuração.
  • Tipo de dados: booliano
  • Obrigatório (S/N): N

Modelos de Configuração de Origem

Saiba mais sobre os formatos de arquivo de configuração de origem para cada origem válida e a finalidade de cada parâmetro de configuração.

Para o modelo de arquivo de configuração, consulte Arquivo de Configuração em Terminologia usada com o NoSQL Data Migrator.

Para obter detalhes sobre formatos de sumidouro válidos para cada origem, consulte Modelos de Configuração de Vazamento.

Tópicos

Os tópicos a seguir descrevem os modelos de configuração de origem referenciados pelo Oracle NoSQL Database Migrator para copiar os dados da origem fornecida para um coletor válido.

Origem do Arquivo JSON

O formato do arquivo de configuração para arquivo JSON como origem do NoSQL Database Migrator é mostrado abaixo.

Você pode migrar um arquivo de origem JSON especificando o caminho do arquivo ou um diretório no modelo de configuração de origem.

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

Modelo de Configuração de Origem

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

Parâmetros da Origem

Parâmetros de Configuração Comum

Parâmetros de Configuração Exclusivos

dataPath

  • Finalidade: Especifica o caminho absoluto para um arquivo ou diretório que contém os dados JSON para migração.

    Certifique-se de que esses dados correspondam ao esquema de tabela NoSQL definido no coletor. Se você especificar um diretório, o NoSQL Database Migrator identificará todos os arquivos com a extensão .json nesse diretório para a migração. Os subdiretórios não são suportados.

  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo:
    • Especificando um arquivo JSON

      "dataPath" : "/home/user/sample.json"

    • Especificando um diretório

      "dataPath" : "/home/user"

schemaInfo

  • Finalidade: Especifica o esquema dos dados de origem que estão sendo migrados. Esse esquema é passado para o sumário NoSQL.

  • Tipo de Dados: Objeto
  • Obrigatório (S/N): N

schemaInfo.schemaPath

  • Finalidade: Especifica o caminho absoluto para o arquivo de definição de esquema que contém instruções DDL para a tabela NoSQL que está sendo migrada.

  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo:
    "schemaInfo": {
      "schemaPath": "<path to the schema file>"
    }

Arquivo JSON no Bucket do OCI Object Storage

O formato do arquivo de configuração para arquivo JSON no bucket do OCI Object Storage como origem do NoSQL Database Migrator é mostrado abaixo.

Você pode migrar um arquivo JSON no bucket do OCI Object Storage especificando o nome do bucket no modelo de configuração de origem.

Um arquivo de origem JSON de amostra no bucket do OCI Object Storage é o seguinte:
{"id":6,"val_json":{"array":["q","r","s"],"date":"2023-02-04T02:38:57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-03-04T02:38:57.520Z","numfield":30,"strfield":"foo54"},{"datefield":"2023-02-04T02:38:57.520Z","numfield":56,"strfield":"bar23"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}
{"id":3,"val_json":{"array":["g","h","i"],"date":"2023-02-02T02:38:57.520Z","nestarray":[[1,2,3],[10,20,30]],"nested":{"arrayofobjects":[{"datefield":"2023-02-02T02:38:57.520Z","numfield":28,"strfield":"foo3"},{"datefield":"2023-02-02T02:38:57.520Z","numfield":38,"strfield":"bar"}],"nestNum":10,"nestString":"bar"},"num":1,"string":"foo"}}

Observação:

Os tipos de sumidouros válidos para o tipo de origem do OCI Object Storage são nosqldb e nosqldb_cloud.

Modelo de Configuração de Origem

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

Parâmetros da Origem

Parâmetros de Configuração Comum

  • tipo

    Use "type" : "object_storage_oci"

  • formato

    Use "format" : "json"

  • ponto final
    Exemplo:
    • ID da Região: "endpoint" : "us-ashburn-1"

    • Formato do URL: "endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"

  • namespace

    Exemplo: "namespace" : "my-namespace"

  • bucket

    Exemplo: "bucket" : "my-bucket"

  • prefixo
    Exemplo:
    1. "prefix" : "my_table/Data/000000.json" (migra apenas 000000.json)
    2. "prefix" : "my_table/Data" (migra todos os objetos com o prefixo my_table/Data)
  • credenciais
    Exemplo:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"
  • credentialsProfile
    Exemplo:
    1. "credentialsProfile" : "DEFAULT"
    2. "credentialsProfile" : "ADMIN_USER"
  • useInstancePrincipal

    Exemplo: "useInstancePrincipal" : true

  • useDelegationToken

    Exemplo: "useDelegationToken" : true

    Observação:

    A autenticação com token de delegação só é suportada quando o NoSQL Database Migrator está sendo executado de um Cloud Shell.

Parâmetros de Configuração Exclusivos

schemaInfo

  • Finalidade: Especifica o esquema dos dados de origem que estão sendo migrados. Esse esquema é passado para o sumário NoSQL.

  • Tipo de Dados: Objeto
  • Obrigatório (S/N): N

schemaInfo.schemaObject

  • Finalidade: Especifica o nome do objeto no bucket em que as definições de esquema da tabela NoSQL para os dados que estão sendo migrados são armazenadas.

  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo:
    "schemaInfo": {
      "schemaObject": "mytable/Schema/schema.ddl"
    },

Arquivo JSON Formatado em MongoDB

O formato do arquivo de configuração para o Arquivo JSON formatado em MongoDB como uma origem do NoSQL Database Migrator é mostrado abaixo.

Você pode migrar dados JSON exportados MongoDB especificando o arquivo ou diretório no modelo de configuração de origem.

O MongoDB suporta dois tipos de extensões para o formato JSON de arquivos, Modo canônico e Modo relaxado. Você pode fornecer o arquivo JSON formatado em MongoDB que é gerado usando a ferramenta mongoexport no modo Canônico ou Relaxado. Ambos os modos são suportados pelo NoSQL Database Migrator para migração.

Para obter mais informações sobre o arquivo MongoDB Extended JSON (v2), consulte mongoexport_formats.

Para obter mais informações sobre a geração do arquivo JSON formatado em MongoDB, consulte mongoexport para obter mais informações.

Um arquivo JSON de Modo relaxado formatado em MongoDB de amostra é o seguinte:
{"_id":0,"name":"Aimee Zank","scores":[{"score":1.463179736705023,"type":"exam"},{"score":11.78273309957772,"type":"quiz"},{"score":35.8740349954354,"type":"homework"}]}
{"_id":1,"name":"Aurelia Menendez","scores":[{"score":60.06045071030959,"type":"exam"},{"score":52.79790691903873,"type":"quiz"},{"score":71.76133439165544,"type":"homework"}]}
{"_id":2,"name":"Corliss Zuk","scores":[{"score":67.03077096065002,"type":"exam"},{"score":6.301851677835235,"type":"quiz"},{"score":66.28344683278382,"type":"homework"}]}
{"_id":3,"name":"Bao Ziglar","scores":[{"score":71.64343899778332,"type":"exam"},{"score":24.80221293650313,"type":"quiz"},{"score":42.26147058804812,"type":"homework"}]}
{"_id":4,"name":"Zachary Langlais","scores":[{"score":78.68385091304332,"type":"exam"},{"score":90.2963101368042,"type":"quiz"},{"score":34.41620148042529,"type":"homework"}]}

Modelo de Configuração de Origem

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

Parâmetros da Origem

Parâmetros de Configuração Comum

  • tipo

    Use "type" : "file"

  • formato

    Use "format" : "mongodb_json"

Parâmetros de Configuração Exclusivos

dataPath

  • Finalidade: Especifica o caminho absoluto para um arquivo ou diretório que contém os dados JSON exportados MongoDB para migração.

    Você pode fornecer o arquivo JSON formatado em MongoDB que é gerado usando a ferramenta mongoexport.

    Se você especificar um diretório, o NoSQL Database Migrator identificará todos os arquivos com a extensão .json nesse diretório para a migração. Os subdiretórios não são suportados. Certifique-se de que esses dados correspondam ao esquema de tabela NoSQL definido no coletor.

  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo:
    • Especificando um arquivo JSON formatado em MongoDB

      "dataPath" : "/home/user/sample.json"

    • Especificando um diretório

      "dataPath" : "/home/user"

schemaInfo

  • Finalidade: Especifica o esquema dos dados de origem que estão sendo migrados. Esse esquema é passado para o sumário NoSQL.

  • Tipo de Dados: Objeto
  • Obrigatório (S/N): N

schemaInfo.schemaPath

  • Finalidade: Especifica o caminho absoluto para o arquivo de definição de esquema que contém instruções DDL para a tabela NoSQL que está sendo migrada.

  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo:
    "schemaInfo" : {
      "schemaPath" : "/home/user/mytable/Schema/schema.ddl"
    }

Arquivo JSON Formatado MongoDB no bucket do OCI Object Storage

O formato do arquivo de configuração para o arquivo JSON formatado em MongoDB no bucket do OCI Object Storage como origem do NoSQL Database Migrator é mostrado abaixo.

Você pode migrar os dados JSON exportados MongoDB no bucket do OCI Object Storage especificando o nome do bucket no modelo de configuração de origem.

Extraia os dados de MongoDB usando o utilitário mongoexport e faça upload deles para o bucket do OCI Object Storage. Para obter mais informações, consulte mongoexport. O MongoDB suporta dois tipos de extensões para o formato JSON de arquivos, Modo canônico e Modo relaxado. Ambos os formatos são suportados no bucket do OCI Object Storage.

Um Arquivo JSON de Modo relaxado formatado em MongoDB de amostra é o seguinte:
{"_id":0,"name":"Aimee Zank","scores":[{"score":1.463179736705023,"type":"exam"},{"score":11.78273309957772,"type":"quiz"},{"score":35.8740349954354,"type":"homework"}]}
{"_id":1,"name":"Aurelia Menendez","scores":[{"score":60.06045071030959,"type":"exam"},{"score":52.79790691903873,"type":"quiz"},{"score":71.76133439165544,"type":"homework"}]}
{"_id":2,"name":"Corliss Zuk","scores":[{"score":67.03077096065002,"type":"exam"},{"score":6.301851677835235,"type":"quiz"},{"score":66.28344683278382,"type":"homework"}]}
{"_id":3,"name":"Bao Ziglar","scores":[{"score":71.64343899778332,"type":"exam"},{"score":24.80221293650313,"type":"quiz"},{"score":42.26147058804812,"type":"homework"}]}
{"_id":4,"name":"Zachary Langlais","scores":[{"score":78.68385091304332,"type":"exam"},{"score":90.2963101368042,"type":"quiz"},{"score":34.41620148042529,"type":"homework"}]}

Observação:

Os tipos de sumidouros válidos para o tipo de origem do OCI Object Storage são nosqldb e nosqldb_cloud.

Modelo de Configuração de Origem

"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 da Origem

Parâmetros de Configuração Comum

  • tipo

    Use "type" : "object_storage_oci"

  • formato

    Use "format" : "mongodb_json"

  • ponto final
    Exemplo:
    • ID da Região: "endpoint" : "us-ashburn-1"

    • Formato do URL: "endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"

  • namespace

    Exemplo: "namespace" : "my-namespace"

  • bucket

    Exemplo: "bucket" : "my-bucket"

  • prefixo
    Exemplo:
    1. "prefix" : "mongo_export/Data/table.json" (migra apenas table.json)
    2. "prefix" : "mongo_export/Data" (migra todos os objetos com o prefixo mongo_export/Data)

    Observação:

    Se você não fornecer nenhum valor, todos os objetos presentes no bucket serão migrados.
  • credenciais
    Exemplo:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"
  • credentialsProfile
    Exemplo:
    1. "credentialsProfile" : "DEFAULT"
    2. "credentialsProfile" : "ADMIN_USER"
  • useInstancePrincipal

    Exemplo: "useInstancePrincipal" : true

Parâmetros de Configuração Exclusivos

schemaInfo

  • Finalidade: Especifica o esquema dos dados de origem que estão sendo migrados. Esse esquema é passado para o sumário NoSQL.

  • Tipo de Dados: Objeto
  • Obrigatório (S/N): N

schemaInfo.schemaObject

  • Finalidade: Especifica o nome do objeto no bucket em que as definições de esquema da tabela NoSQL para os dados que estão sendo migrados são armazenadas.

  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo:
    "schemaInfo": {
      "schemaObject": "mytable/Schema/schema.ddl"
    }

DynamoDB - Arquivo JSON Formatado armazenado no AWS S3

O formato do arquivo de configuração para o Arquivo JSON formatado em DynamoDB no AWS S3 como uma origem do NoSQL Database Migrator é mostrado abaixo.

Você pode migrar um arquivo contendo os dados JSON exportados DynamoDB do armazenamento S3 da AWS especificando o caminho no modelo de configuração de origem.

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

Exporte a tabela DynamoDB para o armazenamento S3 da AWS conforme especificado em Exportando dados da tabela DynamoDB para o Amazon S3.

Os tipos válidos de dissipador para JSON formatado em DynamoDB armazenados no AWS S3 são nosqldb e nosqldb_cloud.

Modelo de Configuração de Origem
"source" : {
  "type" : "aws_s3",
  "format" : "dynamodb_json",
  "s3URL" : "<S3 object url>",
  "credentials" : "</path/to/aws/credentials/file>",
  "credentialsProfile" : <"profile name in aws credentials file">
}

Parâmetros da Origem

Parâmetros de Configuração Comum

  • tipo

    Use "type" : "aws_s3"

  • formato

    Use "format" : "dynamodb_json"

    Observação:

    Se o valor do parâmetro type for aws_s3, o formato deverá ser dynamodb_json.

Parâmetros de Configuração Exclusivos

s3URL

  • Finalidade: Especifica o URL de uma tabela DynamoDB exportada armazenada no AWS S3. Você pode obter esse URL na console do AWS S3. O formato de URL válido é https://<bucket-name>.<s3_endpoint>/<prefix>. O NoSQL Database Migrator procurará arquivos json.gz no prefixo durante a importação.

    Observação:

    Exporte a tabela DynamoDB conforme especificado em Exportando dados da tabela DynamoDB para o Amazon S3.
  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo: https://my-bucket.s3.ap-south-1.amazonaws.com/AWSDynamoDB/01649660790057-14f642be

credentials

  • Finalidade: Especifica o caminho absoluto para um arquivo que contém as credenciais da AWS. Se não for especificado, o padrão será $HOME/.aws/credentials. Para obter mais detalhes sobre o arquivo de credenciais, consulte Configuração e definições de arquivo de credenciais .
  • Tipo de Dados: string
  • Obrigatório (S/N): N
  • Exemplo:
    "credentials" : "/home/user/.aws/credentials"
    "credentials" : "/home/user/security/credentials

    Observação:

    O NoSQL Database Migrator não registra nenhuma das informações de credenciais. Você deve proteger adequadamente o arquivo de credenciais contra acesso não autorizado.

credentialsProfile

  • Finalidade: Nome do perfil no arquivo de credenciais da AWS a ser usado para estabelecer conexão com o AWS S3. As credenciais da conta do usuário são denominadas perfil. Se você não especificar esse valor, o NoSQL Database Migrator usará o perfil default. Para obter mais detalhes sobre o arquivo de credenciais, consulte Configuração e definições de arquivo de credenciais .
  • Tipo de Dados: string
  • Obrigatório (S/N): N
  • Exemplo:
    "credentialsProfile" : "default"
    "credentialsProfile" : "test"

Arquivo JSON Formatado em DynamoDB

O formato do arquivo de configuração para o Arquivo JSON formatado em DynamoDB como uma origem do NoSQL Database Migrator é mostrado abaixo.

Você pode migrar um arquivo ou diretório contendo os dados JSON exportados DynamoDB de um sistema de arquivos especificando o caminho no modelo de configuração de origem.

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

Copie os dados da tabela DynamoDB exportados do armazenamento S3 do AWS para um sistema de arquivos montado local.

Os tipos de sumidouro válidos para o arquivo JSON DynamoDB são nosqldb e nosqldb_cloud.

Modelo de Configuração de Origem
"source" : {
  "type" : "file",
  "format" : "dynamodb_json",
  "dataPath" : "<path/to/[file|dir]/containing/exported/DDB/tabledata>"   
}

Parâmetros da Origem

Parâmetros de Configuração Comum

  • tipo

    Use "type" : "file"

  • formato

    Use "format" : "dynamodb_json"

Parâmetro de Configuração Exclusivo

dataPath

  • Finalidade: Especifica o caminho absoluto para um arquivo ou diretório que contém os dados da tabela DynamoDB exportados. Copie os dados da tabela DynamoDB exportados do AWS S3 para um sistema de arquivos montado local. Certifique-se de que esses dados correspondam ao esquema de tabela NoSQL definido no coletor. Se você especificar um diretório, o NoSQL Database Migrator identificará todos os arquivos com a extensão .json.gz nesse diretório e o subdiretório data.
  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo:
    • Especificando um arquivo
      "dataPath" : "/home/user/AWSDynamoDB/01639372501551-bb4dd8c3/data/zclclwucjy6v5mkefvckxzhfvq.json.gz"
    • Especificando um diretório
      "dataPath" : "/home/user/AWSDynamoDB/01639372501551-bb4dd8c3"

Oracle NoSQL Database

O formato do arquivo de configuração do Oracle NoSQL Database como origem do NoSQL Database Migrator é mostrado abaixo.

Você pode migrar uma tabela do Oracle NoSQL Database especificando o nome da tabela no modelo de configuração de origem.

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

Modelo de Configuração de Origem

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

Parâmetros da Origem

Parâmetro de Configuração Comum

  • tipo

    Use "type" : "nosqldb"

  • segurança

    Exemplo:

    "security" : "/home/user/client.credentials"

    Exemplo de conteúdo do arquivo de segurança para autenticação baseada em arquivo de senha:

    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)

    Exemplo de conteúdo do arquivo de segurança para autenticação baseada em wallet:

    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

    Exemplo: "requestTimeoutMs" : 5000

Parâmetros de Configuração Exclusivos

storeName

  • Finalidade: Nome do armazenamento do Oracle NoSQL Database.

  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo: "storeName" : "kvstore"

helperHosts

  • Finalidade: Uma lista de pares de porta de host e registro no formato hostname:port. Delimite cada item da lista usando uma vírgula. Especifique pelo menos um host auxiliar.

  • Tipo de Dados: matriz de strings
  • Obrigatório (S/N): S
  • Exemplo: "helperHosts" : ["localhost:5000","localhost:6000"]

tabela

  • Finalidade: Nome de tabela totalmente qualificado do qual migrar os dados.

    Formato: [namespace_name:]<table_name>

    Se a tabela estiver no namespace DEFAULT, você poderá omitir o namespace_name. A tabela deve existir no armazenamento.

  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo:
    • Com o namespace DEFAULT "table" :"mytable"

    • Com um namespace não padrão "table" : "mynamespace:mytable"

    • Para especificar uma tabela filho "table" : "mytable.child"

includeTTL

  • Finalidade: Especifica se devem ou não incluir metadados TTL para linhas de tabela ao exportar tabelas do Oracle NoSQL Database. Se definido como verdadeiro, os dados TTL das linhas também serão incluídos nos dados fornecidos pela origem. O TTL está presente no objeto JSON _metadata associado a cada linha. O tempo de expiração de cada linha é exportado como o número de milissegundos desde a época UNIX (1o de janeiro de 1970).

    Se você não especificar esse parâmetro, o padrão será false.

    Somente as linhas com um valor de expiração positivo para TTL são incluídas como parte das linhas exportadas. Se uma linha não expirar, o que significa TTL=0, seus metadados TTL não serão incluídos explicitamente. Por exemplo, se ROW1 expirar em 2021-10-19 00:00:00 e ROW2 não expirar, os dados exportados terão a seguinte aparência:
    //ROW1
    {
      "id" : 1,
      "name" : "abc",
      "_metadata" : {
        "expiration" : 1634601600000
      }
    }
    
    //ROW2
    {
      "id" : 2,
      "name" : "xyz"
    }
  • Tipo de dados: booliano
  • Obrigatório (S/N): N
  • Exemplo: "includeTTL" : true

Oracle NoSQL Database Cloud Service

O formato do arquivo de configuração do Oracle NoSQL Database Cloud Service como origem do NoSQL Database Migrator é mostrado abaixo.

Você pode migrar uma tabela do Oracle NoSQL Database Cloud Service especificando o nome ou o OCID do compartimento no qual a tabela reside no modelo de configuração de origem.

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

Modelo de Configuração de Origem

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

Parâmetros da Origem

Parâmetros de Configuração Comum

  • tipo

    Use "type" : "nosqldb_cloud"

  • ponto final
    Exemplo:
    • ID da Região: "endpoint" : "us-ashburn-1"

    • Formato do URL: "endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"

  • credenciais
    Exemplo:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"
  • credentialsProfile
    Exemplo:
    1. "credentialsProfile" : "DEFAULT"
    2. "credentialsProfile" : "ADMIN_USER"
  • useInstancePrincipal

    Exemplo: "useInstancePrincipal" : true

  • useDelegationToken

    Exemplo: "useDelegationToken" : true

    Observação:

    A autenticação com token de delegação só é suportada quando o NoSQL Database Migrator está sendo executado de um Cloud Shell.
  • requestTimeoutMs

    Exemplo: "requestTimeoutMs" : 5000

Parâmetros de Configuração Exclusivos

tabela

  • Finalidade: Nome da tabela da qual os dados serão migrados.

  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo:
    • Para especificar uma tabela "table" : "myTable"
    • Para especificar uma tabela filho "table" : "mytable.child"

compartimento

  • Finalidade: Especifica o nome ou o OCID do compartimento no qual a tabela reside.

    Se você não fornecer nenhum valor, o padrão será o compartimento root.

    Você pode encontrar o OCID do seu compartimento na janela Explorador de Compartimentos em Governança na Console do OCI Cloud.

  • Tipo de Dados: string
  • Obrigatório (S/N): S, se a tabela não estiver no compartimento raiz da tenancy OU quando o parâmetro useInstancePrincipal estiver definido como verdadeiro.

    Observação:

    Se o parâmetro useInstancePrincipal for definido como verdadeiro, o compartimento deverá especificar o OCID do compartimento e não o nome.
  • Exemplo:
    • Nome do compartimento

      "compartment" : "mycompartment"

    • Nome do compartimento qualificado com seu compartimento pai

      "compartment" : "parent.childcompartment"

    • Nenhum valor fornecido. O padrão é o compartimento raiz.

      "compartment": ""

    • OCID do compartimento

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

readUnitsPercent

  • Finalidade: Porcentagem de unidades de leitura de tabela a serem usadas durante a migração da tabela NoSQL.

    O valor padrão é 90. O intervalo válido é qualquer número inteiro entre 1 e 100. O tempo necessário para migrar dados é diretamente proporcional a esse atributo. É melhor aumentar o throughput de leitura da tabela para a atividade de migração. Você pode reduzir o throughput de leitura após a conclusão do processo de migração.

    Para saber os limites diários sobre alterações de throughput, consulte Limites da Nuvem no documento do Oracle NoSQL Database Cloud Service.

    Consulte Diagnosticando e Solucionando Problemas do Oracle NoSQL Database Migrator para saber como usar esse atributo para melhorar a velocidade de migração de dados.

  • Tipo de Dados: inteiro
  • Obrigatório (S/N): N
  • Exemplo: "readUnitsPercent" : 90

includeTTL

  • Finalidade: Especifica se devem ou não incluir metadados TTL para linhas de tabela ao exportar tabelas do Oracle NoSQL Database Cloud Service. Se definido como verdadeiro, os dados TTL das linhas também serão incluídos nos dados fornecidos pela origem. O TTL está presente no objeto JSON _metadata associado a cada linha. O tempo de expiração de cada linha é exportado como o número de milissegundos desde a época UNIX (1o de janeiro de 1970).

    Se você não especificar esse parâmetro, o padrão será false.

    Somente as linhas com um valor de expiração positivo para TTL são incluídas como parte das linhas exportadas. Se uma linha não expirar, o que significa TTL=0, seus metadados TTL não serão incluídos explicitamente. Por exemplo, se ROW1 expirar em 2021-10-19 00:00:00 e ROW2 não expirar, os dados exportados terão a seguinte aparência:
    //ROW1
    {
      "id" : 1,
      "name" : "abc",
      "_metadata" : {
        "expiration" : 1634601600000
      }
    }
    
    //ROW2
    {
      "id" : 2,
      "name" : "xyz"
    }
  • Tipo de dados: booliano
  • Obrigatório (S/N): N
  • Exemplo: "includeTTL" : true

Origem do Arquivo CSV

O formato do arquivo de configuração para o arquivo CSV como origem do NoSQL Database Migrator é mostrado abaixo. O arquivo CSV deve estar de acordo com o formato RFC4180.

É possível migrar um arquivo CSV ou um diretório contendo os dados CSV especificando o nome ou o diretório do arquivo no modelo de configuração de origem.

Um arquivo CSV de exemplo é o seguinte:
1,"Computer Science","San Francisco","2500"
2,"Bio-Technology","Los Angeles","1200"
3,"Journalism","Las Vegas","1500"
4,"Telecommunication","San Francisco","2500"

Modelo de Configuração de Origem

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

Parâmetros da Origem

Parâmetros de Configuração Comum

Parâmetros de Configuração Exclusivos

datapath

  • Finalidade: Especifica o caminho absoluto para um arquivo ou diretório que contém os dados CSV para migração. Se você especificar um diretório, o NoSQL Database Migrator importará todos os arquivos com a extensão .csv ou .CSV nesse diretório. Todos os arquivos CSV são copiados em uma única tabela, mas não em qualquer ordem específica.

    Os arquivos CSV devem estar em conformidade com o padrão RFC4180. Certifique-se de que os dados em cada arquivo CSV correspondam ao esquema da tabela NoSQL Database definido na tabela coletora. Os subdiretórios não são suportados.

  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo:
    • Especificando um arquivo CSV

      "dataPath" : "/home/user/sample.csv"

    • Especificando um diretório

      "dataPath" : "/home/user"

Observação:

Os arquivos CSV devem conter apenas valores escalares. A importação de arquivos CSV contendo tipos complexos, como MAP, RECORD, ARRAY e JSON, não é suportada. A ferramenta NoSQL Database Migrator não verifica a exatidão dos dados no arquivo CSV de entrada. A ferramenta NoSQL Database Migrator suporta a importação de dados CSV que estão em conformidade com o formato RFC4180. Os arquivos CSV que contêm dados que não estão em conformidade com o padrão RFC4180 podem não ser copiados corretamente ou podem resultar em um erro. Se os dados de entrada estiverem corrompidos, a ferramenta NoSQL Database Migrator não fará parsing dos registros CSV. Se forem encontrados erros durante a migração, a ferramenta NoSQL Database Migrator registrará as informações sobre os registros de entrada com falha para fins informativos e de depuração. Para obter mais detalhes, consulte Progresso do Migrador de Log em Usando o Oracle NoSQL Data Migrator.

hasHeader

  • Finalidade: Especifica se o arquivo CSV tem um cabeçalho ou não. Se for definido como true, a primeira linha será ignorada. Se for definido como false, a primeira linha será considerada um registro CSV. O valor padrão é false.

  • Tipo de Dados: Booliano
  • Obrigatório (S/N): N
  • Exemplo: "hasHeader" : "false"

colunas

  • Finalidade: Especifica a lista de nomes de coluna da tabela NoSQL Database. A ordem dos nomes das colunas indica o mapeamento dos campos do arquivo CSV com as colunas da tabela NoSQL Database correspondentes. Se a ordem das colunas do arquivo CSV de entrada não corresponder às colunas da tabela NoSQL Database existentes ou recém-criadas, você poderá mapear a ordenação usando esse parâmetro. Além disso, ao importar para uma tabela que tenha uma Coluna de Identidade, você pode ignorar o nome da coluna de Identidade no parâmetro columns.

    Observação:

    • Se a tabela NoSQL Database tiver colunas adicionais que não estão disponíveis no arquivo CSV, os valores das colunas ausentes serão atualizados com o valor padrão, conforme definido na tabela NoSQL Database. Se um valor padrão não for fornecido, um valor Nulo será inserido durante a migração. Para obter mais informações sobre valores padrão, consulte a seção Data Type Definitions no SQL Reference Guide.
    • Se o arquivo CSV tiver colunas adicionais não definidas na tabela NoSQL Banco de Dados, as informações adicionais da coluna serão ignoradas.
    • Se algum valor no registro CSV estiver vazio, ele será definido como o valor padrão das colunas correspondentes na tabela NoSQL Database. Se um valor padrão não for fornecido, um valor Nulo será inserido durante a migração.
  • Tipo de Dados: Matriz de Strings
  • Obrigatório (S/N): N
  • Exemplo: "columns" : ["table_column_1", "table_column_2"]

csvOptions

  • Finalidade: Especifica as opções de formatação para um arquivo CSV. Forneça o formato de codificação do conjunto de caracteres do arquivo CSV e escolha se deseja ou não cortar os espaços em branco.

  • Tipo de Dados: Objeto
  • Obrigatório (S/N): N

csvOptions.encoding

  • Finalidade: Especifica o conjunto de caracteres para decodificar o arquivo CSV. O valor padrão é UTF-8. Os conjuntos de caracteres suportados são US-ASCII, ISO-8859-1, UTF-8, e UTF-16.

  • Tipo de Dados: String
  • Obrigatório (S/N): N
  • Exemplo: "encoding" : "UTF-8"

csvOptions.trim

  • Finalidade: Especifica se os espaços em branco à esquerda e à direita de um valor de campo CSV devem ser cortados. O valor padrão é false.

  • Tipo de Dados: Booliano
  • Obrigatório (S/N): N
  • Exemplo: "trim" : "true"

Arquivo CSV no OCI Object Storage Bucket

O formato do arquivo de configuração para o arquivo CSV no bucket do OCI Object Storage como origem do NoSQL Database Migrator é mostrado abaixo. O arquivo CSV deve estar de acordo com o formato RFC4180.

Você pode migrar um arquivo CSV no bucket do OCI Object Storage especificando o nome do bucket no modelo de configuração de origem.

Um arquivo CSV de amostra no bucket do OCI Object Storage é o seguinte:
1,"Computer Science","San Francisco","2500"
2,"Bio-Technology","Los Angeles","1200"
3,"Journalism","Las Vegas","1500"
4,"Telecommunication","San Francisco","2500"

Observação:

Os tipos de sumidouros válidos para o tipo de origem do OCI Object Storage são nosqldb e nosqldb_cloud.

Modelo de Configuração de Origem

"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" : {         
     "encoding" : "<character set encoding>",
     "trim" : <true | false>
   }
 }

Parâmetros da Origem

Parâmetros de Configuração Comum

  • tipo

    Use "type" : "object_storage_oci"

  • formato

    Use "format" : "csv"

  • ponto final
    Exemplo:
    • ID da Região: "endpoint" : "us-ashburn-1"

    • Formato do URL: "endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"

  • namespace

    Exemplo: "namespace" : "my-namespace"

  • bucket

    Exemplo: "bucket" : "my-bucket"

    Observação:

    • O NoSQL Database Migrator importa todos os arquivos com a extensão .csv ou .CSV no sentido do objeto e os copia em uma única tabela na mesma ordem.
    • Os arquivos CSV devem conter apenas valores escalares. A importação de arquivos CSV contendo tipos complexos, como MAP, RECORD, ARRAY e JSON, não é suportada. A ferramenta NoSQL Database Migrator não verifica a exatidão dos dados no arquivo CSV de entrada. A ferramenta NoSQL Database Migrator suporta a importação de dados CSV que estão em conformidade com o formato RFC4180. Os arquivos CSV que contêm dados que não estão em conformidade com o padrão RFC4180 podem não ser copiados corretamente ou podem resultar em um erro. Se os dados de entrada estiverem corrompidos, a ferramenta NoSQL Database Migrator não fará parsing dos registros CSV. Se forem encontrados erros durante a migração, a ferramenta NoSQL Database Migrator registrará as informações sobre os registros de entrada com falha para fins informativos e de depuração. Para obter mais detalhes, consulte Progresso do Migrador de Log em Usando o Oracle NoSQL Data Migrator.

  • prefixo
    Exemplo:
    1. "prefix" : "my_table/Data/000000.csv" (migra apenas 000000.csv)
    2. "prefix" : "my_table/Data" (migra todos os objetos com o prefixo my_table/Data)
  • credenciais
    Exemplo:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"
  • credentialsProfile
    Exemplo:
    1. "credentialsProfile" : "DEFAULT"
    2. "credentialsProfile" : "ADMIN_USER"
  • useInstancePrincipal

    Exemplo: "useInstancePrincipal" : true

Parâmetros de Configuração Exclusivos

hasHeader

  • Finalidade: Especifica se o arquivo CSV tem um cabeçalho ou não. Se for definido como true, a primeira linha será ignorada. Se for definido como false, a primeira linha será considerada um registro CSV. O valor padrão é false.

  • Tipo de Dados: Booliano
  • Obrigatório (S/N): N
  • Exemplo: "hasHeader" : "false"

colunas

  • Finalidade: Especifica a lista de nomes de coluna da tabela NoSQL Database. A ordem dos nomes das colunas indica o mapeamento dos campos do arquivo CSV com as colunas da tabela NoSQL Database correspondentes. Se a ordem das colunas do arquivo CSV de entrada não corresponder às colunas da tabela NoSQL Database existentes ou recém-criadas, você poderá mapear a ordenação usando esse parâmetro. Além disso, ao importar para uma tabela que tenha uma Coluna de Identidade, você pode ignorar o nome da coluna de Identidade no parâmetro columns.

    Observação:

    • Se a tabela NoSQL Database tiver colunas adicionais que não estão disponíveis no arquivo CSV, os valores das colunas ausentes serão atualizados com o valor padrão, conforme definido na tabela NoSQL Database. Se um valor padrão não for fornecido, um valor Nulo será inserido durante a migração. Para obter mais informações sobre valores padrão, consulte a seção Data Type Definitions no SQL Reference Guide.
    • Se o arquivo CSV tiver colunas adicionais não definidas na tabela NoSQL Banco de Dados, as informações adicionais da coluna serão ignoradas.
    • Se algum valor no registro CSV estiver vazio, ele será definido como o valor padrão das colunas correspondentes na tabela NoSQL Database. Se um valor padrão não for fornecido, um valor Nulo será inserido durante a migração.
  • Tipo de Dados: Matriz de Strings
  • Obrigatório (S/N): N
  • Exemplo: "columns" : ["table_column_1", "table_column_2"]

csvOptions

  • Finalidade: Especifica as opções de formatação para um arquivo CSV. Forneça o formato de codificação do conjunto de caracteres do arquivo CSV e escolha se deseja ou não cortar os espaços em branco.

  • Tipo de Dados: Objeto
  • Obrigatório (S/N): N

csvOptions.encoding

  • Finalidade: Especifica o conjunto de caracteres para decodificar o arquivo CSV. O valor padrão é UTF-8. Os conjuntos de caracteres suportados são US-ASCII, ISO-8859-1, UTF-8, e UTF-16.

  • Tipo de Dados: String
  • Obrigatório (S/N): N
  • Exemplo: "encoding" : "UTF-8"

csvOptions.trim

  • Finalidade: Especifica se os espaços em branco à esquerda e à direita de um valor de campo CSV devem ser cortados. O valor padrão é false.

  • Tipo de Dados: Booliano
  • Obrigatório (S/N): N
  • Exemplo: "trim" : "true"

Modelos de Configuração de Receptor

Saiba mais sobre os formatos de arquivo de configuração do coletor para cada coletor válido e a finalidade de cada parâmetro de configuração.

Para o modelo de arquivo de configuração, consulte Arquivo de Configuração em Terminologia usada com o NoSQL Data Migrator.
Para obter detalhes sobre formatos de origem válidos para cada um dos coletores, consulte Modelos de Configuração de Origem.

Tópicos

Os tópicos a seguir descrevem os modelos de configuração do coletor referidos pelo Oracle NoSQL Database Migrator para copiar os dados de uma origem válida para o coletor fornecido.

Dissipador de Arquivos JSON

O formato do arquivo de configuração para Arquivo JSON como sumário do NoSQL Database Migrator é mostrado abaixo.

Modelo de Configuração do Dissipador

"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 do dissipador

Parâmetros de Configuração Comum

  • tipo

    Use "type" : "file"

  • formato

    Use "format" : "json"

  • chunkSize

    Exemplo: "chunkSize" : 40

    Observação:

    Esse parâmetro é aplicável SOMENTE quando o parâmetro useMultiFiles é definido como verdadeiro.

Parâmetros de Configuração Exclusivos

dataPath

  • Finalidade: Especifica o caminho absoluto para um arquivo no qual os dados de origem serão copiados no formato JSON.

    Se o arquivo não existir no caminho de dados especificado, o NoSQL Database Migrator o criará. Se ele existir, o NoSQL Database Migrator substituirá seu conteúdo pelos dados de origem.

    Certifique-se de que o diretório pai no caminho de dados seja válido para o arquivo especificado.

    Observação:

    Se o parâmetro useMultiFiles estiver definido como verdadeiro, especifique o caminho para um diretório; caso contrário, especifique o caminho para o arquivo.
  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo:
    • Com o parâmetro useMultiFiles definido como verdadeiro

      "dataPath" :"/home/user/data"

    • Com o parâmetro useMultiFiles não especificado ou definido como falso

      "dataPath" :"/home/user/sample.json"

schemaPath

  • Finalidade: Especifica o caminho absoluto para um arquivo para gravar informações do esquema da tabela fornecidas pela origem.

    Se esse valor não for definido, as informações do esquema de origem não serão migradas para o coletor. Se esse valor for especificado, o utilitário de migração gravará o esquema da tabela de origem no arquivo especificado aqui.

    As informações do esquema são gravadas como um comando DDL por linha neste arquivo. Se o arquivo não existir no caminho de dados especificado, o NoSQL Database Migrator o criará. Se ele já existir, o NoSQL Database Migrator substituirá seu conteúdo pelos dados de origem. Certifique-se de que o diretório pai no caminho de dados seja válido para o arquivo especificado.

  • Tipo de Dados: string
  • Obrigatório (S/N): N
  • Exemplo: "schemaPath" : "/home/user/schema_file"

bastante

  • Finalidade: Especifica se deve ou não embelezar a saída JSON para aumentar a legibilidade.

    Se não for especificado, o valor padrão será falso.

  • Tipo de dados: booliano
  • Obrigatório (S/N): N
  • Exemplo: "pretty" : true

useMultiFiles

  • Finalidade: Especifica se os dados da tabela NoSQL devem ou não ser divididos em vários arquivos ao migrar dados de origem para um arquivo.

    Se não for especificado, o valor padrão será falso.

    Se definido como verdadeiro, ao migrar dados de origem para um arquivo, os dados da tabela NoSQL serão divididos em vários arquivos menores. Por exemplo, <chunk>.json, em que chunk=000000, 000001, 000002 e assim por diante.

    dataPath
             |--000000.json
             |--000001.json
  • Tipo de dados: booliano
  • Obrigatório (S/N): N
  • Exemplo: "useMultiFiles" : true

Arquivo Parquet

O formato do arquivo de configuração do Arquivo Parquet como um sumário do NoSQL Database Migrator é mostrado abaixo.

Modelo de Configuração do Dissipador

"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 do dissipador

Parâmetros de Configuração Comum

Parâmetros de Configuração Exclusivos

dataPath

  • Finalidade: Especifica o caminho para um diretório para armazenar os dados da tabela NoSQL migrados. Verifique se o diretório já existe e tem permissões de leitura e gravação.

  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo: "dataPath" : "/home/user/migrator/my_table"

compactação

  • Finalidade: Especifica o tipo de compactação a ser usado para compactar os dados Parquet. Os valores válidos são SNAPPY, GZIP e NONE.

    Se não for especificado, o padrão será SNAPPY.

  • Tipo de Dados: string
  • Obrigatório (S/N): N
  • Exemplo: "compression" : "GZIP"

parquetOptions

  • Finalidade: Especifica as opções para selecionar os tipos lógicos Parquet para as colunas NoSQL ENUM, JSON e UUID.

    Se você não especificar esse parâmetro, o NoSQL Database Migrator gravará os dados das colunas ENUM, JSON e UUID como String.

  • Tipo de Dados: objeto
  • Obrigatório (S/N): N

parquetOptions.useLogicalJson

  • Finalidade: Especifica se os dados da coluna JSON NoSQL devem ou não ser gravados como tipo JSON lógico Parquet. Para obter mais informações, consulte Definições de Tipo Lógico de Parquet.

    Se não for especificado ou definido como falso, o NoSQL Database Migrator gravará os dados da coluna JSON NoSQL como String.

  • Tipo de dados: booliano
  • Obrigatório (S/N): N
  • Exemplo: "useLogicalJson" : true

parquetOptions.useLogicalEnum

  • Finalidade: Especifica se os dados da coluna ENUM NoSQL devem ou não ser gravados como tipo ENUM lógico Parquet. Para obter mais informações, consulte Definições de Tipo Lógico de Parquet.

    Se não for especificado ou definido como falso, o NoSQL Database Migrator gravará os dados da coluna ENUM NoSQL como String.

  • Tipo de dados: booliano
  • Obrigatório (S/N): N
  • Exemplo: "useLogicalEnum" : true

parquetOptions.useLogicalUUID

  • Finalidade: Especifica se os dados da coluna UUID NoSQL devem ou não ser gravados como tipo de UUID lógico Parquet. Para obter mais informações, consulte Definições de Tipo Lógico de Parquet.

    Se não for especificado ou definido como falso, o NoSQL Database Migrator gravará os dados da coluna UUID NoSQL como String.

  • Tipo de dados: booliano
  • Obrigatório (S/N): N
  • Exemplo: "useLogicalUUID" : true

parquetOptions.truncateDoubleSpecials

  • Finalidade: Especifica se os valores +Infinity, -Infinity e NaN serão truncados ou não.

    Por padrão, ele é definido como false. Se for definido como true,
    • Positive_Infinity é truncado para Double.MAX_VALUE.
    • NEGATIVE_INFINITY é truncado para -Double.MAX_VALUE.
    • NaN é truncado para 9.9999999999999990E307.
  • Tipo de dados: booliano
  • Obrigatório (S/N): N
  • Exemplo: "truncateDoubleSpecials" : true

Arquivo JSON no Bucket do OCI Object Storage

O formato do arquivo de configuração para arquivo JSON no bucket do OCI Object Storage como sumário do NoSQL Database Migrator é mostrado abaixo.

Observação:

Os tipos de origem válidos para o OCI Object Storage como coletor são nosqldb e nosqldb_cloud.

Modelo de Configuração do Dissipador

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

Parâmetros do dissipador

Parâmetros de Configuração Comum

  • tipo

    Use "type" : "object_storage_oci"

  • formato

    Use "format" : "json"

  • ponto final
    Exemplo:
    • ID da Região: "endpoint" : "us-ashburn-1"

    • Formato do URL: "endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"

  • namespace

    Exemplo: "namespace" : "my-namespace"

  • bucket

    Exemplo: "bucket" : "my-bucket"

  • prefixo

    O esquema é migrado para o arquivo <prefix>/Schema/schema.ddl e os dados de origem são migrados para os arquivos <prefix>/Data/<chunk>.json, em que chunk=000000.json, 000001.json e assim por diante.

    Exemplo:
    1. "prefix" : "my_export"
    2. "prefix" : "my_export/2021-04-05/"
  • chunkSize

    Exemplo: "chunkSize" : 40

  • credenciais
    Exemplo:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"
  • credentialsProfile
    Exemplo:
    1. "credentialsProfile" : "DEFAULT"
    2. "credentialsProfile" : "ADMIN_USER"
  • useInstancePrincipal

    Exemplo: "useInstancePrincipal" : true

  • useDelegationToken

    Exemplo: "useDelegationToken" : true

    Observação:

    A autenticação com token de delegação só é suportada quando o NoSQL Database Migrator está sendo executado de um Cloud Shell.

Parâmetro de Configuração Exclusivo

bastante

  • Finalidade: Especifica se deve ou não embelezar a saída JSON para aumentar a legibilidade.

    Se não for especificado, o valor padrão será falso.

  • Tipo de dados: booliano
  • Obrigatório (S/N): N
  • Exemplo: "pretty" : true

Arquivo Parquet no Bucket do OCI Object Storage

O formato do arquivo de configuração para o arquivo Parquet no bucket do OCI Object Storage como um sumário do NoSQL Database Migrator é mostrado abaixo.

Observação:

Os tipos de origem válidos para o tipo de origem do OCI Object Storage são nosqldb e nosqldb_cloud.

Modelo de Configuração do Dissipador

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

Parâmetros do dissipador

Parâmetros de Configuração Comum

  • tipo

    Use "type" : "object_storage_oci"

  • formato

    Use "format" : "parquet"

  • ponto final
    Exemplo:
    • ID da Região: "endpoint" : "us-ashburn-1"

    • Formato do URL: "endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"

  • namespace

    Exemplo: "namespace" : "my-namespace"

  • bucket

    Exemplo: "bucket" : "my-bucket"

  • prefixo

    Os dados de origem são migrados para os arquivos <prefix>/Data/<chunk>.parquet, em que chunk=000000.parquet, 000001.parquet e assim por diante.

    Exemplo:
    1. "prefix" : "my_export"
    2. "prefix" : "my_export/2021-04-05/"
  • chunkSize

    Exemplo: "chunkSize" : 40

  • credenciais
    Exemplo:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"
  • credentialsProfile
    Exemplo:
    1. "credentialsProfile" : "DEFAULT"
    2. "credentialsProfile" : "ADMIN_USER"
  • useInstancePrincipal

    Exemplo: "useInstancePrincipal" : true

  • useDelegationToken

    Exemplo: "useDelegationToken" : true

    Observação:

    A autenticação com token de delegação só é suportada quando o NoSQL Database Migrator está sendo executado de um Cloud Shell.

Parâmetro de Configuração Exclusivo

compactação

  • Finalidade: Especifica o tipo de compactação a ser usado para compactar os dados Parquet. Os valores válidos são SNAPPY, GZIP e NONE.

    Se não for especificado, o padrão será SNAPPY.

  • Tipo de Dados: string
  • Obrigatório (S/N): N
  • Exemplo: "compression" : "GZIP"

parquetOptions

  • Finalidade: Especifica as opções para selecionar os tipos lógicos Parquet para as colunas NoSQL ENUM, JSON e UUID.

    Se você não especificar esse parâmetro, o NoSQL Database Migrator gravará os dados das colunas ENUM, JSON e UUID como String.

  • Tipo de Dados: objeto
  • Obrigatório (S/N): N

parquetOptions.useLogicalJson

  • Finalidade: Especifica se os dados da coluna JSON NoSQL devem ou não ser gravados como tipo JSON lógico Parquet. Para obter mais informações, consulte Definições de Tipo Lógico de Parquet.

    Se não for especificado ou definido como falso, o NoSQL Database Migrator gravará os dados da coluna JSON NoSQL como String.

  • Tipo de dados: booliano
  • Obrigatório (S/N): N
  • Exemplo: "useLogicalJson" : true

parquetOptions.useLogicalEnum

  • Finalidade: Especifica se os dados da coluna ENUM NoSQL devem ou não ser gravados como tipo ENUM lógico Parquet. Para obter mais informações, consulte Definições de Tipo Lógico de Parquet.

    Se não for especificado ou definido como falso, o NoSQL Database Migrator gravará os dados da coluna ENUM NoSQL como String.

  • Tipo de dados: booliano
  • Obrigatório (S/N): N
  • Exemplo: "useLogicalEnum" : true

parquetOptions.useLogicalUUID

  • Finalidade: Especifica se os dados da coluna UUID NoSQL devem ou não ser gravados como tipo de UUID lógico Parquet. Para obter mais informações, consulte Definições de Tipo Lógico de Parquet.

    Se não for especificado ou definido como falso, o NoSQL Database Migrator gravará os dados da coluna UUID NoSQL como String.

  • Tipo de dados: booliano
  • Obrigatório (S/N): N
  • Exemplo: "useLogicalUUID" : true

parquetOptions.truncateDoubleSpecials

  • Finalidade: Especifica se os valores +Infinity, -Infinity e NaN serão truncados ou não.

    Por padrão, ele é definido como false. Se for definido como true,
    • Positive_Infinity é truncado para Double.MAX_VALUE.
    • NEGATIVE_INFINITY é truncado para -Double.MAX_VALUE.
    • NaN é truncado para 9.9999999999999990E307.
  • Tipo de dados: booliano
  • Obrigatório (S/N): N
  • Exemplo: "truncateDoubleSpecials" : true

Oracle NoSQL Database

O formato do arquivo de configuração do Oracle NoSQL Database como um sumário do NoSQL Database Migrator é mostrado abaixo.

Modelo de Configuração do Dissipador

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

Parâmetros do dissipador

Parâmetro de Configuração Comum

  • tipo

    Use "type" : "nosqldb"

  • segurança

    Exemplo:

    "security" : "/home/user/client.credentials"

    Exemplo de conteúdo do arquivo de segurança para autenticação baseada em arquivo de senha:

    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)

    Exemplo de conteúdo do arquivo de segurança para autenticação baseada em wallet:

    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

    Exemplo: "requestTimeoutMs" : 5000

Parâmetro de Configuração Exclusivo

storeName

  • Finalidade: Nome do armazenamento do Oracle NoSQL Database.

  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo: "storeName" : "kvstore"

helperHosts

  • Finalidade: Uma lista de pares de porta de host e registro no formato hostname:port. Delimite cada item da lista usando uma vírgula. Especifique pelo menos um host auxiliar.

  • Tipo de Dados: matriz de strings
  • Obrigatório (S/N): S
  • Exemplo: "helperHosts" : ["localhost:5000","localhost:6000"]

tabela

  • Finalidade: Especifica o nome da tabela para armazenar os dados migrados.

    Formato: [namespace_name:]<table_name>

    Se a tabela estiver no namespace DEFAULT, você poderá omitir o namespace_name. A tabela deve existir no armazenamento durante a migração e seu esquema deve corresponder aos dados de origem.

    Se a tabela não estiver disponível no coletor, você poderá usar o parâmetro schemaInfo para instruir o NoSQL Database Migrator a criar a tabela no coletor.

  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo:
    • Com o namespace DEFAULT "table" :"mytable"

    • Com um namespace não padrão "table" : "mynamespace:mytable"

    • Para especificar uma tabela filho "table" : "mytable.child"

      Observação:

      Você pode migrar as tabelas filho de uma origem de dados válida para o Oracle NoSQL Database. O NoSQL Database Migrator copia apenas uma única tabela em cada execução. Certifique-se de que a tabela pai seja migrada antes da tabela filho.

includeTTL

  • Finalidade: Especifica se devem ou não incluir metadados TTL para linhas de tabela fornecidas pela origem ao importar tabelas do Oracle NoSQL Database.

    Se você não especificar esse parâmetro, o padrão será false. Nesse caso, o NoSQL Database Migrator não inclui metadados TTL para linhas de tabela fornecidas pela origem ao importar tabelas do Oracle NoSQL Database.

    Se definido como verdadeiro, a ferramenta NoSQL Database Migrator executará as seguintes verificações nos metadados TTL ao importar uma linha de tabela:
    • Se você importar uma linha que não tenha a definição _metadata, a ferramenta NoSQL Database Migrator definirá o TTL como 0, o que significa que a linha nunca expirará.
    • Se você importar uma linha que tenha a definição _metadata, a ferramenta NoSQL Database Migrator comparará o valor de TTL com um Horário de Referência quando uma linha for importada. Se a linha já tiver expirado em relação à hora de referência, ela será ignorada. Se a linha não tiver expirado, ela será importada juntamente com o valor TTL. Por padrão, o Horário de Referência da operação de importação é o horário atual em milissegundos, obtido de System.currentTimeMillis(), da máquina em que a ferramenta Migrador de Banco de Dados NoSQL está em execução. Mas você também pode definir um Horário de Referência personalizado usando o parâmetro de configuração ttlRelativeDate se quiser estender o tempo de expiração e importar linhas que, de outra forma, expirariam imediatamente.
      A fórmula para calcular o tempo de expiração de uma linha é a seguinte:
      expiration = (TTL value of source row in milliseconds - Reference Time in milliseconds)
      if (expiration <= 0) then it indicates that row has expired.

      Observação:

      Como os limites do Oracle NoSQL TTL estão em horas e dias, em alguns casos, o TTL da linha importada pode ser ajustado para a hora ou dia mais próximo. Por exemplo, considere uma linha que tenha o valor de expiração 1629709200000 (2021-08-23 09:00:00) e o valor do Horário de Referência seja 1629707962582 (2021-08-23 08:39:22). Aqui, embora a linha não tenha expirado em relação ao Horário de Referência quando esses dados são importados, o novo TTL para a linha é 1629712800000 (2021-08-23 10:00:00).
  • Tipo de dados: booliano
  • Obrigatório (S/N): N
  • Exemplo: "includeTTL" : true

ttlRelativeDate

  • Finalidade: Especifique uma data UTC no formato AAAA-MM-DD hh:mm:ss usado para definir a expiração TTL das linhas da tabela durante a importação para o Oracle NoSQL Database.

    Se uma linha da tabela nos dados que você está exportando tiver expirado, você poderá definir o parâmetro ttlRelativeDate como uma data antes do horário de expiração da linha da tabela nos dados exportados.

    Se você não especificar esse parâmetro, ele assumirá como padrão o horário atual em milissegundos, obtido de System.currentTimeMillis(), da máquina em que a ferramenta NoSQL Database Migrator está sendo executada.

  • Data Type: data
  • Obrigatório (S/N): N
  • Exemplo: "ttlRelativeDate" : "2021-01-03 04:31:17"

    Vamos considerar um cenário em que as linhas da tabela expiram após sete dias de 1o de janeiro de 2021. Depois de exportar essa tabela, em 7 de janeiro de 2021, você encontra um problema com sua tabela e decide importar os dados. As linhas da tabela expirarão em um dia (data de expiração dos dados menos o valor padrão do parâmetro de configuração ttlRelativedate, que é a data atual). Mas se você quiser estender a data de expiração das linhas da tabela para cinco dias, em vez de um dia, use o parâmetro ttlRelativeDate e escolha uma data anterior. Portanto, nesse cenário, se você quiser estender o tempo de expiração das linhas da tabela por cinco dias, defina o valor dos parâmetros de configuração ttlRelativeDate como 3-Jan-2021, que é usado como Tempo de Referência quando as linhas da tabela são importadas.

esquemainfo

  • Finalidade: Especifica o esquema dos dados que estão sendo migrados. Se isso não for especificado, o NoSQL Database Migrator assumirá que a tabela já existe no armazenamento do coletor.

  • Tipo de Dados: Objeto
  • Obrigatório (S/N): N

schemaInfo.schemaPath

  • Finalidade: Especifica o caminho absoluto para um arquivo que contém instruções DDL para a tabela NoSQL.

    O NoSQL Database Migrator executa os comandos DDL listados nesse arquivo antes de migrar os dados.

    O NoSQL Database Migrator não suporta mais de uma instrução DDL por linha no arquivo schemaPath.

  • Tipo de Dados: string

  • Obrigatório (S/N): N

    Observação:

    defaultSchema e schemaPath são mutuamente exclusivos.
  • Exemplo: "schemaPath" : "/home/user/schema_file"

schemaInfo.defaultSchema

  • Finalidade: A definição desse parâmetro como verdadeiro instrui o NoSQL Database Migrator a criar uma tabela com o esquema padrão. O esquema padrão é definido pelo próprio migrador. Para obter mais informações sobre definições de esquema padrão, consulte Esquema Padrão em Usando o Oracle NoSQL Data Migrator.

  • Tipo de dados: booliano

  • Obrigatório (S/N): N

    Observação:

    defaultSchema e schemaPath são mutuamente exclusivos.

schemaInfo.useSourceSchema

  • Finalidade: Especifica se o coletor usa ou não a definição de esquema de tabela fornecida pela origem ao migrar tabelas NoSQL.

  • Tipo de dados: booliano

  • Obrigatório (S/N): N

    Observação:

    Os parâmetros defaultSchema, schemaPath e useSourceSchema são mutuamente exclusivos. Especifique apenas um desses parâmetros.
  • Exemplo:
    • Com Esquema Padrão:
      "schemaInfo" : {
        "defaultSchema" : true
      }
    • Com um esquema predefinido:
      "schemaInfo" : {
       "schemaPath" : "<complete/path/to/the/schema/definition/file>"
      }
    • Com o esquema de origem:
      "schemaInfo" : {
        "useSourceSchema" : true
      }

schemaInfo.DDBPartitionKey

  • Finalidade: Especifica a chave de partição DynamoDB e o tipo correspondente do Oracle NoSQL Database a ser usado na tabela afundar do Oracle NoSQL Database. Essa chave será usada como uma chave de partição da tabela do BD NoSQL. Isso só é aplicável quando defaultSchema é definido como verdadeiro e o formato de origem é dynamodb_json. Consulte Mapeamento de tipos DynamoDB para tipos Oracle NoSQL para obter mais detalhes.
  • Obrigatório (S/N): S, se defaultSchema for verdadeiro e a origem for dynamodb_json.
  • Exemplo: "DDBPartitionKey" : "PersonID:INTEGER"

    Observação:

    Se a chave de partição contiver traço (-) ou ponto (.), o Migrador a substituirá por sublinhado (_), pois o nome da coluna NoSQL não suporta ponto e traço.

schemaInfo.DDBSortKey

  • Finalidade: Especifica a chave de classificação DynamoDB e seu tipo correspondente do Oracle NoSQL Database a ser usado na tabela do Oracle NoSQL Database de destino. Se a tabela DynamoDB importadora não tiver uma chave de classificação, esse atributo não deverá ser definido. Essa chave será usada como parte não fragmentada da chave primária na tabela do BD NoSQL. Isso só é aplicável quando defaultSchema é definido como verdadeiro e a origem é dynamodb_json. Consulte Mapeamento de tipos DynamoDB para tipos Oracle NoSQL para obter mais detalhes.
  • Obrigatório (S/N): N
  • Exemplo: "DDBSortKey" : "Skey:STRING"

    Observação:

    Se a chave de classificação contiver traço (-) ou ponto (.), o Migrador a substituirá por sublinhado (_), pois o nome da coluna NoSQL não suporta ponto e traço.

overwrite

  • Finalidade: Indica o comportamento do NoSQL Database Migrator quando o registro que está sendo migrado da origem já está presente no coletor.

    Se o valor for definido como falso, ao migrar tabelas, o NoSQL Database Migrator ignorará os registros para os quais a mesma chave primária já existe no coletor.

    Se o valor for definido como verdadeiro, ao migrar tabelas, o NoSQL Database Migrator substituirá os registros para os quais a mesma chave primária já existe no coletor.

    Se não for especificado, o padrão será verdadeiro.

  • Tipo de dados: booliano
  • Obrigatório (S/N): N
  • Exemplo: "overwrite" : false

Oracle NoSQL Database Cloud Service

O formato do arquivo de configuração do Oracle NoSQL Database Cloud Service como um sumário do NoSQL Database Migrator é mostrado abaixo.

Modelo de Configuração do Dissipador

"sink" : {
  "type" : "nosqldb_cloud",
  "endpoint" : "<Oracle NoSQL Cloud Service Endpoint>",
  "table" : "<table name>",
  "compartment" : "<OCI compartment name or id>",
  "includeTTL": <true|false>,
  "ttlRelativeDate" : "<date-to-use in UTC>",  
  "schemaInfo" : {
    "schemaPath" : "</path/to/a/schema/file>",
    "defaultSchema" : <true|false>,
    "useSourceSchema" : <true|false>,
    "DDBPartitionKey" : <"name:type">,
    "DDBSortKey" : "<name:type>",
    "onDemandThroughput" : <true|false>,
    "readUnits" : <table read units>,
    "writeUnits" : <table write units>,
    "storageSize" : <storage size in GB>
   },
  "credentials" : "</path/to/oci/credential/file>",
  "credentialsProfile" : "<profile name in oci config file>",
  "useInstancePrincipal" : <true|false>,
  "useDelegationToken" : <true|false>,
  "writeUnitsPercent" : <table writeunits percent>,
  "requestTimeoutMs" : <timeout in milli seconds>,
  "overwrite" : <true|false>
}

Parâmetros do dissipador

Parâmetros de Configuração Comum

  • tipo

    Use "type" : "nosqldb_cloud"

  • ponto final
    Exemplo:
    • ID da Região: "endpoint" : "us-ashburn-1"

    • Formato do URL: "endpoint" : "https://objectstorage.us-ashburn-1.oraclecloud.com"

  • credenciais
    Exemplo:
    1. "credentials" : "/home/user/.oci/config"
    2. "credentials" : "/home/user/security/config"
  • credentialsProfile
    Exemplo:
    1. "credentialsProfile" : "DEFAULT"
    2. "credentialsProfile" : "ADMIN_USER"
  • useInstancePrincipal

    Exemplo: "useInstancePrincipal" : true

  • useDelegationToken

    Exemplo: "useDelegationToken" : true

    Observação:

    A autenticação com token de delegação só é suportada quando o NoSQL Database Migrator está sendo executado de um Cloud Shell.
  • requestTimeoutMs

    Exemplo: "requestTimeoutMs" : 5000

Parâmetro de Configuração Exclusivo

tabela

  • Finalidade: Especifica o nome da tabela para armazenar os dados migrados.

    Certifique-se de que essa tabela exista no Oracle NoSQL Database Cloud Service. Caso contrário, você terá que usar o objeto schemaInfo na configuração do coletor para instruir o NoSQL Database Migrator a criar a tabela.

    O esquema desta tabela deve corresponder aos dados de origem.

  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo:
    • Para especificar uma tabela "table" : "mytable"
    • Para especificar uma tabela filho "table" : "mytable.child"

      Observação:

      Você pode migrar as tabelas filho de uma origem de dados válida para o Oracle NoSQL Database Cloud Service. O NoSQL Database Migrator copia apenas uma única tabela em cada execução. Certifique-se de que a tabela pai seja migrada antes da tabela filho.

compartimento

  • Finalidade: Especifica o nome ou o OCID do compartimento no qual a tabela reside.

    Se você não fornecer nenhum valor, o padrão será o compartimento root.

    Você pode encontrar o OCID do seu compartimento na janela Explorador de Compartimentos em Governança na Console do OCI Cloud.

  • Tipo de Dados: string
  • Obrigatório (S/N): S, se a tabela não estiver no compartimento raiz da tenancy OU quando o parâmetro useInstancePrincipal estiver definido como verdadeiro.

    Observação:

    Se o parâmetro useInstancePrincipal for definido como verdadeiro, o compartimento deverá especificar o OCID do compartimento e não o nome.
  • Exemplo:
    • Nome do compartimento

      "compartment" : "mycompartment"

    • Nome do compartimento qualificado com seu compartimento pai

      "compartment" : "parent.childcompartment"

    • Nenhum valor fornecido. O padrão é o compartimento raiz.

      "compartment": ""

    • OCID do compartimento

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

includeTTL

  • Finalidade: Especifica se devem ou não incluir metadados TTL para linhas de tabela fornecidas pela origem ao importar tabelas do Oracle NoSQL Database.

    Se você não especificar esse parâmetro, o padrão será false. Nesse caso, o NoSQL Database Migrator não inclui metadados TTL para linhas de tabela fornecidas pela origem ao importar tabelas do Oracle NoSQL Database.

    Se definido como verdadeiro, a ferramenta NoSQL Database Migrator executará as seguintes verificações nos metadados TTL ao importar uma linha de tabela:
    • Se você importar uma linha que não tenha a definição _metadata, a ferramenta NoSQL Database Migrator definirá o TTL como 0, o que significa que a linha nunca expirará.
    • Se você importar uma linha que tenha a definição _metadata, a ferramenta NoSQL Database Migrator comparará o valor de TTL com um Horário de Referência quando uma linha for importada. Se a linha já tiver expirado em relação à hora de referência, ela será ignorada. Se a linha não tiver expirado, ela será importada juntamente com o valor TTL. Por padrão, o Horário de Referência da operação de importação é o horário atual em milissegundos, obtido de System.currentTimeMillis(), da máquina em que a ferramenta Migrador de Banco de Dados NoSQL está em execução. Mas você também pode definir um Horário de Referência personalizado usando o parâmetro de configuração ttlRelativeDate se quiser estender o tempo de expiração e importar linhas que, de outra forma, expirariam imediatamente.
      A fórmula para calcular o tempo de expiração de uma linha é a seguinte:
      expiration = (TTL value of source row in milliseconds - Reference Time in milliseconds)
      if (expiration <= 0) then it indicates that row has expired.

      Observação:

      Como os limites do Oracle NoSQL TTL estão em horas e dias, em alguns casos, o TTL da linha importada pode ser ajustado para a hora ou dia mais próximo. Por exemplo, considere uma linha que tenha o valor de expiração 1629709200000 (2021-08-23 09:00:00) e o valor do Horário de Referência seja 1629707962582 (2021-08-23 08:39:22). Aqui, embora a linha não tenha expirado em relação ao Horário de Referência quando esses dados são importados, o novo TTL para a linha é 1629712800000 (2021-08-23 10:00:00).
  • Tipo de dados: booliano
  • Obrigatório (S/N): N
  • Exemplo: "includeTTL" : true

ttlRelativeDate

  • Finalidade: Especifique uma data UTC no formato AAAA-MM-DD hh:mm:ss usado para definir a expiração TTL das linhas da tabela durante a importação para o Oracle NoSQL Database.

    Se uma linha da tabela nos dados que você está exportando tiver expirado, você poderá definir o parâmetro ttlRelativeDate como uma data antes do horário de expiração da linha da tabela nos dados exportados.

    Se você não especificar esse parâmetro, ele assumirá como padrão o horário atual em milissegundos, obtido de System.currentTimeMillis(), da máquina em que a ferramenta NoSQL Database Migrator está sendo executada.

  • Data Type: data
  • Obrigatório (S/N): N
  • Exemplo: "ttlRelativeDate" : "2021-01-03 04:31:17"

    Vamos considerar um cenário em que as linhas da tabela expiram após sete dias de 1o de janeiro de 2021. Depois de exportar essa tabela, em 7 de janeiro de 2021, você encontra um problema com sua tabela e decide importar os dados. As linhas da tabela expirarão em um dia (data de expiração dos dados menos o valor padrão do parâmetro de configuração ttlRelativedate, que é a data atual). Mas se você quiser estender a data de expiração das linhas da tabela para cinco dias, em vez de um dia, use o parâmetro ttlRelativeDate e escolha uma data anterior. Portanto, nesse cenário, se você quiser estender o tempo de expiração das linhas da tabela por cinco dias, defina o valor dos parâmetros de configuração ttlRelativeDate como 3-Jan-2021, que é usado como Tempo de Referência quando as linhas da tabela são importadas.

schemaInfo

  • Finalidade: Especifica o esquema dos dados que estão sendo migrados.

    Se você não especificar esse parâmetro, o NoSQL Database Migrator assumirá que a tabela já existe no Oracle NoSQL Database Cloud Service.

    Se esse parâmetro não for especificado e a tabela não existir no coletor, a migração falhará.

  • Tipo de Dados: Objeto
  • Obrigatório (S/N): N

schemaInfo.schemaPath

  • Finalidade: Especifica o caminho absoluto para um arquivo que contém instruções DDL para a tabela NoSQL.

    O NoSQL Database Migrator executa os comandos DDL listados nesse arquivo antes de migrar os dados.

    O NoSQL Database Migrator não suporta mais de uma instrução DDL por linha no arquivo schemaPath.

  • Tipo de Dados: string

  • Obrigatório (S/N): N

    Observação:

    defaultSchema e schemaPath são mutuamente exclusivos.
  • Exemplo: "schemaPath" : "/home/user/schema_file"

schemaInfo.defaultSchema

  • Finalidade: A definição desse parâmetro como Sim instrui o NoSQL Database Migrator a criar uma tabela com esquema padrão. O esquema padrão é definido pelo próprio migrador. Para obter mais informações sobre definições de esquema padrão, consulte Esquema Padrão em Usando o Oracle NoSQL Data Migrator.

  • Tipo de dados: booliano

  • Obrigatório (S/N): N

    Observação:

    defaultSchema e schemaPath são mutuamente exclusivos.

schemaInfo.useSourceSchema

  • Finalidade: Especifica se o coletor usa ou não a definição de esquema de tabela fornecida pela origem ao migrar tabelas NoSQL.

  • Tipo de dados: booliano

  • Obrigatório (S/N): N

    Observação:

    Os parâmetros defaultSchema, schemaPath e useSourceSchema são mutuamente exclusivos. Especifique apenas um desses parâmetros.
  • Exemplo:
    • Com Esquema Padrão:
      "schemaInfo": {
        "defaultSchema": true,
        "readUnits": 100,
        "writeUnits": 60,
        "storageSize": 1
      }
    • Com um esquema predefinido:
      "schemaInfo": {
        "schemaPath": "<complete/path/to/the/schema/definition/file>",
        "readUnits": 100,
        "writeUnits": 100,
        "storageSize": 1
      }
    • Com o esquema de origem:
      "schemaInfo": {
        "useSourceSchema": true,
        "readUnits": 100,
        "writeUnits": 60,
        "storageSize": 1
      }

schemaInfo.DDBPartitionKey

  • Finalidade: Especifica a chave de partição DynamoDB e o tipo correspondente do Oracle NoSQL Database a ser usado na tabela afundar do Oracle NoSQL Database. Essa chave será usada como uma chave de partição da tabela do BD NoSQL. Isso só é aplicável quando defaultSchema é definido como verdadeiro e o formato de origem é dynamodb_json. Consulte Mapeamento de tipos DynamoDB para tipos Oracle NoSQL para obter mais detalhes.
  • Obrigatório (S/N): S, se defaultSchema for verdadeiro e a origem for dynamodb_json.
  • Exemplo: "DDBPartitionKey" : "PersonID:INTEGER"

    Observação:

    Se a chave de partição contiver traço (-) ou ponto (.), o Migrador a substituirá por sublinhado (_), pois o nome da coluna NoSQL não suporta ponto e traço.

schemaInfo.DDBSortKey

  • Finalidade: Especifica a chave de classificação DynamoDB e seu tipo correspondente do Oracle NoSQL Database a ser usado na tabela do Oracle NoSQL Database de destino. Se a tabela DynamoDB importadora não tiver uma chave de classificação, esse atributo não deverá ser definido. Essa chave será usada como parte não fragmentada da chave primária na tabela do BD NoSQL. Isso só é aplicável quando defaultSchema é definido como verdadeiro e a origem é dynamodb_json. Consulte Mapeamento de tipos DynamoDB para tipos Oracle NoSQL para obter mais detalhes.
  • Obrigatório (S/N): N
  • Exemplo: "DDBSortKey" : "Skey:STRING"

    Observação:

    Se a chave de classificação contiver traço (-) ou ponto (.), o Migrador a substituirá por sublinhado (_), pois o nome da coluna NoSQL não suporta ponto e traço.

schemaInfo.onDemandThroughput

  • Finalidade: Especifica criar a tabela com throughput de leitura e gravação sob demanda. Se esse parâmetro não estiver definido, a tabela será criada com capacidade provisionada.

    O valor padrão é false.

    Observação:

    Esse parâmetro não é aplicável a tabelas filho, pois elas compartilham o throughput da tabela pai de nível superior.
  • Tipo de dados: Booliano

  • Obrigatório (S/N): N

  • Exemplo: "onDemandThroughput" : "true"

schemaInfo.readUnits

  • Finalidade: Especifica o throughput de leitura da nova tabela.

    Observação:

    • Este parâmetro não é aplicável a tabelas provisionadas com capacidade sob demanda.
    • Esse parâmetro não é aplicável a tabelas filho, pois elas compartilham o throughput de leitura da tabela pai de nível superior.
  • Tipo de Dados: inteiro

  • Obrigatório (S/N): S, se a tabela não for uma tabela filha ou se o parâmetro schemaInfo.onDemandThroughput estiver definido como false, caso contrário, N.

  • Exemplo: "readUnits" : 100

schemaInfo.writeUnits

  • Finalidade: Especifica o throughput de gravação da nova tabela.

    Observação:

    • Este parâmetro não é aplicável a tabelas provisionadas com capacidade sob demanda.
    • Esse parâmetro não é aplicável a tabelas filho, pois elas compartilham o throughput de gravação da tabela pai de nível superior.
  • Tipo de Dados: inteiro

  • Obrigatório (S/N): S, se a tabela não for uma tabela filha ou se o parâmetro schemaInfo.onDemandThroughput estiver definido como false, caso contrário, N.

  • Exemplo: "writeUnits" : 100

schemaInfo.storageSize

  • Finalidade: Especifica o tamanho de armazenamento da nova tabela em GB.

    Observação:

    Esse parâmetro não é aplicável a tabelas filho, pois elas compartilham o tamanho de armazenamento da tabela pai de nível superior.
  • Tipo de Dados: inteiro

  • Obrigatório (S/N): S, se a tabela não for uma tabela filho, senão N.

  • Exemplo:
    • Com schemaPath

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

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

writeUnitsPercent

  • Finalidade: Especifica a Porcentagem de unidades de gravação da tabela a serem usadas durante a atividade de migração. O tempo necessário para migrar dados é diretamente proporcional a esse atributo.

    O valor padrão é 90. O intervalo válido é qualquer número inteiro entre 1 e 100.

    Consulte Diagnosticando e Solucionando Problemas do Oracle NoSQL Database Migrator para saber como usar esse atributo para melhorar a velocidade de migração de dados.

  • Tipo de Dados: inteiro
  • Obrigatório (S/N): N
  • Exemplo: "writeUnitsPercent" : 90

overwrite

  • Finalidade: Indica o comportamento do NoSQL Database Migrator quando o registro que está sendo migrado da origem já está presente no coletor.

    Se o valor for definido como falso, ao migrar tabelas, o NoSQL Database Migrator ignorará os registros para os quais a mesma chave primária já existe no coletor.

    Se o valor for definido como verdadeiro, ao migrar tabelas, o NoSQL Database Migrator substituirá os registros para os quais a mesma chave primária já existe no coletor.

    Se não for especificado, o padrão será verdadeiro.

  • Tipo de dados: booliano
  • Obrigatório (S/N): N
  • Exemplo: "overwrite" : false

Modelos de Configuração de Transformação

Este tópico explica os parâmetros de configuração das diferentes transformações suportadas pelo Oracle NoSQL Database Migrator. Para obter o modelo de arquivo de configuração completo, consulte Arquivo de Configuração em Terminologia usada com o NoSQL Data Migrator.

O Oracle NoSQL Database Migrator permite modificar os dados, ou seja, adicionar transformações de dados como parte da atividade de migração. Você pode definir várias transformações em uma única migração. Nesse caso, a ordem das transformações é vital porque os dados de origem passam por cada transformação na ordem dada. A saída de uma transformação se torna a entrada para a próxima no pipeline do migrador.

As diferentes transformações suportadas pelo Migrador de Dados NoSQL são:

Transformações da Tabela

Atributo de Configuração da Transformação Você pode usar essa transformação para...
ignoreFields Ignore as colunas identificadas da linha de origem antes de escrever na pia.
includeFields Inclua as colunas identificadas da linha de origem antes de gravar na pia.
renameFields Renomeie as colunas identificadas da linha de origem antes de escrever na pia.
aggregateFields Agregue várias colunas da origem em uma única coluna na pia. Como parte dessa transformação, você também pode identificar as colunas que deseja excluir na agregação. Esses campos serão ignorados da coluna agregada.

Você pode encontrar o modelo de configuração para cada transformação suportada abaixo.

ignoreFields

O formato do arquivo de configuração para a transformação ignoreFields é mostrado abaixo.

Modelo de Configuração de Transformação

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

Parâmetro de Transformação

ignoreFields

  • Finalidade: Uma matriz dos nomes de coluna a serem ignorados dos registros de origem.

    Observação:

    É possível fornecer somente campos de nível superior. As transformações não podem ser aplicadas aos dados nos campos aninhados.
  • Tipo de Dados: matriz de strings
  • Obrigatório (S/N): S
  • Exemplo: para ignorar as colunas denominadas "nome" e "endereço" do registro de origem:

    "ignoreFields" : ["name","address"]

includeFields

O formato do arquivo de configuração para a transformação includeFields é mostrado abaixo.

Modelo de Configuração de Transformação

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

Parâmetro de Transformação

includeFields

  • Finalidade: Uma matriz dos nomes de coluna a serem incluídos nos registros de origem. Ela apenas inclui os campos especificados na matriz; o restante dos campos é ignorado.

    Observação:

    A ferramenta NoSQL Database Migrator gerará um erro se você especificar um array vazio. Além disso, você pode especificar apenas os campos de nível superior. A ferramenta NoSQL Database Migrator não aplica transformações aos dados nos campos aninhados.
  • Tipo de Dados: matriz de strings
  • Obrigatório (S/N): S
  • Exemplo: para ignorar as colunas denominadas "idade" e "gênero" do registro de origem:

    "includeFields" : ["age","gender"]

renameFields

O formato do arquivo de configuração para a transformação renameFields é mostrado abaixo.

Modelo de Configuração de Transformação

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

Parâmetro de Transformação

renameFields

  • Finalidade: Pares de Chave/Valor dos nomes antigos e novos das colunas a serem renomeadas.

    Observação:

    É possível fornecer somente campos de nível superior. As transformações não podem ser aplicadas aos dados nos campos aninhados.
  • Tipo de Dados: Objeto JSON
  • Obrigatório (S/N): S
  • Exemplo: Para renomear a coluna chamada "residência" como "endereço" e a coluna chamada "_id" como "id":

    "renameFields" : { "residence" : "address", "_id" : "id" }

aggregateFields

O formato do arquivo de configuração para a transformação aggregateFields é mostrado abaixo.

Modelo de Configuração de Transformação

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

Parâmetro de Transformação

aggregateFields

  • Finalidade: Nome do campo agregado na pia.

  • Tipo de Dados: string
  • Obrigatório (S/N): S
  • Exemplo: Se o registro fornecido for:

    {
      "id" : 100,
      "name" : "john",
      "address" : "USA",
      "age" : 20
    }

    Se a transformação agregada for:

    "aggregateFields" : {
      "fieldName" : "document",
      "skipFields" : ["id"]
    }

    A coluna agregada na pia se parece com:

    {
      "id": 100,
      "document": {
        "name": "john",
        "address": "USA",
        "age": 20
      }
    }

Mapeamento de tipos DynamoDB para tipos Oracle NoSQL

A tabela abaixo mostra o mapeamento dos tipos DynamoDB para os tipos Oracle NoSQL.

Tabela - Mapeando o tipo DynamoDB para o tipo Oracle NoSQL

# Tipo DynamoDB Tipo JSON para a coluna JSON NoSQL Tipo Oracle NoSQL
1 String (S) String JSON STRING
2 Tipo de Número (N) Número JSON NÚMERO INTEIRO/LONGO/FLUTUANTE/DUPLO/NÚMERO
3 Booliano (BOOL) Booliano JSON BOOLEAN
4 Tipo binário (B) - Buffer de bytes String JSON codificada em BASE-64 BINARY
5 NULL JSON nulo NULL
6 Conjunto de Strings (SS) Array JSON de Strings ARRAY (STRING)
7 Conjunto de Números (NS) Array JSON de Números MATRIZ (INTEIRO/LONGO/FLUTUANTE/DUPLO/NÚMERO)
8 Conjunto Binário (BS) Matriz JSON de Strings codificadas em Base-64 ARRAY (BINÁRIO)
9 LISTA (L) Array de JSON ARRAY (JSON)
10 MAPA (M) Objeto JSON JSON
11 CHAVE DE PARTIÇÃO NA PRIMARY KEY e SHARD KEY
12 CHAVE DE CLASSIFICAÇÃO NA CHAVE PRINCIPAL
13 Nomes de atributo com traço e ponto Nomes de campos JSON com um sublinhado Nomes de colunas com sublinhado
Poucos pontos adicionais a serem considerados ao mapear tipos DynamoDB para tipos Oracle NoSQL:
  • DynamoDB Suporta apenas um tipo de dados para Números e pode ter até 38 dígitos de precisão, em contraste, o Oracle NoSQL suporta muitos tipos para escolher com base no intervalo e na precisão do data.You pode selecionar o tipo de Número apropriado que se adapte ao intervalo de seus dados de entrada. Se você não tiver certeza da natureza dos dados, o tipo NUMBER NoSQL poderá ser usado.
  • DynamoDB Suporta apenas um tipo de dados para Números e pode ter até 38 dígitos de precisão, em contraste, o Oracle NoSQL suporta muitos tipos para escolher com base no intervalo e na precisão do data.You pode selecionar o tipo de Número apropriado que se adapte ao intervalo de seus dados de entrada. Se você não tiver certeza da natureza dos dados, o tipo NUMBER NoSQL poderá ser usado.
  • A chave de partição em DynamoDB tem um limite de 2048 bytes, mas o Oracle NoSQL Cloud Service tem um limite de 64 bytes para a chave Primária/Chave de partição.
  • A chave de classificação em DynamoDB tem um limite de 1024 bytes, mas o Oracle NoSQL Cloud Service tem um limite de 64 bytes para a chave Primária.
  • Os nomes de atributo em DynamoDB podem ter 64 KB, mas os nomes de coluna do serviço Oracle NoSQL Cloud têm um limite de 64 caracteres.

Mapeamento do Tipo de Dados Oracle NoSQL para Parquet

Descreve o mapeamento dos tipos de dados do Oracle NoSQL para tipos de dados Parquet.

Tipo de NoSQL Tipo Parquet
BOOLEAN BOOLEAN
INTEGER INT32
LONG INT64
FLOAT DOUBLE
DOUBLE DOUBLE
BINARY BINARY
FIXED_BINARY BINARY
STRING BINÁRIO (STRING)
ENUM BINÁRIO (STRING)

ou

BINARY(ENUM), se o ENUM lógico estiver configurado

UUID BINÁRIO (STRING)

ou

FIXED_BINARY(16), se o UUID lógico estiver configurado

TIMESTAMP(p) INT64(TIMESTAMP(p))
NUMBER DOUBLE
field_name MATRIZ (T)
group field_name(LIST) {
  repeated group list {
      required T element
  }
}
field_name MAPA (T)
group field_name (MAP) {
    repeated group key_value (MAP_KEY_VALUE) {
       required binary key (STRING);
        required T value;
    }
}
field_name RECORD(K₁ T₁ N₁, Kٖ₂ T₂ N₂, ....)

em que:

K = Nome da chave

T = Tipo

N = Anulável ou não

group field_name {
    ni == true ? optional Ti ki : required Ti ki   
}
JSON BINÁRIO (STRING)

ou

BINARY(JSON), se o JSON lógico estiver configurado

Observação:

Quando o tipo de Número NoSQL é convertido para o tipo Parquet Duplo, pode haver alguma perda de precisão caso o valor não possa ser representado em Duplo. Se o número for muito grande para representar como Duplo, ele será convertido em Double.NEGATIVE_INFINITY ou Double.POSITIVE_INFINITY.

Mapeamento da tabela DynamoDB para a tabela Oracle NoSQL

Em DynamoDB, uma tabela é um conjunto de itens, e cada item é um conjunto de atributos. Cada item da tabela tem um identificador exclusivo ou uma chave primária. Além da chave primária, a tabela não tem esquema. Cada item pode ter seus próprios atributos distintos.

O DynamoDB suporta dois tipos diferentes de chaves primárias:
  • Chave de partição - Uma chave primária simples, composta de um atributo conhecido como chave de partição. DynamoDB usa o valor da chave de partição como entrada para uma função hash interna. A saída da função hash determina a partição na qual o item será armazenado.
  • Chave de partição e chave de classificação - Como uma chave primária composta, esse tipo de chave é composto de dois atributos. O primeiro atributo é a chave de partição e o segundo é a chave de classificação. DynamoDB usa o valor da chave de partição como entrada para uma função hash interna. A saída da função hash determina a partição na qual o item será armazenado. Todos os itens com o mesmo valor de chave de partição são armazenados juntos, em ordem classificada por valor de chave de classificação.

Por outro lado, as tabelas Oracle NoSQL suportam modelos de dados flexíveis com design sem esquema e esquema.

Há duas maneiras diferentes de modelar uma tabela DynamoDB:
  1. Modelando a tabela DynamoDB como um documento JSON (Recomendado): Nesta modelagem, você mapeia todos os atributos das tabelas do Dynamo DB para uma coluna JSON da tabela NoSQL, exceto a chave de partição e a chave de classificação. Você modelará a chave de partição e a chave de classificação como as colunas de Chave Primária da tabela NoSQL. Você usará a transformação AggregateFields para agregar dados de chave não primária em uma coluna JSON.

    Observação:

    O Migrator fornece uma configuração amigável defaultSchema para criar automaticamente uma tabela DDL sem esquema que também agrega atributos em uma coluna JSON.
  2. Modelando a tabela DynamoDB como colunas fixas na tabela NoSQL: Nesta modelagem, para cada atributo da tabela DynamoDB, você criará uma coluna na tabela NoSQL conforme especificado no Mapeamento de tipos DynamoDB para tipos Oracle NoSQL. Você modelará a chave de partição e classificará os atributos da chave como Chave(s) primária(s). Isso deve ser usado somente quando você tiver certeza de que a importação do esquema da tabela DynamoDB é fixa e cada item tem valores para a maioria dos atributos. Se os itens DynamoDB não tiverem atributos comuns, isso poderá resultar em muitas colunas NoSQL com valores vazios.

    Observação:

    É altamente recomendável usar tabelas sem esquema ao migrar dados de DynamoDB para o Oracle NoSQL Database devido à natureza das tabelas DynamoDB sem esquema. Isso é especialmente para tabelas grandes nas quais o conteúdo de cada registro pode não ser uniforme na tabela.

Diagnóstico e Solução de Problemas do Oracle NoSQL Database Migrator

Saiba mais sobre os desafios gerais que você pode enfrentar ao usar o , e como resolvê-los.

Falha na migração. Como posso resolver isto?

Uma falha na migração de dados pode ser causada por vários motivos subjacentes. As causas importantes estão listadas abaixo:

Tabela - Causas da Falha de Migração

Mensagem de Erro Definição Resolução
Failed to connect to Oracle NoSQL Database O migrador não pôde estabelecer uma conexão com o NoSQL Database.
  • Verifique se os valores dos atributos storeName e helperHosts no arquivo JSON de configuração são válidos e se os hosts podem ser acessados.
  • Para um armazenamento seguro, verifique se o arquivo de segurança é válido com os valores corretos de nome de usuário e senha.
Failed to connect to Oracle NoSQL Database Cloud Service O migrador não pôde estabelecer uma conexão com o Oracle NoSQL Database Cloud Service.
  • Verifique se o URL do ponto final ou o nome da região especificado no arquivo JSON de configuração está correto.
  • Verifique se o arquivo de credenciais do OCI está disponível no caminho especificado no arquivo JSON de configuração.
  • Certifique-se de que as credenciais do OCI fornecidas nas credenciais do OCI sejam válidas.
Table not found A tabela identificada para a migração não pôde ser localizada pelo NoSQL Database Migrator.

Para a origem:

  • Verifique se a tabela está presente no banco de dados de origem.
  • Certifique-se de que a tabela esteja qualificada com seu namespace no arquivo JSON de configuração, se a tabela for criada em um namespace não padrão.
  • Verifique se você tem a autorização de leitura/gravação necessária para acessar a tabela.
  • Se a origem for o Oracle NoSQL Database Cloud Service, verifique se o nome do compartimento válido está especificado no arquivo JSON de configuração e certifique-se de que você tenha a autorização necessária para acessar a tabela.

Para o pia:

  • Verifique se a tabela está presente no dissipador. Se ela não existir, crie a tabela manualmente ou use a configuração schemaInfo para criá-la por meio da migração.
DDL Execution failed Os comandos DDL fornecidos no arquivo de definição do esquema de entrada são inválidos.
  • Verifique a sintaxe dos comandos DDL no arquivo schemaPath.
  • Certifique-se de que haja apenas uma instrução DDL por linha no arquivo schemaPath.
failed to write record to the sink table with java.lang.IllegalArgumentException O registro de entrada não corresponde ao esquema de tabela do coletor.
  • Verifique se os tipos de dados e os nomes de coluna especificados na tabela coletora de destino correspondem ao esquema da tabela coletora.
  • Se você aplicou qualquer transformação, verifique se os registros transformados correspondem ao esquema da tabela de depósito.
Request timeout A operação da fonte ou pia não foi concluída no tempo esperado.
  • Verifique a conexão de rede.
  • Verifique se o NoSQL Database está ativo e em execução.
  • Tente aumentar o valor requestTimeout no arquivo JSON de configuração.

O que devo considerar antes de reiniciar uma migração com falha?

Quando uma tarefa de migração de dados falhar, o coletor estará em um estado intermediário contendo os dados importados até o ponto de falha. Você pode identificar os detalhes do erro e da falha nos logs e reiniciar a migração após diagnosticar e corrigir o erro. Uma migração reiniciada é iniciada novamente, processando todos os dados desde o início. Não há como fazer checkpoint e reiniciar a migração a partir do ponto de falha. Portanto, o NoSQL Database Migrator substitui qualquer registro que já tenha sido migrado para o coletor.

A migração é muito lenta. Como posso acelerá-lo?

O tempo necessário para a migração de dados depende de vários fatores, como volume de dados que estão sendo migrados, velocidade da rede e carga atual no banco de dados. No caso de um serviço de nuvem, a velocidade da migração também depende do throughput de leitura e do throughput de gravação provisionados. Assim, para melhorar a velocidade de migração, você pode:
  • Tente reduzir a carga de trabalho atual no Oracle NoSQL Database ao migrar os dados.
  • Certifique-se de que a máquina que está executando a migração, a origem e o sumidouro estejam localizados no mesmo data center e as latências de rede sejam mínimas.
  • No caso do Oracle NoSQL Database Cloud Service, provisione um alto throughput de leitura/gravação e verifique se o armazenamento alocado para a tabela é suficiente ou não. Se o NoSQL Database Migrator não estiver criando a tabela, você poderá aumentar o throughput de gravação. Se o migrador estiver criando a tabela, considere especificar um valor mais alto para o parâmetro schemaInfo.writeUnits na configuração do coletor. Depois que a migração de dados for concluída, você poderá reduzir esse valor. Esteja ciente dos limites diários nas alterações de throughput. Consulte Limites de Nuvem e Modelos de Configuração de Dissipação.

Tenho uma migração de longa duração envolvendo grandes conjuntos de dados. Como posso acompanhar o progresso da migração?

Você pode ativar o registro em log adicional para rastrear o andamento de uma migração de longa execução. Para controlar o comportamento de log do Oracle NoSQL Database Migrator, defina o nível desejado de log no arquivo logging.properties. Esse arquivo é fornecido com o pacote NoSQL Database Migrator e está disponível no diretório em que o Oracle NoSQL Database Migrator foi descompactado. Os diferentes níveis de registro em log são OFF, SEVERE, WARNING, INFO, FINE, e ALL na ordem de aumentar o nível de detalhamento. A definição do nível de log como OFF desativa todas as informações de log, enquanto a definição do nível de log como ALL fornece as informações completas do log. O nível de log padrão é WARNING. Toda a saída de log é configurada para ir para a console por padrão. Você pode ver comentários no arquivo logging.properties para saber sobre cada nível de log.