Ir para conteúdo principal Pular para conteúdo complementar

Carregando segmentos de conjuntos de dados em paralelo

Durante o carregamento total, você pode acelerar o carregamento de grandes conjuntos de dados dividindo o conjunto de dados em segmentos, que serão carregados em paralelo. As tabelas podem ser divididas por intervalos de dados, todas as partições, todas as subpartições ou partições específicas.

Nota informativaSe você estiver usando o Data Movement gateway, esse recurso é compatível a partir da versão 2024.5.35.

Cada segmento do conjunto de dados é carregado usando uma subtarefa separada. Portanto, ao decidir como dividir um conjunto de dados, você deve sempre levar em conta a disponibilidade de recursos de banco de dados e rede. Dividir uma tabela em muitos segmentos pode impactar o desempenho do banco de dados e sobrecarregar a capacidade da rede. Se você escolher o método de segmentação Intervalos de dados com um conjunto de dados particionado, a melhor prática é configurar os intervalos de modo que cada intervalo cubra uma ou mais partições inteiras. Isso agilizará a recuperação de dados e minimizará o impacto sobre os recursos de processamento do banco de dados.

Origens e destinos de dados compatíveis

A tarefa de dados deve ser definida com uma combinação dos seguintes conectores de origem e destino de dados.

  • IBM DB2 for LUW
  • IBM DB2 for z/OS

    Nota informativa

    A segmentação de tabela por partições ou subpartições não é compatível com o conector de origem do IBM DB2 para z/OS.

  • Microsoft SQL Server (baseado em log)
  • MySQL
  • Oracle
  • PostgreSQL

    Nota informativa

    A segmentação de tabela por partições ou subpartições não é compatível com o conector de origem do PostgreSQL.

  • SAP (aplicativo)
    Nota informativa

    As tabelas com o ponto de extremidade de origem SAP (Aplicativo) são dependentes do cliente por padrão. A coluna MANDT é automaticamente retirada diretamente do conector.

  • SAP HANA (banco de dados)
  • Amazon Redshift
  • Amazon S3
  • Google Cloud BigQuery
  • Google Cloud Storage
  • Microsoft Fabric Data Warehouse
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • Snowflake

Configurando carga paralela

Você pode dividir uma tabela usando um destes dois métodos: Intervalos de dados ou Partições. O método Intervalos de dados divide a tabela por intervalos de dados, enquanto o método Partições divide a tabela de acordo com as partições.

Usando o método de intervalos de dados

Para definir os limites do segmento por intervalo de dados:

  1. Na guia Conjuntos de dados, clique nomenu à direita do conjunto de dados e selecione Configurações.

    O diálogo Carga paralela é aberto.

  2. Selecione o método de segmentação intervalos de dados .

  3. Clique em Selecionar colunas.

    O diálogo Colunas de segmentação de tabela é aberto

  4. Para todas as fontes de dados compatíveis, a coluna Índice exclusivo é selecionada automaticamente. Selecione quais colunas adicionais com dados você deseja usar para delinear os intervalos e clique em OK.

    Nota informativa
    • É recomendado usar colunas que não permitam NULLs e que não sejam atualizadas durante operações normais do banco de dados de origem (por exemplo, uma coluna de chave primária ou uma coluna de data com uma data fixa). Usar uma coluna que seja atualizada durante o carregamento total pode causar duplicatas no banco de dados de destino.

    • É recomendado usar colunas de origem indexadas, pois isso otimizará o desempenho da recuperação de dados.

    • Até dez colunas podem ser selecionadas

    • Registros com valores nulos não serão replicados

    • Os tipos de dados a seguir não podem ser usados para definir segmentos por intervalos: DOUBLE, FLOAT e LOB (BLOB, CLOB, NCLOB)

  5. Clique em Adicionar intervalo de dados para adicionar um segmento de intervalo de dados.

    O diálogo Adicionar intervalo de dados será aberto com as colunas selecionadas.

  6. Para cada coluna, insira o intervalo de dados superior do segmento.

    Nota informativa

    Os valores nas colunas DATE devem ser inseridos no formato compatível com a fonte. Por exemplo, para uma fonte Oracle, o formato correto seria o seguinte:

    • ALTER SESSION SET NLS_DATE_FORMAT:

      'YYYY-MM-DD HH24:MI:SS' (especificar somente YYYY-MM-DD também é válido)

    • ALTER SESSION SET NLS_TIMESTAMP_FORMAT:

      'YYYY-MM-DD HH24:MI:SS.FF9'

    • ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT:

      'YYYY-MM-DD HH24:MI:SS.FF9 TZH:TZM'

  7. Clique em OK para salvar suas configurações e fechar o diálogo.

    Cada uma das colunas selecionadas aparecerá com seu intervalo especificado.

  8. Repita as etapas 3 a 6 conforme necessário para adicionar colunas e intervalos de dados.
  9. Clique em Validar para validar se os dados inseridos correspondem ao tipo de dados da coluna de origem e se todos os segmentos definidos contêm valores.
