O que é ETL?

Extrair, transformar e carregar (ETL) é o processo que as organizações orientadas a dados usam para coletar dados de várias fontes e reuni-los para dar suporte à descoberta, à geração de relatórios, à análise e à tomada de decisões.

As origens de dados podem ser muito diversas em tipo, formato, volume e confiabilidade, de modo que os dados precisam ser processados para serem úteis quando reunidos. Os armazenamentos de dados de destino podem ser bancos de dados, data warehouses ou data lakes, dependendo das metas e da implementação técnica.

As três etapas distintas do ETL

Extrair
Durante a extração, o ETL identifica os dados e os copia de suas origens, de forma que possa transportar os dados para o armazenamento de dados de destino. Os dados podem vir de fontes estruturadas e não estruturadas, incluindo documentos, emails, aplicações de negócios, bancos de dados, equipamentos, sensores, terceiros e muito mais.

Transformar
Como os dados extraídos são brutos em sua forma original, eles precisam ser mapeados e transformados para prepará-los para o armazenamento de dados eventual. No processo de transformação, o ETL valida, autentica, desduplica e/ou agrega os dados de formas que tornam os dados resultantes confiáveis e consultáveis.

Carregar
O ETL move os dados transformados para o armazenamento de dados de destino. Esta etapa pode implicar o carregamento inicial de todos os dados de origem ou pode ser o carregamento de alterações incrementais nos dados de origem. Você pode carregar os dados em tempo real ou em lotes programados.

ELT ou ETL: Qual é a diferença?

A etapa de transformação é de longe a mais complexa do processo ETL. Por conseguinte, a ETL e a ELT diferem em dois pontos principais:

  • Quando a transformação ocorre
  • O local da transformação

Em um data warehouse tradicional, os dados são extraídos primeiro de "sistemas de origem" (sistemas de ERP, sistemas de CRM etc.). As ferramentas OLAP e as consultas SQL dependem da padronização das dimensões dos conjuntos de dados para obter resultados agregados. Isso significa que os dados devem passar por uma série de transformações.

Tradicionalmente, essas transformações foram feitas antes que os dados fossem carregados no sistema de destino, normalmente um data warehouse relacional.

No entanto, à medida que as tecnologias subjacentes de armazenamento e processamento de dados que sustentam o armazenamento de dados evoluem, tornou-se possível efetuar transformações no sistema de destino. Os processos ETL e ELT envolvem áreas de preparação. No ETL, essas áreas são encontradas na ferramenta, sejam elas proprietárias ou personalizadas. Elas ficam entre o sistema de origem (por exemplo, um sistema CRM) e o sistema de destino (o data warehouse).

Por outro lado, com ELTs, a área de preparação está no data warehouse, e o mecanismo de banco de dados que alimenta o DBMS faz as transformações, em vez de uma ferramenta ETL. Portanto, uma das consequências imediatas dos ELTs é que você perde as funções de preparação e limpeza de dados que as ferramentas ETL fornecem para ajudar no processo de transformação de dados.

Data warehouses corporativos e de ETL

Tradicionalmente, as ferramentas para ETL eram usadas principalmente para entregar dados a data warehouses corporativos que suportam aplicações de BI (Business Intelligence). Esses data warehouses são projetados para representar uma fonte confiável de verdade sobre tudo o que está acontecendo em uma empresa em todas as atividades. Os dados nesses warehouses são cuidadosamente estruturados com esquemas, metadados e regras rígidos que controlam a validação de dados.

As ferramentas de ETL para data warehouses corporativos devem atender aos requisitos de integração de dados, como carregamentos em lote de alto volume e alto desempenho; processos de integração de fluxo lento e orientados a eventos; transformações programáveis; e orquestrações para que possam lidar com as transformações e fluxos de trabalho mais exigentes e tenham conectores para as mais diversas fontes de dados.

Após carregar os dados, você tem várias estratégias para mantê-los sincronizados entre os armazenamentos de dados de origem e de destino. É possível recarregar o conjunto de dados completo periodicamente, programar atualizações periódicas dos dados mais recentes ou confirmar para manter a sincronização total entre o data warehouse de origem e o de destino. Essa integração em tempo real é denominada captura de dados de alteração (CDC). Para esse processo avançado, as ferramentas ETL precisam entender a semântica de transação dos bancos de dados de origem e transmitir corretamente essas transações para o data warehouse de destino.

ETL e data marts

Os data marts são armazenamentos de dados de destino menores e mais focados do que os data warehouses corporativos. Eles podem, por exemplo, se concentrar em informações sobre um único departamento ou uma única linha de produtos. Por isso, os usuários de ferramentas ETL para data marts costumam ser especialistas em linha de negócios (LOB), analistas de dados e/ou cientistas de dados.

As ferramentas ETL para data marts devem ser usadas pelo pessoal de negócios e pelos gerentes de dados, em vez de por programadores e pela equipe de TI. Portanto, essas ferramentas devem ter um workflow visual para facilitar a configuração de pipelines ETL.

Saiba mais sobre design de fluxo de dados sem código

ETL ou ELT e data lakes

Os Data lakes seguem um padrão diferente dos data warehouses e data marts. Os data lakes geralmente armazenam seus dados no armazenamento de objetos ou nos HDFS (Hadoop Distributed File Systems), e portanto podem armazenar dados menos estruturados sem esquema; e oferecem suporte a várias ferramentas para consultar esses dados não estruturados.

