Esta pesquisa deve fornecer um conteúdo atualizado sobre o tema acima. Não esqueça de incluir as  
referëncias (fontes) no último item, reforçando que não deve ser um Copy/Paste e sim uma síntese 
das pesquisas que fizer.


Conceito


ETL é uma sigla em inglês que significa Extract Transform Load, que traduzida para o português significa Extração, Transformação e Carga. O trabalho do ETL está ligado a extração de dados de fontes externas, transformação para atender às necessidades de negócios e carga dos dados dentro do Data Warehouse. O ETL pode ser realizado de uma ou mais bases de dados de origem para uma ou mais bases de dados de destino (Data Warehouse). A extração e carga são obrigatórias para o processo, sendo a transformação/limpeza opcional.

Funcionamento


Antes de iniciar um Projeto de ETL é necessário definir claramente quais dados vão alimentar o Data Warehouse, a estrutura deve ser desenhada fazendo uma relação dos dados que serão extraídos de vários sistemas e as informações que devem ser geradas a partir deste repositório. Analisar a viabilidade dos dados. Deve-se verificar os requisitos do negocio e as Políticas de Compliance e Segurança. O funcionamento do sistema ETL: 1º) Extração: Coletar os dados dos sistemas de origem (também chamados Data Sources ou sistemas operacionais), extraindo-os e transferindo-os para o ambiente de Data Warehouse, onde o sistema de ETL pode operar independente dos sistemas operacionais. 2º) Limpeza, Ajustes e Consolidação (chamado transformação): É nesta etapa que realizamos os devidos ajustes, podendo assim melhorar a qualidade dos dados e consolidar dados de duas ou mais fontes. O estágio de transformação aplica um série de regras ou funções aos dados extraídos para ajustar os dados a serem carregados. Algumas fontes de dados necessitarão de muito pouca manipulação de dados. Em outros casos, podem ser necessários trabalhar algumas transformações, como por exemplo, Junção de dados provenientes de diversas fontes, seleção de apenas determinadas colunas e Tradução de valores codificados (se o sistema de origem armazena 1 para sexo masculino e 2 para feminino, mas o data warehouse armazena M para masculino e F para feminino, por exemplo). 3º) Entrega ou Carga dos dados: Consiste em fisicamente estruturar e carregar os dados para dentro da camada de apresentação seguindo o modelo dimensional. Dependendo das necessidades da organização, este processo varia amplamente. Alguns data warehouses podem substituir as informações existentes semanalmente, com dados cumulativos e atualizados, ao passo que outro DW (ou até mesmo outras partes do mesmo DW) podem adicionar dados a cada hora. A latência e o alcance de reposição ou acréscimo constituem opções de projeto estratégicas que dependem do tempo disponível e das necessidades de negócios. 4º) A parte de Gerenciamento é composta por serviços para auxiliar no gerenciamento do DataWarehouse. Aqui nós temos tasks específicas para gerenciamento de jobs, planos de backup, verificação de itens de segurança e compliance.

O Ciclo de vida do Data Warehouse é composto por uma série de etapas. Inicia-se pelo planejamento do Programa ou Projeto, passamos pelo levantamento e definição dos requisitos de negócios e aí nos dividimos em 3 caminhos… Um seguindo a parte de Arquitetura e Design Técnico, Outro trabalhando a definição da Modelagem Dimensional, o Desenho físico e a parte de ETL, e um terceiro caminho que trata do planejamento e desenvolvimento da aplicação de BI, o front end propriamente dito.

Vantagens


Desenvolvimento das cargas: Desenvolver uma rotina de carga em uma ferramenta de ETL é muito mais fácil e rápido que codificá-la. Dependendo da facilidade da ferramenta é possível inclusive que usuários não técnicos a utilizem para cargas mais simples. Manutenção das cargas: As tarefas de manutenção de uma rotina de carga são mais fáceis de realizar em relação à manutenção de código. Desempenho: As ferramentas de ETL utilizam métodos mais performáticos para trabalhar com grandes volumes e normalmente conseguem extrair, transformar e carregar dados com mais velocidade e menos utilização de recursos. Isso inclui operações não logadas, gravações em bloco, etc. Execução em paralelo: Ferramentas de ETL possuem recursos de paralelização nativos e facilmente implementáveis. Escalabilidade: Ferramentas de ETL podem ser transferidas de servidor mais facilmente e até eventualemente distribuir sua carga entre vários servidores. Diversidade de conectores: A conexão de uma ferramenta de ETL com múltiplas fontes de dados é transparente. Caso apareça alguma fonte não trivial como o SAP, Mainframe, VSAM, etc é possível adquirir o conector sem a necessidade de codificar um. Separação entre funcionalidade e manipulação de dados: Uma ferramenta de ETL já possui suas funcionalidades disponíveis (Lookup, Merge, Split, Expressões calculadas, etc). Só é necessário concentrar-se em como fluir os dados dentro da carga e não codificar cada tarefa da carga. Reusabilidade: Uma carga normalmente pode ser reaproveitada dentro de outras cargas ou sobre a forma de um template Reinicialização: Ferramentas de ETL possuem a capacidade de reiniciar a carga de onde pararam sem a necessidade de codificar essa inteligência Manutenção de Metadados: Os metadados são gerados e mantidos automaticamente com a ferramenta evitando que problemas de conversão gerem dados não íntegros ao final do processo. A manutenção de metadados também evita ou alerta para alterações de esquema que invalidem a carga. Documentação: As ferramentas de ETL possuem mecanismos de documentação (quando não são autoexplicativas). Isso pode ser um diferencial significativo principalmente para equipes de alta rotatividade. Maior garantia da qualidade dos dados: Ferramentas de ETL podem disponibilizar meios para trabalhar a qualidade dos dados através de algoritmos complexos (lógica fuzzy, IA, etc). Auditoria & Tracking: É possível implementar recursos de auditoria e tracking para conhecer de onde veio o registro, que transformações sofreu e como foi carregado. Segurança: É possível tornar a segurança mais modular dividindo-se os papéis (criação de cargas, execução de cargas, agendamento, etc).

Motivos para utilização


Performace: mais rápido e eficiente que as tradicionais soluções de BI de base OLAP. Fluxo visual: Fluxo visual das cargas e dos processos de forma estruturada e lógica. Controle de cargas: Capacidade não apenas de fornecer o monitoramento do sucesso ou não das cargas, mas uns níveis de detalhe de quais problemas ocorreram, em que tabelas, quais registros duplicados ou rejeitados. Algumas delas fornecem modelos prontos para relatórios de operação de cargas. Tratamento de Flat Files: Possibilidade de mapear arquivos csv"s, txt"s, dbf"s etc...sem grandes esforços também é característico das ferramentas de ETL.

Exemplos de software


Microsoft SQL Server Integration Services. Talend Open Studio. CloverETL. GeoKettle ETL. Jaspersoft ETL. HPCC Systems.

Relação com BI


Referências bibliográficas


http://www.devmedia.com.br/extract-transformation-and-load-etl-ferramentas-bi/24408 http://corporate.canaltech.com.br/noticia/business-intelligence/entendendo-o-processo-de-etl-22850/ http://www.fsma.edu.br/si/Artigos/V2_Artigo1.pdf https://vivianeribeiro1.wordpress.com/2011/06/28/o-que-e-etl-2/ http://www.predictiveanalyticstoday.com/top-free-extract-transform-load-etl-software/ https://gustavomaiaaguiar.wordpress.com/2010/05/10/por-que-utilizar-uma-ferramenta-de-etl/