O que é ETL (Extract-Transform-Load) ?

ETL é a abreviação em inglês para os termos Extrair, Transformar, Carga. ETL abrange um processo que trata os dados de uma base de informações (banco de dados, arquivos de texto, planilhas, entre outros) para alimentar um Data Warehouse.
ETL de forma resumida, é um conjunto de funções combinadas em uma ferramenta para extrair dados de um banco de dados e colocá-lo em outro banco de dados.
Extrair é o processo de leitura de dados a partir de um banco de dados.
Transformação é o processo de converter os dados extraídos a partir da sua forma anterior em uma forma a ser colocada em outro banco de dados. A transformação é realizada fazendo uso de regras ou tabelas de pesquisa ou combinação de dados.
Carga é o processo de escrever no banco de dados de destino.
ETL é usado para migrar dados de uma base de dados para outra, para formar data marts e data warehouses e também para converter bancos de dados de um formato ou tipo para outro.
O ETL engloba um processo de limpeza das informações, como um passo separado. A sequência seria então Extract-Clean-Transform-Load (Extrair, Limpar, Transformar, Carga). Vamos descrever brevemente as etapa do processo de ETL.
Processo
Extrair
O passo Extract (Extrair) abrange a extração de dados do sistema de origem, tornando esses dados acessíveis para o próximo passo. O objetivo principal da etapa de extração é recuperar todos os dados necessários do sistema de origem utilizando o mínimo de recursos.
O passo de extração deve ser projetado de uma maneira que ela não venha a afetar negativamente o sistema de origem dos dados em termos de desempenho, tempo de resposta ou qualquer tipo de bloqueio.
Existem várias maneiras de realizar a extração:
Atualização por notificação - se o sistema de origem dos dados é capaz de fornecer uma notificação de que um registro foi alterado e descrever a mudança, esta é a maneira mais fácil de obter os dados. Assim, é possível coletar apenas os dados atualizados e inserir ou atualizar somente o necessário.
Extração Incremental - alguns sistemas podem não ser capazes de fornecer notificação de que uma atualização ocorreu, mas eles são capazes de identificar quais registros foram modificados e fornecer extração de tais registros.
Extração integral - alguns sistemas não são capazes de identificar quais dados foram alterados, então extração completa é a única forma de obter os dados do sistema.
Limpar
O passo de limpeza é um dos mais importantes, uma vez que garante a qualidade dos dados no destino. A limpeza deve executar regras de unificação de dados básicos, tais como:
  • Fazendo identificadores únicos, como por exemplo as categorias (Sexo Masculino / Feminino / M / F / null, homem / mulher / Não Disponível) são convertidos para (Masculino / Mulher / Desconhecido).
  • Converter valores nulos em padronizado valor Não disponível / Não Fornecidos.
  • Converter números de telefone e códigos postais para uma forma padronizada.
Transformar
A etapa de transformar aplica um conjunto de regras para transformar os dados a partir da origem para o destino. Isto inclui a conversão de todos os dados para a mesma dimensão de modo que possam mais tarde ser unidos. A etapa de transformação também requer juntar dados de diversas fontes, gerando agregados, gerando chaves substitutas, derivando novos valores calculados, e aplicando a regras de validação avançadas.
Carga
Durante o passo de carga, é necessário assegurar que a carga é executada corretamente e com um mínimo possível de recursos. O alvo do processo de carga é muitas vezes um banco de dados. A fim de tornar o processo de carga eficiente, é útil desativar todas as restrições e índices antes da carga e ativa-los de volta apenas após a carga completa. A integridade referencial precisa ser mantida pela ferramenta de ETL para garantir a consistência.
Gerenciamento de Processo de ETL
O processo de ETL parece bastante simples. Tal como acontece com todas as aplicações, existe a possibilidade do processo de ETL falhar. Isto pode ser causado por falta de dados em um dos sistemas (origem ou destino), ou até mesmo uma interrupção de energia. Portanto, é necessário projetar a manutenção dos processo de ETL, para em caso de falha haver uma recuperação em mente.
Implementação de uma Ferramenta ETL
Quando você está prestes a usar uma ferramenta de ETL, existe uma decisão fundamental a ser feita: a empresa irá construir sua própria ferramenta de transformação de dados ou vai usar uma ferramenta existente?
Construir sua própria ferramenta de transformação de dados (geralmente um conjunto de scripts shell) é a abordagem preferida para um pequeno número de fontes de dados que residem no armazenamento do mesmo tipo. A razão para isso é que o esforço para implementar a transformação necessária é pequena devido à estrutura de dados. Além disso, esta abordagem reduz os custos de licenciamento e não há necessidade de treinar o pessoal em uma nova ferramenta. Esta abordagem, no entanto, é perigoso se as transformações se tornam mais sofisticadas ou durante o tempo que é necessário para integrar outros sistemas, a complexidade de um tal sistema de ETL aumenta, mas a capacidade de gestão cai significativamente. Da mesma forma, a implementação de sua própria ferramenta, muitas vezes se assemelha a reinventar a roda.
Existem muitas ferramentas de ETL no mercado. O principal benefício da utilização de ferramentas ETL é o fato de que eles são otimizados para o processo de ETL, fornecendo conectores para fontes de dados comuns, como bancos de dados, arquivos simples, sistemas de mainframe, XML, etc. Eles fornecem um meio para implementar transformações facilmente e de forma consistente em várias fontes de dados. Isso inclui a filtragem, a reformatação, classificação, fusão, agregação e outras operações prontas para usar. As ferramentas também suportam programação de transformação, controle de versão, acompanhamento e gerenciamento unificado de metadados. Algumas das ferramentas de ETL são integradas com ferramentas de BI.
Algumas das ferramentas de ETL bem conhecidos
As ferramentas comerciais pagas mais conhecidos são  IBM InfoSphere DataStage , Informatica ,Oracle Data Integrator e SAP Data Integrator .
Existem várias ferramentas de ETL de código aberto, entre outros Apatar , CloverETL , Pentaho e Talend .
Destacamos o Pentaho por que iremos utiliza-los em alguns tutoriais ETL.


























0 comentários:

Postar um comentário