O que é ETL (extract, transform, load)?

representação gráfica de data warehouse para db2 onde se pode usar um processo ETL extract transform load

O que é ETL?

ETL (extract, transform, load) é um processo de integração de dados que combina, limpa e organiza dados de diferentes fontes em um único repositório de dados armazenado em um data warehouse, data lake ou outro sistema de destino.

Os pipelines de dados ETL fornecem a base para a análise de dados e fluxos de trabalho de aprendizado de máquina. Por meio de uma série de business rules, o ETL limpa e organiza os dados para atender a necessidades específicas de business intelligence, como geração de relatórios mensais, mas também pode lidar com análise de dados mais avançada, que pode melhorar os processos de back-end e as experiências do usuário final. Os pipelines de ETL são frequentemente usados pelas organizações para:

  • Extrair dados de sistemas legados

  • Limpe os dados para melhorar a qualidade de dados e estabelecer consistência

  • Carregar dados em um banco de dados de destino

Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionados por especialistas e notícias sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Mixture of Experts | 12 de dezembro, episódio 85

Decodificando a IA: resumo semanal das notícias

Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

ETL versus ELT

A diferença mais óbvia entre o ETL e o ELT (extrair, carregar, transformar) é a diferença na ordem das operações. O ELT copia ou exporta os dados das localizações de origem, mas, em vez de carregá-los para uma área de preparação para transformação, carrega os dados brutos diretamente no armazenamento de dados de destino para serem transformados conforme a necessidade.

Embora ambos os processos aproveitem uma variedade de repositórios de dados, como bancos de dados, data warehouses e data lakes, cada processo tem suas vantagens e desvantagens. O ELT é útil para ingestão de conjuntos de dados não estruturados de alto volume, pois o carregamento pode ocorrer diretamente da fonte. O ELT pode ser mais ideal para gerenciamento de big data, pois não requer muito planejamento inicial para extração e armazenamento de dados.

O processo de ETL requer mais definição no início. Pontos de dados específicos precisam ser identificados para extração, juntamente com quaisquer "chaves" em potencial para integração em sistemas de origem díspares. A fonte dos dados de entrada geralmente é rastreada usando metadados. Mesmo após a conclusão desse trabalho, as business rules para transformações de dados precisam ser construídas. Esse trabalho geralmente pode ter dependências nos requisitos de dados para um determinado tipo de análise de dados, o que determinará o nível de sumarização que os dados precisam ter.

Embora os pipelines de ELT tenham se tornado cada vez mais populares com a adoção de cloud databases, a tecnologia de ELT ainda é um processo em desenvolvimento, o que significa que as melhores práticas ainda estão sendo estabelecidas.

Como funciona o ETL

A maneira mais fácil de entender como o ETL funciona é compreender o que acontece em cada etapa do processo.

Extrair

Durante a extração de dados, os dados brutos são copiados ou exportados das localizações de origem para uma área de preparação. As equipes de gerenciamento de dados podem extrair dados de diversas fontes diferentes, que podem ser estruturados ou não estruturados. Esses tipos de dados incluem, entre outros:

  • SQL servers ou servidores NoSQL
  • Sistemas CRM e ERP
  • JSON e XML
  • Bancos de dados de arquivos simples
  • E-mail
  • Páginas da web

Transformar

Na área de preparação, os dados brutos passam por processamento de dados. Aqui, os dados são transformados e consolidados para o caso de uso analítico pretendido. Essa fase do processo de transformação pode incluir:

  • Filtragem, limpeza, agregação, eliminação de duplicação, validação e autenticação dos dados.
  • Realização de cálculos, traduções ou sumarizações com base nos dados brutos. Isso pode incluir a alteração de cabeçalhos de linhas e colunas para consistência, a conversão de moedas ou outras unidades de medida, a edição de strings de texto e muito mais.
  • Realização de auditorias para garantir a qualidade e a conformidade dos dados e métricas de computação.
  • Remoção, criptografia ou proteção de dados regidos por reguladores setoriais ou governamentais.
  • Formatar os dados em tabelas ou tabelas unidas para corresponder ao esquema do armazém de dados de destino.

