Conectando-se ao Netezza com AWS Schema Conversion Tool - AWS Schema Conversion Tool

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Conectando-se ao Netezza com AWS Schema Conversion Tool

Você pode usar AWS SCT para converter esquemas, objetos de código e código de aplicativo do Netezza para o Amazon Redshift.

Privilégios do Netezza como origem

Os privilégios obrigatórios para Netezza como origem são listados a seguir:

  • select on system.definition_schema.system view

  • select on system.definition_schema.system table

  • select on system.definition_schema.management table

  • lista em <database_name>

  • lista em <schema_name>

  • lista em <database_name>.all.table

  • lista em <database_name>.all.tabela externa

  • lista em <database_name>.all.view

  • lista em <database_name>.all.materialized view

  • lista em <database_name>.todo.procedimento

  • lista em <database_name>.all.sequence

  • lista em <database_name>.all.function

  • lista em <database_name>.all.aggregate

No exemplo anterior, substitua os espaços reservados conforme a seguir:

  • Substituir database_name com o nome do banco de dados de origem.

  • Substituir schema_name com o nome do esquema de origem.

AWS SCT requer acesso às seguintes tabelas e visualizações do sistema. Você pode conceder acesso a esses objetos em vez de conceder acesso à system.definition_schema.system view e system.definition_schema.system tables na lista anterior.

  • select on system.definition_schema._t_aggregate

  • select on system.definition_schema._t_class

  • select on system.definition_schema._t_constraint

  • select on system.definition_schema._t_const_relattr

  • select on system.definition_schema._t_database

  • select on system.definition_schema._t_grpobj_priv

  • select on system.definition_schema._t_grpusr

  • select on system.definition_schema._t_hist_config

  • select on system.definition_schema._t_object

  • select on system.definition_schema._t_object_classes

  • select on system.definition_schema._t_proc

  • select on system.definition_schema._t_type

  • select on system.definition_schema._t_user

  • select on system.definition_schema._t_usrobj_priv

  • select on system.definition_schema._vt_sequence

  • select on system.definition_schema._v_aggregate

  • select on system.definition_schema._v_constraint_depends

  • select on system.definition_schema._v_database

  • select on system.definition_schema._v_datatype

  • select on system.definition_schema._v_dslice

  • select on system.definition_schema._v_function

  • select on system.definition_schema._v_group

  • select on system.definition_schema._v_obj_relation

  • select on system.definition_schema._v_obj_relation_xdb

  • select on system.definition_schema._v_procedure

  • select on system.definition_schema._v_relation_column

  • select on system.definition_schema._v_relation_keydata

  • select on system.definition_schema._v_relobjclasses

  • select on system.definition_schema._v_schema_xdb

  • select on system.definition_schema._v_sequence

  • select on system.definition_schema._v_synonym

  • select on system.definition_schema._v_system_info

  • select on system.definition_schema._v_sys_constraint

  • select on system.definition_schema._v_sys_object_dslice_info

  • select on system.definition_schema._v_sys_user

  • select on system.definition_schema._v_table

  • select on system.definition_schema._v_table_constraint

  • select on system.definition_schema._v_table_dist_map

  • select on system.definition_schema._v_table_organize_column

  • select on system.definition_schema._v_table_storage_stat

  • select on system.definition_schema._v_user

  • select on system.definition_schema._v_view

  • select on system.information_schema._v_relation_column

  • select on system.information_schema._v_table

  • select on $hist_column_access_*

Conectando-se ao Netezza como origem

Use o procedimento a seguir para conectar seu banco de dados de origem do Netezza com a AWS Schema Conversion Tool.

