O que é ETL?
ETL é um processo que extrai os dados de diferentes sistemas de origem, então os transforma (como aplicação de cálculos, concatenações, etc.) e, finalmente, carrega os dados no sistema de Data Warehouse. A forma completa de ETL é Extrair, Transformar e Carregar.
É tentador pensar que a criação de um data warehouse é simplesmente extrair dados de várias fontes e carregá-los no banco de dados de um data warehouse. Isso está longe de ser verdade e requer um processo ETL complexo. O processo de ETL requer contribuições ativas de várias partes interessadas, incluindo desenvolvedores, analistas, testadores, altos executivos e é tecnicamente desafiador.
A fim de manter seu valor como uma ferramenta para os tomadores de decisão, o sistema de data warehouse precisa mudar com as mudanças nos negócios. ETL é uma atividade recorrente (diária, semanal, mensal) de um sistema de Data warehouse e precisa ser ágil, automatizado e bem documentado.
Neste tutorial ETL, você aprenderá-
- O que é ETL?
- Por que você precisa do ETL?
- Processo ETL em Data Warehouses
- Etapa 1) Extração
- Etapa 2) Transformação
- Etapa 3) Carregando
- Ferramentas ETL
- Processo de ETL de práticas recomendadas
Por que você precisa do ETL?
Existem muitos motivos para adotar o ETL na organização:
- Ajuda as empresas a analisar seus dados de negócios para a tomada de decisões críticas de negócios.
- Os bancos de dados transacionais não podem responder a questões comerciais complexas que podem ser respondidas por exemplo de ETL.
- Um Data Warehouse fornece um repositório de dados comum
- ETL fornece um método de mover os dados de várias fontes para um data warehouse.
- Conforme as fontes de dados mudam, o Data Warehouse será atualizado automaticamente.
- Um sistema ETL bem projetado e documentado é quase essencial para o sucesso de um projeto de Data Warehouse.
- Permite a verificação das regras de transformação, agregação e cálculos de dados.
- O processo ETL permite a comparação de dados de amostra entre o sistema de origem e o sistema de destino.
- O processo ETL pode realizar transformações complexas e requer uma área extra para armazenar os dados.
- ETL ajuda a migrar dados para um data warehouse. Converta para os vários formatos e tipos para aderir a um sistema consistente.
- ETL é um processo predefinido para acessar e manipular dados de origem no banco de dados de destino.
- O ETL no data warehouse oferece um contexto histórico profundo para os negócios.
- Ajuda a melhorar a produtividade porque codifica e reutiliza sem a necessidade de habilidades técnicas.
Processo ETL em Data Warehouses
ETL é um processo de 3 etapas
Etapa 1) Extração
Nesta etapa da arquitetura ETL, os dados são extraídos do sistema de origem para a área de preparação. As transformações, se houver, são feitas na área de teste para que o desempenho do sistema de origem não seja degradado. Além disso, se os dados corrompidos forem copiados diretamente da origem para o banco de dados do Data warehouse, a reversão será um desafio. A área de teste oferece a oportunidade de validar os dados extraídos antes que eles sejam movidos para o data warehouse.
O data warehouse precisa integrar sistemas que possuem diferentes
SGBD, Hardware, Sistemas Operacionais e Protocolos de Comunicação. As fontes podem incluir aplicativos legados como mainframes, aplicativos personalizados, dispositivos de ponto de contato como ATM, switches de chamada, arquivos de texto, planilhas, ERP, dados de fornecedores, parceiros, entre outros.
Portanto, é necessário um mapa de dados lógico antes que os dados sejam extraídos e carregados fisicamente. Este mapa de dados descreve o relacionamento entre as fontes e os dados de destino.
Três métodos de extração de dados:
- Extração Completa
- Extração parcial - sem notificação de atualização.
- Extração parcial - com notificação de atualização
Independentemente do método usado, a extração não deve afetar o desempenho e o tempo de resposta dos sistemas de origem. Esses sistemas de origem são bancos de dados de produção ao vivo. Qualquer desaceleração ou bloqueio pode afetar os resultados financeiros da empresa.
Algumas validações são feitas durante a extração:
- Reconciliar registros com os dados de origem
- Certifique-se de que nenhum spam / dados indesejados foram carregados
- Verificação de tipo de dados
- Remova todos os tipos de dados duplicados / fragmentados
- Verifique se todas as chaves estão no lugar ou não
Etapa 2) Transformação
Os dados extraídos do servidor de origem são brutos e não podem ser usados em sua forma original. Portanto, ele precisa ser limpo, mapeado e transformado. Na verdade, esta é a etapa principal em que o processo de ETL agrega valor e altera os dados de forma que relatórios de BI perspicazes possam ser gerados.
É um dos conceitos ETL importantes onde você aplica um conjunto de funções nos dados extraídos. Os dados que não requerem nenhuma transformação são chamados de movimentação direta ou passagem pelos dados .
Na etapa de transformação, você pode executar operações personalizadas nos dados. Por exemplo, se o usuário deseja receita de soma de vendas que não está no banco de dados. Ou se o nome e o sobrenome em uma tabela estiverem em colunas diferentes. É possível concatená-los antes de carregar.
A seguir estão os problemas de integridade de dados:
- Ortografia diferente da mesma pessoa, como Jon, John, etc.
- Existem várias maneiras de denotar o nome da empresa, como Google, Google Inc.
- Uso de nomes diferentes, como Cleaveland, Cleveland.
- Pode ser que números de contas diferentes sejam gerados por vários aplicativos para o mesmo cliente.
- Em alguns dados, os arquivos necessários permanecem em branco
- Produto inválido coletado no POS, pois a entrada manual pode levar a erros.
As validações são feitas durante esta fase
- Filtragem - Selecione apenas algumas colunas para carregar
- Usando regras e tabelas de pesquisa para padronização de dados
- Conversão de conjunto de caracteres e manuseio de codificação
- Conversão de unidades de medida, como conversão de data e hora, conversões de moeda, conversões numéricas, etc.
- Verificação de validação de limite de dados. Por exemplo, a idade não pode ter mais de dois dígitos.
- Validação de fluxo de dados da área de preparação para as tabelas intermediárias.
- Os campos obrigatórios não devem ser deixados em branco.
- Limpeza (por exemplo, mapeamento de NULL para 0 ou Sexo Masculino para "M" e Feminino para "F" etc.)
- Divida uma coluna em várias e mesclando várias colunas em uma única coluna.
- Transpondo linhas e colunas,
- Use pesquisas para mesclar dados
- Usando qualquer validação de dados complexos (por exemplo, se as duas primeiras colunas em uma linha estiverem vazias, então ele rejeita automaticamente a linha do processamento)
Etapa 3) Carregando
Carregar dados no banco de dados datawarehouse de destino é a última etapa do processo ETL. Em um data warehouse típico, um grande volume de dados precisa ser carregado em um período relativamente curto (noites). Portanto, o processo de carregamento deve ser otimizado para desempenho.
Em caso de falha de carga, os mecanismos de recuperação devem ser configurados para reiniciar a partir do ponto de falha, sem perda de integridade de dados. Os administradores de data warehouse precisam monitorar, retomar e cancelar carregamentos de acordo com o desempenho do servidor em vigor.
Tipos de carregamento:
- Carga inicial - preenchendo todas as tabelas do Data Warehouse
- Carga incremental - aplicando mudanças em andamento conforme necessário periodicamente.
- Full Refresh - apagando o conteúdo de uma ou mais tabelas e recarregando com novos dados.
Verificação de carga
- Certifique-se de que os dados do campo-chave não estejam ausentes nem nulos.
- Teste as visualizações de modelagem com base nas tabelas de destino.
- Verifique os valores combinados e as medidas calculadas.
- Verificações de dados na tabela de dimensão, bem como na tabela de histórico.
- Verifique os relatórios de BI na tabela de fatos e dimensões carregada.
Ferramentas ETL
Existem muitas ferramentas de data warehouse disponíveis no mercado. Aqui, estão alguns dos mais proeminentes:
1. MarkLogic:
MarkLogic é uma solução de armazenamento de dados que torna a integração de dados mais fácil e rápida usando uma variedade de recursos corporativos. Ele pode consultar diferentes tipos de dados, como documentos, relacionamentos e metadados.
https://www.marklogic.com/product/getting-started/
2. Oracle:
Oracle é o banco de dados líder do setor. Ele oferece uma ampla variedade de opções de soluções de Data Warehouse, tanto no local quanto na nuvem. Ajuda a otimizar as experiências do cliente, aumentando a eficiência operacional.
https://www.oracle.com/index.html
3. Amazon RedShift:
Amazon Redshift é uma ferramenta Datawarehouse. É uma ferramenta simples e econômica para analisar todos os tipos de dados usando SQL padrão e ferramentas de BI existentes. Ele também permite a execução de consultas complexas em petabytes de dados estruturados.
https://aws.amazon.com/redshift/?nc2=h_m1
Aqui está uma lista completa de ferramentas úteis de data warehouse.
Processo de ETL de práticas recomendadas
A seguir estão as melhores práticas para as etapas do processo ETL:
Nunca tente limpar todos os dados:
Todas as organizações gostariam de ter todos os dados limpos, mas a maioria delas não está pronta para pagar para esperar ou não está pronta para esperar. Limpar tudo levaria muito tempo, por isso é melhor não tentar limpar todos os dados.
Nunca limpe nada:
Sempre planeje limpar algo porque o maior motivo para construir o Data Warehouse é oferecer dados mais limpos e confiáveis.
Determine o custo da limpeza dos dados:
Antes de limpar todos os dados sujos, é importante determinar o custo de limpeza de cada elemento de dados sujos.
Para acelerar o processamento da consulta, tenha visualizações e índices auxiliares:
Para reduzir os custos de armazenamento, armazene os dados resumidos em fitas de disco. Além disso, a compensação entre o volume de dados a serem armazenados e seu uso detalhado é necessária. Faça trade-off no nível de granularidade dos dados para diminuir os custos de armazenamento.
Resumo:
- ETL significa Extrair, Transformar e Carregar.
- ETL fornece um método de mover os dados de várias fontes para um data warehouse.
- Na primeira etapa de extração, os dados são extraídos do sistema de origem para a área de preparação.
- Na etapa de transformação, os dados extraídos da origem são limpos e transformados.
- Carregar dados no datawarehouse de destino é a última etapa do processo ETL.