Carregar

Nessa última etapa, os dados transformados são migrados da área de preparação para um data warehouse de destino. Normalmente, isso envolve um carregamento inicial de todos os dados, seguida por carregamentos periódicos de mudanças incrementais nos dados e, menos frequentemente, atualizações completas para apagar e substituir os dados no warehouse. Para a maioria das organizações que utilizam o ETL, o processo é automatizado, bem definido, contínuo e orientado por lotes. Normalmente, o processo de carregar do ETL ocorre fora do horário de expediente, quando o tráfego nos sistemas de origem e no data warehouse é menor.

ETL e outros métodos de integração de dados

ETL e ELT são apenas dois métodos de integração de dados, e existem outras abordagens que também são usadas para facilitar os fluxos de trabalho de integração de dados. Alguns exemplos incluem:

  • A Change Data Capture (CDC) identifica e captura apenas os dados de origem que foram alterados e migra esses dados para o sistema de destino. A CDC pode ser usada para reduzir os recursos necessários durante a etapa de "extrair" do ETL; ela também pode ser usada de forma independente para migrar dados que foram transformados em um data lake ou outro repositório em tempo real.

  • A data replication copia as alterações nas fontes de dados em tempo real ou em lotes para um banco de dados central. A data replication é frequentemente listada como um método de integração de dados. Na verdade, ela é usado com mais frequência para criar backups para recuperação de desastres.

  • A virtualização de dados usa uma camada de abstração de software para criar uma visão unificada, integrada e totalmente utilizável dos dados, sem copiar, transformar ou carregar fisicamente os dados de origem em um sistema de destino. As funcionalidades de virtualização de dados permitem que uma organização crie data warehouses, data lakes e data marts virtuais a partir dos mesmos dados de origem para armazenamento de dados sem o custo e a complexidade de construir e gerenciar plataformas separadas para cada um. Embora a virtualização de dados possa ser usada em conjunto com o ETL, ela é cada vez mais vista como uma alternativa ao ETL e a outros métodos físicos de integração de dados.

  • A Stream Data Integration (SDI) é exatamente o que parece: consome continuamente fluxos de dados em tempo real, transforma-os e carrega-os em um sistema de destino para análise. A palavra-chave aqui é continuamente. Em vez de integrar instantâneos de dados extraídos de várias fontes em um determinado momento, a SDI integra dados constantemente à medida que eles se tornam disponíveis. A SDI permite um armazenamento de dados para potencializar a análise de dados, o aprendizado de máquina e as aplicações em tempo real para melhorar a experiência do cliente, a detecção de fraude e muito mais.

Os benefícios e desafios do ETL

As soluções de ETL melhoram a qualidade ao realizar a limpeza de dados antes de carregá-los em um repositório diferente. Uma operação em lote que consome tempo, o ETL é recomendado com mais frequência para criar repositórios de dados de destino menores que requerem atualizações menos frequentes, enquanto outros métodos de integração de dados, incluindo ELT (extrair, carregar, transformar), change data capture (CDC) e virtualização de dados, são usados para integrar volumes cada vez maiores de dados que são alterados ou fluxos de dados em tempo real.

Ferramentas ETL

No passado, as organizações escreviam seu próprio código de ETL. Agora, existem muitas ferramentas de ETL comerciais e de código aberto e serviços baseados em nuvem para você escolher. Os recursos típicos desses produtos incluem:

  • Automação abrangente e facilidade de uso: as principais ferramentas de ETL automatizam todo o fluxo de dados, desde as fontes de dados até o data warehouse de destino. Isso poupa os engenheiros de dados das tarefas tediosas de migrar e formatar dados, garantindo resultados mais rápidos e operações mais eficientes.

  • Uma interface visual de arrastar e soltar: essa funcionalidade pode ser usada para especificar regras e fluxos de dados.

  • Compatibilidade com gerenciamento de dados complexos: isso inclui assistência com cálculos complexos, integrações de dados e manipulações de strings.

  • Segurança e conformidade: as melhores ferramentas de ETL criptografam dados em movimento e em repouso e são certificadas em conformidade com as regulamentações governamentais ou do setor, incluindo HIPAA e GDPR.