Para se conectar a um banco de dados de origem do Netezza
  1. No AWS Schema Conversion Tool, escolha Adicionar fonte.

  2. Escolha Netezza e, em seguida, escolha Avançar.

    A caixa de diálogo Adicionar origem é exibida.

  3. Em Nome da conexão, insira um nome para o banco de dados. A AWS SCT exibe esse nome na árvore no painel esquerdo.

  4. Use as credenciais do banco de dados AWS Secrets Manager ou insira-as manualmente:

    • Para usar as credenciais do banco de dados do Secrets Manager, use as instruções a seguir:

      1. Em Segredo da AWS , escolha o nome do seu segredo.

      2. Escolha Preencher para preencher automaticamente todos os valores na caixa de diálogo de conexão do banco de dados do Secrets Manager.

      Para obter informações sobre o uso de credenciais de banco de dados do Secrets Manager, consulte a Configurando AWS Secrets Manager no AWS Schema Conversion Tool.

    • Para inserir manualmente as informações de conexão do banco de dados do Netezza de origem, use as instruções a seguir:

      Parâmetro Ação
      Nome do servidor

      Insira o nome do Sistema de Nomes de Domínio (DNS) ou o endereço IP do seu servidor de banco de dados de origem.

      Porta do servidor

      Digite a porta usada para se conectar ao servidor de banco de dados de origem.

      Nome de usuário e Senha

      Insira as credenciais do banco de dados para se conectar ao seu servidor de banco de dados de origem.

      AWS SCT usa a senha para se conectar ao seu banco de dados de origem somente quando você escolhe se conectar ao seu banco de dados em um projeto. Para proteger-se contra a exposição da senha do banco de dados de origem, a AWS SCT não armazena a senha por padrão. Se fechar o projeto da AWS SCT e abri-lo novamente, você será solicitado a informar a senha para se conectar ao banco de dados de origem, conforme necessário.

      Armazenar senha

      AWS SCT cria um cofre seguro para armazenar SSL certificados e senhas de bancos de dados. Ao habilitar essa opção, você pode armazenar a senha do banco de dados e se conectar rapidamente a ele sem a necessidade de informar a senha.

      Caminho do driver Netezza

      Digite o caminho para o driver a ser usado para a conexão com o banco de dados de origem. Para obter mais informações, consulte Instalando JDBC drivers para AWS Schema Conversion Tool.

      Se você armazenar o caminho do driver nas configurações globais do projeto, o caminho do driver não aparecerá na caixa de diálogo de conexão. Para obter mais informações, consulte Armazenamento de caminhos do driver nas configurações globais.

  5. Escolha Testar conexão para verificar se AWS SCT pode se conectar ao seu banco de dados de origem.

  6. Escolha Conectar para se conectar ao banco de dados de origem.

Como configurar a replicação contínua de dados

Depois de converter seus esquemas de banco de dados Netezza e aplicá-los ao seu banco de dados do Amazon Redshift, você pode migrar dados com agentes de extração de dados. AWS SCT O agente extrai seus dados e os carrega no bucket do Amazon S3. Em seguida, você pode usar AWS SCT para copiar os dados do Amazon S3 para o Amazon Redshift.

Se os dados em seu banco de dados de origem mudarem durante o processo de migração, você poderá capturar as alterações contínuas com seus agentes de extração de AWS SCT dados. Em seguida, você pode replicar essas alterações contínuas em seu banco de dados de destino depois de concluir a migração inicial de dados. Esse processo é chamado de replicação contínua de dados ou captura de dados alterados (CDC).