Um padrão adicional que isso permite é extrair, carregar e transformar (ELT), no qual os dados são armazenados primeiro "como estão" e serão transformados, analisados e processados depois que os dados forem capturados no data lake. Esse padrão oferece vários benefícios.

  • Todos os dados são registrados; nenhum sinal é perdido devido à agregação ou filtragem.
  • Os dados podem ser ingeridos muito rapidamente, o que é útil para o streaming da Internet das Coisas (IoT), análise de log, métricas de site etc.
  • Ele permite a descoberta de tendências que não eram esperadas no momento da captura.
  • Ele permite a implementação de novas técnicas de inteligência artificial (IA) que se destacam na detecção de padrões em conjuntos de dados grandes e não estruturados.

As ferramentas ETL para data lakes incluem ferramentas visuais de integração de dados, porque são eficazes para cientistas de dados e engenheiros de dados. As ferramentas adicionais que geralmente são usadas na arquitetura do data lake incluem o seguinte:

  • Serviços de Cloud Streaming que podem ingerir grandes fluxos de dados em tempo real em data lakes para mensagens, logs de aplicações, telemetria operacional, rastreamento de dados de fluxo de cliques na Web, processamento de eventos e análise de segurança. A compatibilidade com o Kafka garante que esses serviços possam recuperar dados de origens de dados quase infinitas.
  • Serviços de nuvem baseados em Spark que podem executar rapidamente tarefas de processamento e transformação de dados em conjuntos de dados muito grandes. Os serviços Spark podem carregar os conjuntos de dados a partir do armazenamento de objetos ou do HDFS, processá-los e transformá-los na memória em clusters escaláveis de instâncias de computação e gravar a saída de volta no data lake ou em data marts e/ou data warehouses.

Casos de uso ETL

O processo ETL é fundamental para muitos setores por causa de sua capacidade de ingerir dados de forma rápida e confiável em data lakes para ciência de dados e análise, criando modelos de alta qualidade. As soluções ETL também podem carregar e transformar dados transacionais em escala para criar uma visão organizada de grandes volumes de dados. Isso permite que as empresas visualizem e prevejam tendências do setor. Vários setores contam com o ETL para permitir insights acionáveis, tomada de decisões rápida e maior eficiência.

Serviços financeiros
As instituições de serviços financeiros coletam grandes quantidades de dados estruturados e não estruturados para obter insights sobre o comportamento do consumidor. Esses insights podem analisar o risco, otimizar os serviços financeiros dos bancos, melhorar as plataformas online e até mesmo fornecer caixas eletrônicos com dinheiro.

Setores de petróleo e gás
Os setores de petróleo e gás usam soluções ETL para gerar previsões sobre uso, armazenamento e tendências em áreas geográficas específicas. O ETL funciona para reunir o máximo de informações possível de todos os sensores de um site de extração e processar essas informações para facilitar a leitura.

Automotivo
As soluções de ETL permitem que as concessionárias e os fabricantes entendam os padrões de vendas, calibrem suas campanhas de marketing, reabram o estoque e acompanhem os leads dos clientes.

Telecomunicações
Com o volume e a variedade sem precedentes de dados produzidos hoje, os provedores de telecomunicações contam com soluções ETL para melhor gerenciar e entender esses dados. Uma vez processados e analisados esses dados, as empresas podem usá-los para melhorar a publicidade, a mídia social, o SEO, a satisfação do cliente, a lucratividade e muito mais.

Assistência Médica
Com a necessidade de reduzir custos e também melhorar a assistência médica, o setor de assistência médica emprega soluções ETL para gerenciar registros de pacientes, coletar informações de seguros e atender a requisitos regulatórios em evolução.

Ciências biológicas
Os laboratórios clínicos contam com soluções ETL e inteligência artificial (IA) para processar vários tipos de dados que estão sendo produzidos por instituições de pesquisa. Por exemplo, colaborar no desenvolvimento de vacinas requer que grandes quantidades de dados sejam coletados, processados e analisados.

Setor público
Com o surgimento dos recursos de Internet das Coisas (IoT), as cidades inteligentes estão usando o ETL e o poder da IA para otimizar o tráfego, monitorar a qualidade da água, melhorar o estacionamento e muito mais.

Produtos e Soluções ETL

Sistema SOA (Service Oriented Architecture)
Como você pode diminuir a complexidade da integração de aplicações? Com recursos de integração simplificados na nuvem, dispositivos móveis, on-premises e IoT, tudo em uma única plataforma, essa solução pode proporcionar um tempo de integração mais rápido e maior produtividade, juntamente com um custo total de propriedade (TCO) mais baixo. Muitas aplicações empresariais, incluindo o Oracle E-Business Suite, usam fortemente esse produto para orquestrar fluxos de dados.

GoldenGate
A transformação digital muitas vezes demanda mover dados de onde eles são capturados para onde eles são necessários, e GoldenGate foi projetado para simplificar esse processo. O Oracle GoldenGate é uma solução de replicação de dados de alta velocidade para integração em tempo real entre bancos de dados heterogêneos localizados on-premises, na nuvem ou em um banco de dados autônomo. GoldenGate melhora a disponibilidade dos dados sem afetar o desempenho do sistema, fornecendo acesso a dados em tempo real e relatórios operacionais.

Cloud Streaming
Nossa solução de Cloud Streaming fornece uma solução totalmente gerenciada, escalável e durável para a ingestão e consumo de fluxos de dados de alto volume em tempo real. Use este serviço para mensagens, logs de aplicações, telemetria operacional, dados de sequência de cliques na web ou qualquer outra instância na qual os dados sejam produzidos e processados de modo contínuo e sequencial em um modelo de mensagens do padrão publicar-assinar. Ele é totalmente compatível com Spark e Kafka.