Além disso, muitas ferramentas de ETL evoluíram para incluir o recurso de ELT e proporcionar compatibilidade com a integração de dados em tempo real e de streaming para aplicações de inteligência artificial (IA).

A evolução do ETL

As empresas geram dados desde a era do ábaco, mas a análise de dados moderna só se tornou possível com a chegada do computador digital e do armazenamento de dados.

Um grande passo à frente chegou na década de 1970, com uma mudança para bancos de dados centralizados maiores. Então, o ETL foi lançado como um processo para integração e carregamento de dados para computação e análise, tornando-se eventualmente o método principal para processar dados para projetos de data warehousing.

No final da década de 1980, os data warehouses e a migração de bancos de dados transacionais para bancos de dados relacionais, que armazenavam as informações em formatos de dados relacionais, ganharam popularidade. Os bancos de dados transacionais mais antigos armazenavam informações transação por transação, com informações duplicadas do cliente armazenadas em cada transação, de modo que não havia uma maneira fácil de acessar os dados do cliente de forma unificada ao longo do tempo. Com os bancos de dados relacionais, a análise de dados tornou-se a base do business intelligence (BI) e uma ferramenta importante para a tomada de decisão.

Até a chegada de software de ETL mais sofisticado, as primeiras tentativas eram, em grande parte, esforços manuais da equipe de TI para extrair dados de vários sistemas e conectores, transformar os dados em um formato comum e, em seguida, carregá-los em tabelas interconectadas. Ainda assim, as etapas iniciais do ETL valeram o esforço, pois algoritmos avançados , além da ascensão de redes neurais, produziram oportunidades cada vez mais profundas para insights analíticos.

A era do big data chegou na década de 1990, conforme a velocidade da computação e a capacidade de armazenamento continuavam crescendo rapidamente, com grandes volumes de dados sendo extraídos de novas fontes, como redes sociais e a Internet das Coisas (IoT). Mas continuou a haver um fator limitante, com dados frequentemente armazenados em data warehouses no local.

O próximo grande passo na computação e no ETL foi a computação em nuvem, que se tornou popular no final da década de 1990. Usando data warehouses como Amazon Web Services (AWS), Microsoft Azure e Snowflake, os dados agora podem ser acessados de todo o mundo e rapidamente escalados para permitir que as soluções de ETL forneçam insights detalhados notáveis e vantagens competitivas recém-descobertas.

A evolução mais recente são as soluções de ETL que usam dados de streaming para fornecer insights atualizados a partir de grandes quantidades de dados.

O futuro da integração — APIs usando EAI

As interfaces de programação de aplicativos (APIs) utilizando integração de aplicações empresariais (EAI) podem ser usadas no lugar do ETL para uma solução mais flexível e escalável que inclui integração de fluxos de trabalho. Embora o ETL ainda seja o principal recurso de integração de dados, o EAI é cada vez mais usado com APIs em cenários baseados na web.

Soluções relacionadas
IBM DataStage

Crie um pipeline de dados confiável com uma ferramenta ETL modernizada em uma plataforma de insights nativa da nuvem.

Descubra o DataStage
Soluções de integração de dados

Crie pipelines de dados resilientes, de alto desempenho e de baixo custo para suas iniciativas de IA generativa, análise de dados em tempo real, modernização de armazéns e necessidades operacionais com as soluções de integração de dados da IBM.

Conheça soluções de integração de dados
Serviços de consultoria de dados e análise de dados

Libere o valor dos dados empresariais com a IBM® Consulting, construindo uma organização orientada por insights, que proporciona vantagem comercial.

Conheça os serviços de análise de dados
Dê o próximo passo

Projete, desenvolva e execute tarefas que migram e transformam dados. Tenha poderosos recursos de integração automatizados em um ambiente híbrido ou multinuvem com o IBM DataStage, uma ferramenta de integração de dados líder do setor.

Explore o IBM DataStage Explore as soluções de integração de dados