Processo ETL (extrair, transformar e carregar) em data warehouse

O que é ETL?

ETL é um processo que extrai os dados de diferentes sistemas de origem, depois transforma os dados (como aplicar cálculos, concatenações, etc.) e finalmente carrega os dados no sistema 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. Isto está longe de ser verdade e requer um processo ETL complexo. O processo ETL requer contribuições ativas de diversas partes interessadas, incluindo desenvolvedores, analistas, testadores, altos executivos e é tecnicamente desafiador.

Para manter o seu valor como 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, automatizada e bem documentada.

Por que você precisa de ETL?

Existem muitos motivos para adotar ETL na organização:

  • Ajuda as empresas a analisar seus dados de negócios para tomar decisões de negócios críticas.
  • Os bancos de dados transacionais não podem responder a questões de negócios complexas que podem ser respondidas pelo exemplo de ETL.
  • Um Data Warehouse fornece um repositório de dados comum
  • ETL fornece um método para mover os dados de várias fontes para um data warehouse.
  • À medida que 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.
  • Permitir verificação de 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 área extra para armazenar os dados.
  • ETL ajuda a migrar dados para um data warehouse. Converta para 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.
  • ETL em data warehouse oferece um contexto histórico profundo para o negócio.
  • Ajuda a melhorar a produtividade porque codifica e reutiliza sem necessidade de conhecimentos técnicos.

Processo ETL em data warehouses

ETL é um processo de 3 etapas

Processo ETL
Processo ETL

Passo 1) Extração

Nesta etapa da arquitetura ETL, os dados são extraídos do sistema de origem para a área de teste. 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 transferidos para o data warehouse.

O data warehouse precisa integrar sistemas que possuem diferentes

SGBD, Hardware, OperaSistemas de Tecnologia e Protocolos de Comunicação. As fontes podem incluir aplicativos legados como Mainframes, aplicativos personalizados, dispositivos de ponto de contato como ATM, centrais de chamadas, arquivos de texto, planilhas, ERP, dados de fornecedores, parceiros, entre outros.

Portanto, é necessário um mapa lógico de dados antes que os dados sejam extraídos e carregados fisicamente. Este mapa de dados descreve o relacionamento entre dados de origem e de destino.

Três métodos de extração de dados:

  1. Extração completa
  2. Extração parcial – sem notificação de atualização.
  3. Extração parcial – com notificação de atualização

Independentemente do método utilizado, 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 ativos. 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 sejam 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

Passo 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, precisa ser limpo, mapeado e transformado. Na verdade, esta é a etapa principal em que o processo ETL agrega valor e altera os dados de forma que relatórios de BI criteriosos possam ser gerados.

É um dos conceitos importantes de ETL onde você aplica um conjunto de funções nos dados extraídos. Dados que não requerem nenhuma transformação são chamados de movimento direto or passar por dados.

Na etapa de transformação, você pode realizar operações personalizadas nos dados. Por exemplo, se o usuário deseja a receita da soma das 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.

Problemas de integração de dados
Problemas de integração de dados

Seguem os dados Integrity Problemas:

  1. Ortografia diferente da mesma pessoa, como Jon, John, etc.
  2. Existem várias maneiras de denotar o nome da empresa, como Google, Google Inc.
  3. Uso de nomes diferentes como Cleaveland, Cleveland.
  4. Pode acontecer que números de contas diferentes sejam gerados por vários aplicativos para o mesmo cliente.
  5. Em alguns dados, os arquivos necessários permanecem em branco
  6. Produto inválido coletado no PDV, pois a entrada manual pode levar a erros.

As validações são feitas nesta fase

  • Filtragem – Selecione apenas determinadas colunas para carregar
  • Usando regras e tabelas de pesquisa para padronização de dados
  • Conversão de conjunto de caracteres e manipulação de codificação
  • Conversão de unidades de medidas, 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 do fluxo de dados da área de staging para as tabelas intermediárias.
  • Os campos obrigatórios não devem ser deixados em branco.
  • Limpeza (por exemplo, mapeando NULL para 0 ou Gênero Masculino para “M” e Feminino para “F” etc.)
  • Divida uma coluna em múltiplos e mescle várias colunas em uma única coluna.
  • Transpondo linhas e colunas,
  • Use pesquisas para mesclar dados
  • Usando qualquer validação de dados complexa (por exemplo, se as duas primeiras colunas de uma linha estiverem vazias, a linha será rejeitada automaticamente do processamento)

Etapa 3) Carregando

Carregar dados no banco de dados do 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 dos dados. Os administradores de data warehouse precisam monitorar, retomar e cancelar cargas de acordo com o desempenho predominante do servidor.

Tipos de carregamento:

  • Carga inicial — preenchendo todas as tabelas do Data Warehouse
  • Carga Incremental — aplicar alterações contínuas conforme necessário periodicamente.
  • Atualização completa —apagar o conteúdo de uma ou mais tabelas e recarregar com dados novos.

Verificação de carga

  • Certifique-se de que os dados do campo-chave não estejam ausentes nem sejam nulos.
  • Teste 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ões, bem como na tabela de histórico.
  • Verifique os relatórios de BI na tabela de fatos e dimensões carregada.

Ferramentas ETL

Há muitos Ferramentas ETL estão 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 empresariais. 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 soluções de data warehouse para locais e na nuvem. Ajuda a otimizar as experiências do cliente, aumentando a eficiência operacional.

https://www.oracle.com/index.html


3. Amazon VermelhoShift:

Amazon Redshift é uma ferramenta de Datawarehouse. É uma ferramenta simples e econômica para analisar todos os tipos de dados usando padrões SQL e ferramentas de BI existentes. Também permite executar consultas complexas em petabytes de dados estruturados.

https://aws.amazon.com/redshift/?nc2=h_m1

Aqui está uma lista completa de úteis Ferramentas de armazém de dados.

Melhor práticas processo ETL

A seguir estão as práticas recomendadas para as etapas do processo ETL:

Nunca tente limpar todos os dados:

Toda organização gostaria de ter todos os dados limpos, mas a maioria delas não está disposta a 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:

Planeje sempre 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 para cada elemento de dados sujos.

Para acelerar o processamento de consultas, tenha visualizações e índices auxiliares:

Para reduzir custos de armazenamento, armazene dados resumidos em fitas de disco. Além disso, é necessário equilibrar o volume de dados a serem armazenados e seu uso detalhado. 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 para mover os dados de várias fontes para um data warehouse.
  • Na extração da primeira etapa, 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 fonte são limpos e transformados.
  • Carregar dados no datawarehouse de destino é a última etapa do processo ETL.