Para configurar a replicação contínua de dados para migrações do Netezza para o Amazon Redshift
  1. Em seu banco de dados de origem, crie um banco de dados de histórico. Você pode usar o exemplo de código a seguir na interface de linha de comando do Netezza ()CLI.

    nzhistcreatedb -d history_database_name -t query -v 1 -u load_user -o histdb_owner -p your_password

    No exemplo anterior, substitua history_database_name com o nome do seu banco de dados de histórico. Em seguida, substitua load_user com o nome do usuário que você definiu para carregar dados históricos no banco de dados. Em seguida, substitua histdb_owner com o nome do usuário que você definiu como proprietário do banco de dados de histórico. Verifique se você já criou esse usuário e concedeu a permissão CREATE DATABASE. Finalmente, substitua your_password com uma senha segura.

  2. Configure o registro do histórico. Para fazer isso, use o exemplo de código a seguir:

    CREATE HISTORY CONFIGURATION history_configuration_name HISTTYPE QUERY DATABASE history_database_name USER load_user PASSWORD your_password COLLECT PLAN, COLUMN LOADINTERVAL 1 LOADMINTHRESHOLD 0 LOADMAXTHRESHOLD 0 STORAGELIMIT 25 LOADRETRY 2 VERSION 1;

    No exemplo anterior, substitua history_configuration_name e history_database_name com os nomes de sua configuração de histórico e seu banco de dados de histórico. Em seguida, substitua load_user com o nome do usuário que você definiu para carregar dados históricos no banco de dados. Em seguida, substitua your_password com uma senha segura.

  3. Conceda permissões de leitura para todas as tabelas no banco de dados do histórico. Você pode usar o exemplo de código a seguir para conceder a permissão SELECT.

    GRANT SELECT ON history_database_name.ALL.TABLE TO your_user;

    No exemplo anterior, substitua history_database_name com o nome do seu banco de dados de histórico. Em seguida, substitua your_user com o nome do usuário com permissões mínimas para trabalhar com seu banco de dados Netezza. Você usa as credenciais desse usuário do banco de dados em AWS SCT.

  4. Colete estatísticas para cada tabela em seu esquema de origem para obter as informações sobre a cardinalidade das colunas. É possível usar o seguinte comando para gerar estatísticas em seu banco de dados de histórico.

    GENERATE STATISTICS on "schema_name"."table_name";

    No exemplo anterior, substitua schema_name e table_name com o nome do esquema e da tabela do seu banco de dados.

  5. Atenda aos pré-requisitos executando a seguinte consulta:

    SELECT COUNT(*) FROM history_database_name.history_schema_name."$hist_column_access_N";

    No exemplo anterior, substitua history_database_name e history_schema_name com o nome do seu histórico, banco de dados e esquema. Em seguida, substitua N com o número da versão do seu banco de dados de histórico. Para obter mais informações sobre as versões históricas do banco de dados, consulte a documentação do IBMNetezza.

  6. Instale seus agentes de extração de dados. Para obter mais informações, consulte Como instalar atendentes de extração.

    Certifique-se de que o parâmetro {working.folder} no arquivo settings.properties para todas as instâncias do extrator aponte para a mesma pasta. Nesse caso, seus extratores podem coordenar a CDC sessão e usar um único ponto de transação para todas as subtarefas.

  7. Registre seu agente de extração de dados. Para obter mais informações, consulte Registrando agentes de extração com o AWS Schema Conversion Tool.

  8. Crie sua CDC tarefa. Para obter mais informações, consulte Criando, executando e monitorando uma AWS SCT tarefa.

    1. Abra seu projeto em AWS SCT. No painel esquerdo, escolha sua tabela de origem. Abra o menu de contexto (clique com o botão direito do mouse) do objeto e escolha Criar tarefa local.

    2. Em Nome da tarefa, insira um nome descritivo para a tarefa de migração de dados.

    3. Para o Modo de migração, escolha Extrair, carregar e copiar.

    4. Selecione EnableCDC (Habilitar).

    5. Escolha a guia de CDCconfigurações e defina o escopo e o cronograma das CDC sessões.

    6. Selecione Testar tarefa para verificar se você pode se conectar à sua pasta de trabalho, bucket do Amazon S3 e data warehouse do Amazon Redshift.

    7. Escolha Criar para criar sua tarefa.

    8. Escolha a guia Tarefas, escolha sua tarefa na lista e escolha Iniciar.

  9. A AWS SCT tarefa mantém a consistência transacional no banco de dados de destino. O agente de extração de dados replica as transações da origem na ordem do ID da transação.

    Se você interromper qualquer uma das sessões de migração ou se ela falhar, o CDC processamento também será interrompido.

Configurações de conversão do Netezza para o Amazon Redshift

Para editar as configurações de conversão do Netezza para o Amazon Redshift, escolha Configurações em e, AWS SCT em seguida, escolha Configurações de conversão. Na lista superior, escolha Netezza e, em seguida, escolha Netezza — Amazon Redshift. AWS SCT exibe todas as configurações disponíveis para conversão de Netezza para Amazon Redshift.

As configurações AWS SCT de conversão do Netezza para o Amazon Redshift incluem opções para o seguinte:

  • Para limitar o número de comentários com itens de ação no código convertido.

    Em Adicionar comentários no código convertido para os itens de ação de severidade selecionada e superior, escolha a severidade dos itens de ação. AWS SCT adiciona comentários no código convertido para itens de ação da severidade selecionada e superior.

    Por exemplo, para minimizar o número de comentários em seu código convertido, escolha Somente erros. Para incluir comentários para todos os itens de ação em seu código convertido, escolha Todas as mensagens.

  • Para definir o número máximo de tabelas que AWS SCT podem ser aplicadas ao seu cluster de destino do Amazon Redshift.

    Em O número máximo de tabelas para o cluster de destino do Amazon Redshift, escolha o número de tabelas que AWS SCT podem ser aplicadas ao seu cluster do Amazon Redshift.

    O Amazon Redshift tem cotas que limitam as tabelas de uso para diferentes tipos de nós de cluster. Se você escolher Auto, AWS SCT determinará o número de tabelas a serem aplicadas ao seu cluster de destino do Amazon Redshift, dependendo do tipo de nó. Opcionalmente, escolha o valor manualmente. Para obter mais informações, consulte “Cotas e limites no Amazon Redshift” no Guia de gerenciamento de clusters do Amazon Redshift.

    AWS SCT converte todas as suas tabelas de origem, mesmo que isso seja mais do que o seu cluster do Amazon Redshift pode armazenar. AWS SCT armazena o código convertido em seu projeto e não o aplica ao banco de dados de destino. Se você atingir a cota de cluster do Amazon Redshift para as tabelas ao aplicar o código convertido, a AWS SCT exibirá uma mensagem de aviso. Além disso, AWS SCT aplica tabelas ao seu cluster de destino do Amazon Redshift até que o número de tabelas atinja o limite.

  • Para aplicar compactação às colunas da tabela do Amazon Redshift. Para fazer isso, selecione Usar codificação de compressão.

    AWS SCT atribui a codificação de compactação às colunas automaticamente usando o algoritmo padrão do Amazon Redshift. Para obter mais informações, consulte Codificações de compactação no Guia do desenvolvedor de banco de dados do Amazon Redshift.

    Por padrão, o Amazon Redshift não aplica compactação a colunas definidas como chaves de classificação e distribuição. É possível alterar esse comportamento e aplicar compactação a essas colunas. Para fazer isso, selecione Usar codificação de compactação para KEY colunas. Você pode selecionar essa opção somente ao selecionar a opção Usar codificação de compactação.

