Como mover, carregar e integrar dados muito grandes de forma barata e rápida? O que é otimização pushdown?

Qualquer operação com big data requer grande poder computacional. Uma transferência típica de dados de um banco de dados para o Hadoop pode levar semanas ou custar tanto quanto uma asa de avião. Não quer esperar e gastar? Equilibre a carga em diferentes plataformas. Uma maneira é a otimização pushdown.

Pedi a Aleksey Ananyev, um dos principais instrutores russos para o desenvolvimento e administração de produtos da Informatica, que falasse sobre o recurso de otimização pushdown no Informatica Big Data Management (BDM). Você já aprendeu a trabalhar com os produtos da Informatica? Muito provavelmente foi Aleksey quem contou a você os fundamentos do PowerCenter e explicou como criar mapeamentos.

Alexey Ananiev, chefe de treinamento do grupo DIS

O que é push-down?

Muitos de vocês já estão familiarizados com o Informatica Big Data Management (BDM). O produto é capaz de integrar big data de diferentes fontes, movê-lo entre diferentes sistemas, fornecer fácil acesso a ele, permitir que você crie um perfil e muito mais.
Nas mãos certas, o BDM pode fazer maravilhas: as tarefas serão concluídas rapidamente e com o mínimo de recursos de computação.

Você quer isso também? Aprenda a usar o recurso pushdown do BDM para distribuir a carga de trabalho de computação em diferentes plataformas. A tecnologia pushdown permite transformar o mapeamento em um script e escolher o ambiente em que esse script será executado. A possibilidade de tal escolha permite combinar os pontos fortes de diferentes plataformas e alcançar seu desempenho máximo.

Para configurar o ambiente de execução do script, é necessário selecionar o tipo pushdown. O script pode ser executado inteiramente no Hadoop ou parcialmente distribuído entre a origem e o destino. Existem 4 tipos de pushdown possíveis. O mapeamento não pode ser transformado em script (nativo). O mapeamento pode ser realizado tanto quanto possível na fonte (fonte) ou completamente na fonte (completo). O mapeamento também pode ser transformado em um script Hadoop (nenhum).

Otimização pushdown

Os 4 tipos listados podem ser combinados de diferentes maneiras - para otimizar o pushdown para as necessidades específicas do sistema. Por exemplo, geralmente é mais apropriado recuperar dados de um banco de dados usando seus próprios recursos. E para transformar os dados - pelas forças do Hadoop, para que o próprio banco de dados não fique sobrecarregado.

Vamos considerar o caso em que tanto a origem quanto o destino estão no banco de dados, podendo-se escolher a plataforma para executar as transformações: dependendo das configurações, será Informatica, o servidor de banco de dados ou Hadoop. Esse exemplo compreenderá com mais precisão o lado técnico da operação desse mecanismo. Naturalmente, na vida real, essa situação não ocorre, mas é mais adequada para demonstrar a funcionalidade.

Vamos fazer um mapeamento para ler duas tabelas em um único banco de dados Oracle. E deixe os resultados da leitura serem gravados em uma tabela no mesmo banco de dados. O esquema de mapeamento será assim:

Como mover, carregar e integrar dados muito grandes de forma barata e rápida? O que é otimização pushdown?

Na forma de mapeamento no Informatica BDM 10.2.1, fica assim:

Como mover, carregar e integrar dados muito grandes de forma barata e rápida? O que é otimização pushdown?

tipo pushdown - nativo

Se escolhermos o tipo pushdown nativo, o mapeamento será realizado no servidor Informatica. Os dados serão lidos do servidor Oracle, transferidos para o servidor Informatica, ali transformados e transferidos para o Hadoop. Em outras palavras, obteremos um processo ETL normal.

tipo pushdown-source

Ao escolher o tipo de fonte, temos a oportunidade de distribuir nosso processo entre o servidor de banco de dados (DB) e o Hadoop. Quando o processo for executado com esta configuração, serão enviadas consultas ao banco de dados para buscar dados nas tabelas. E o resto será feito como etapas no Hadoop.
O esquema de execução ficará assim:

Como mover, carregar e integrar dados muito grandes de forma barata e rápida? O que é otimização pushdown?

Abaixo está um exemplo de configuração do ambiente de tempo de execução.

Como mover, carregar e integrar dados muito grandes de forma barata e rápida? O que é otimização pushdown?

Neste caso, o mapeamento será realizado em duas etapas. Em suas configurações, veremos que ele se transformou em um script que será enviado para a fonte. Além disso, a junção de tabelas e transformação de dados será realizada na forma de uma consulta substituída na fonte.
Na figura abaixo, vemos o mapeamento otimizado no BDM e a consulta redefinida na fonte.

Como mover, carregar e integrar dados muito grandes de forma barata e rápida? O que é otimização pushdown?

A função do Hadoop nesta configuração será reduzida ao gerenciamento do fluxo de dados - orquestrando-os. O resultado da consulta será enviado ao Hadoop. Após a conclusão da leitura, o arquivo do Hadoop será gravado no receptor.

tipo pushdown - completo

Ao selecionar o tipo completo, o mapeamento se transformará completamente em uma consulta de banco de dados. E o resultado da consulta será enviado ao Hadoop. Um diagrama desse processo é apresentado a seguir.

Como mover, carregar e integrar dados muito grandes de forma barata e rápida? O que é otimização pushdown?

Um exemplo de configuração é mostrado abaixo.

Como mover, carregar e integrar dados muito grandes de forma barata e rápida? O que é otimização pushdown?

Como resultado, obteremos um mapeamento otimizado semelhante ao anterior. A única diferença é que toda a lógica é transferida para o receptor na forma de redefinir sua inserção. Um exemplo de um mapeamento otimizado é mostrado abaixo.

Como mover, carregar e integrar dados muito grandes de forma barata e rápida? O que é otimização pushdown?

Aqui, como no caso anterior, o Hadoop desempenha o papel de condutor. Mas aqui a fonte é lida em sua totalidade e, em seguida, a lógica de processamento de dados é executada no nível do receptor.

o tipo pushdown é nulo

Bem, a última opção é o tipo pushdown, dentro do qual nosso mapeamento se transformará em um script Hadoop.

O mapeamento otimizado ficará assim:

Como mover, carregar e integrar dados muito grandes de forma barata e rápida? O que é otimização pushdown?

Aqui, os dados dos arquivos de origem serão primeiro lidos pelo Hadoop. Então, por seus próprios meios, esses dois arquivos serão combinados. Depois disso, os dados serão convertidos e enviados para o banco de dados.

Compreendendo os princípios da otimização pushdown, você pode organizar muitos processos de trabalho com big data de maneira muito eficaz. Portanto, recentemente, uma grande empresa descarregou grandes dados do armazenamento no Hadoop em apenas algumas semanas, que já haviam sido coletados por vários anos.

Fonte: habr.com

Adicionar um comentário