Nota informativa

Com o método de segmentação Intervalos de dados, todos os dados da tabela serão replicados, mesmo que os intervalos de dados não estejam definidos para todas as colunas.

Para editar um intervalo de dados:

  1. Clique no menu no final da linha e selecione Editar.
  2. Edite o intervalo de dados conforme necessário e clique em OK para salvar as alterações.

Para excluir um intervalo de dados:

  1. Clique no menu no final da linha e selecione Excluir.
  2. Quando solicitado a confirmar a exclusão, clique em Excluir.

Exemplo de uso

Vamos supor que os seguintes segmentos estejam definidos:

Exemplo de tabela de dados
Column_1 Column_2 Column_3

10

30

105

20

20

120

100

12

99

Nesse caso, as cláusulas "WHERE" a seguir serão criadas para cada segmento de carga:

  • Segmento 1:((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105)))
  • Segmento 2:NOT ((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105))) AND ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 20) AND (COL2 = 20) AND (COL3 < 120)))
  • Segmento 3:NOT ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 30) AND (COL2 = 20) AND (COL3 < 120))) AND ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))
  • Segmento 4:NOT ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))

Usando o método de partições

Você pode definir limites de segmento por todas as partições da tabela, todas as subpartições da tabela (se a fonte de dados for compatível com subpartições) ou por partições específicas.

Nota informativa
  • Esse método só pode ser usado se o conjunto de dados já estiver particionado.
  • Se você tiver uma tarefa que existia antes do lançamento desse recurso e ainda não tiver iniciado a tarefa ou quiser recarregar uma ou mais tabelas em paralelo usando esse método, primeiro será necessário atualizar os metadados, conforme descrito em Registrando dados que já estão na plataforma de dados(O processo de atualização de metadados descrito neste tópico é o mesmo para todos os tipos de tarefa de dados).

Usando todas as partições

Para definir os limites do segmento por todas as partições ou subpartições da tabela:

  1. Na guia Conjuntos de dados, clique nomenu à direita do conjunto de dados e selecione Configurações.

    O diálogo Carga paralela é aberto.

  2. Selecione o método de segmentação Partições.

  3. Selecione um dos seguintes:

    • Usar todas as partições principais

    • Usar todas as subpartições

      Nota informativa

      Esta opção será desabilitada se a fonte de dados não for compatível com subpartições.

  4. Clique em OK.

Usando partições específicas

Para definir os limites do segmento por meio de partições específicas:

  1. Na guia Conjuntos de dados, clique nomenu à direita do conjunto de dados e selecione Configurações.

    O diálogo Carga paralela é aberto.

  2. Selecione o método de segmentação Partições.

  3. Selecione Especificar partições.

    Nota informativa

    Quando Especificar partições é selecionado, apenas as partições especificadas são replicadas.

  4. Clique em Adicionar partição.

    O diálogo Adicionar partição é aberto.

  5. Especifique o nome de uma partição ou subpartição existente.

    Se você estiver adicionando uma subpartição, marque a caixa de seleção Subpartição.

  6. Clique em OK para salvar suas configurações.
  7. Repita as etapas 4 a 6 conforme necessário para adicionar partições ou subpartições.

Para editar uma partição:

  1. Clique no menu no final da linha e selecione Editar.
  2. Edite as informações da partição conforme necessário e clique em OK para salvar suas alterações.

Para excluir uma partição:

  1. Clique no menu no final da linha e selecione Excluir.
  2. Quando solicitado a confirmar a exclusão, clique em Excluir.

Ajustando o número de segmentos que podem ser carregados em paralelo

Você pode aumentar ou diminuir o número de segmentos que serão carregados em paralelo. O valor é herdado do campo Carregamento total > Ajuste de desempenho > Número máximo de tabelas para carregar em paralelo nas configurações da tarefa de dados. O valor atual é exibido na string "Até <n> segmentos podem ser carregados em paralelo" no diálogo Carregamento paralelo. Aumentar o número pode melhorar o desempenho quando um conjunto de dados é dividido em muitos segmentos, mas também colocará uma pressão maior nos recursos do banco de dados e na capacidade da rede.

Nota informativaCada segmento é carregado usando uma subtarefa dedicada, portanto, por exemplo, se você selecionar a opção Usar todas as partições principais e o conjunto de dados de origem tiver 20 partições principais, aumentar o valor de Número máximo de tabelas a serem carregadas em paralelo para 15 resultará em 15 segmentos (partições) sendo carregados em paralelo. Quando as subtarefas concluírem sua execução, elas serão designadas para carregar as 5 partições restantes.

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!