Configurações de otimização de conversão do Netezza para o Amazon Redshift

Para editar as configurações de otimização de conversão do Netezza para o Amazon Redshift, escolha Configurações em e, AWS SCT em seguida, escolha Configurações de conversão. Na lista superior, escolha Netezza e, em seguida, escolha Netezza: Amazon Redshift. No painel esquerdo, escolha Estratégias de otimização. AWS SCT exibe as configurações de otimização de conversão para a conversão do Netezza para o Amazon Redshift.

As configurações AWS SCT de otimização de conversão do Netezza para o Amazon Redshift incluem opções para o seguinte:

  • Para trabalhar com otimização automática de tabelas. Para fazer isso, selecione Usar o ajuste automático da tabela do Amazon Redshift.

    A otimização automática de tabelas é um processo de autoajuste no Amazon Redshift que otimiza automaticamente o design de tabelas. Para obter mais informações, consulte Como trabalhar com a otimização automática de tabelas no Guia do desenvolvedor do banco de dados Amazon Redshift.

    Para confiar somente na otimização automática da tabela, escolha Nenhuma para a Estratégia inicial de seleção de chave.

  • Para escolher chaves de classificação e distribuição usando sua estratégia.

    Você pode escolher chaves de classificação e distribuição usando metadados, informações estatísticas ou ambas as opções do Amazon Redshift. Para Estratégia inicial de seleção de chave na guia Estratégias de otimização, escolha uma das seguintes opções:

    • Use metadados, ignore informações estatísticas

    • Ignore metadados, use informações estatísticas

    • Use metadados e informações estatísticas

    Dependendo da opção escolhida, você pode selecionar estratégias de otimização. Em seguida, para cada estratégia, insira o valor (0-100). Esses valores definem o peso de cada estratégia. Usando esses valores de peso, a AWS SCT define como cada regra influencia na escolha das chaves de distribuição e classificação. Os valores padrão são baseados nas melhores práticas de AWS migração.

    Você pode definir o tamanho de tabelas pequenas para a estratégia Localizar tabelas pequenas. Em Contagem mínima de linhas da tabela e Contagem máxima de linhas da tabela, insira o número mínimo e máximo de linhas em uma tabela para defini-la como uma tabela pequena. AWS SCT aplica o estilo ALL de distribuição a tabelas pequenas. Nesse caso, uma cópia de toda a tabela é distribuída para cada nó.

  • Para configurar os detalhes da estratégia.

    Além de definir o peso de cada estratégia de otimização, você pode definir as configurações de otimização. Para fazer isso, escolha Otimização de conversões.

    • Em Limite de colunas da chave de classificação, insira o número máximo de colunas na chave de classificação.

    • Em Valor limite distorcido, insira a porcentagem (0—100) de um valor distorcido para uma coluna. AWS SCT exclui colunas com o valor de inclinação maior que o limite da lista de candidatos para a chave de distribuição. AWS SCT define o valor distorcido de uma coluna como a proporção percentual entre o número de ocorrências do valor mais comum e o número total de registros.

    • Para as N principais consultas da tabela do histórico de consultas, insira o número (1-100) das consultas usadas com mais frequência para análise.

    • Em Selecionar usuário de estatísticas, escolha o usuário do banco de dados para o qual você deseja analisar as estatísticas de consulta.

    Além disso, na guia Estratégias de otimização, você pode definir o tamanho das tabelas pequenas para a estratégia Localizar tabelas pequenas. Em Contagem mínima de linhas da tabela e Contagem máxima de linhas da tabela, insira o número mínimo e máximo de linhas em uma tabela para considerá-la como uma tabela pequena. AWS SCT aplica o estilo ALL de distribuição a tabelas pequenas. Nesse caso, uma cópia de toda a tabela é distribuída para cada nó.