O que são ETL e ELT e quais suas diferenças?

ETL e ELT

Dentro da área de dados, é imprescindível falar sobre ETL e ELT, sejam eles de responsabilidade direta de um Engenheiro, Analista ou Cientista de Dados. 

Ambas as metodologias (ou pipelines) fazem parte do escopo de trabalho desses profissionais, embora seja principalmente de um Analista de Dados, conforme exemplificamos aqui no blog da Coodesh (confira o conteúdo).

Mas sabendo que fazem parte do dia a dia de um profissional de dados, o que é um ETL e ELT? Quais as diferenças entre eles? Qual método é melhor? Vamos descobrir.

Importância dos dados

Antes de entrarmos no detalhe sobre cada um dos métodos, é importante explicar qual a finalidade primária de ambos. Basicamente, eles funcionam como uma “tubulação” para que os dados possam ser transitados de sua fonte original para onde serão visualizados e consumidos a fim de gerar valor ao negócio.

Há uma frase bem conhecida, dita pelo matemático e especialista em Ciência de Dados Clive Humby que diz que “data is the new oil” ou “dados são o novo petróleo”. Ela é usada justamente para enaltecer a importância que os dados têm para as empresas.

Todavia, da mesma forma que o petróleo não pode ser consumido de forma bruta e insegura, os dados também precisam passar por processos de transformação, filtragem e mecanismos para que as informações sensíveis sejam preservadas. Ainda nessa comparação, podemos dizer que em ambos os casos só é possível gerar valor quando os dados (ou petróleo) passam por seus devidos processos, integrações e caminhos até o usuário final.

Agora que já destacamos a importância dos processos, podemos explicar a diferença entre eles.

O que é ETL?

O ETL (sigla em inglês para Extract, Transform e Load) é um processo tradicional de transformação de dados que inclui três etapas importantes: extração, transformação e carregamento. 

Ele extrai os dados brutos de uma ou mais fontes, transforma-os em um servidor de processamento secundário e os carrega em um banco de dados de destino, usado geralmente como fonte para aplicações de visualizações, modelos etc.

Como dito, é o método mais tradicional, criado na década de 1970, mas que ainda é amplamente utilizado.

O que é ELT?

O ELT (sigla em inglês para Extract, Load e Transform) é a modernização do processo de ETL, pois inverte a ordem das etapas de transformação de informações da abordagem tradicional de ETL com o principal objetivo de agilizar o processo, considerando massas de dados maiores. O ELT carrega dados brutos diretamente em um data warehouse de destino, em vez de movê-los para um servidor de processamento para transformação.

Com o pipeline de dados ELT, as limpezas de dados, criação de novas features e transformação de dados ocorrem dentro do próprio data warehouse. Os dados brutos são armazenados indefinidamente no data warehouse.

Explicados ambos os formatos de pipelines, vamos falar sobre as principais diferenças entre eles.

ETL vs ELT: quais as principais diferenças?

A diferença mais clara entre os pipelines já foi inclusive citada, que seria a ordem da etapa de transformação dos dados, mas essa não é a única distinção. Vejamos algumas outras:

  • Para ETL, o processo de ingestão de dados fica mais lento ao transformar os dados em um servidor separado antes do processo de carregamento.
  • Já o ELT, por outro lado, oferece uma ingestão de dados mais rápida, pois os dados não são enviados para um servidor secundário para transformação. Com isso, os dados podem ser carregados e transformados simultaneamente.
  • A retenção de dados brutos do ELT cria um rico arquivo histórico para gerar inteligência de negócios. Assim, a base de dados fica mais maleável à criação de novas transformações demandadas por novas estratégias, metas etc.
  • O ETL, em contrapartida, não gera conjuntos de dados brutos completos que podem ser consultados infinitamente.
  • O ETL é um pipeline usado a décadas como dito, logo, utilizou-se de tecnologias mais antigas e hoje conta com tecnologias e plataformas mais avançadas. Já o ELT, por ser muito mais recente, é amplamente (se não totalmente) baseado em tecnologias em cloud, sendo essas mais avançadas.

Agora que citamos as principais diferenças entre os formatos de pipeline, talvez nos resta a dúvida: o que é melhor, ETL ou ELT?

ETL vs ELT: quais suas vantagens e desvantagens? Qual é melhor?

De antemão, podemos dizer que não existe um pipeline melhor que o outro. Eles são melhores para contextos e aplicações específicas, ou seja, podemos usufruir de suas vantagens dado um contexto ou necessidades de negócio apropriado para cada um.

Para ajudar a elucidar essas vantagens e desvantagens, vamos citar alguns exemplos. Confira a seguir.

Velocidade

Enquanto o ETL é um processo muitas vezes demorado, sendo os dados transformados antes de serem carregados em um sistema de destino, o ELT é mais rápido, sendo os dados carregados diretamente em um sistema de destino e transformados em paralelo.

Manutenção

Como no ETL há um servidor de processamento secundário, há um aumento de cargas de manutenção. Em contrapartida, no ELT a carga de manutenção é reduzida, já que há menos sistemas no fluxo dos dados.

Maturidade dos pipelines

O ETL moderno existe há mais de 20 anos como dito, logo, suas práticas e protocolos são bem conhecidos e documentados. Isso já não ocorre ainda para o ELT, por ser uma forma mais recente de integração dos dados.

Formato dos dados

O ETL é normalmente usado para dados totalmente estruturados, enquanto o ELT atende bem esse formato, mas principalmente dados semi-estruturados e/ou não estruturados.

Volume de dados

O ETL é ideal para conjuntos de dados menores, enquanto para conjuntos maiores, e que exigem maior eficiência e velocidade, o ELT é recomendado.

Há outras diferenças que podemos citar entre ambos os formatos, mas fica claro para nós que não existe um melhor que o outro. As necessidades e o contexto da empresa é que dirão qual metodologia é mais adequada.

O ELT é um método talvez mais empolgante, por usar tecnologias mais novas e recentes e justamente por ser um método em ascensão de uso. 

Porém o ETL já é consolidado e possui uma característica de segurança maior, e que atende muito bem muitas empresas.

Conclusão

Pudemos ver brevemente sobre os dois pipelines de dados mais utilizados e principalmente entender que não há um melhor que o outro, mas sim, que as necessidades de cada negócio e equipe de dados vão demandar o uso de cada um deles. 

É certo que novas tecnologias poderão também sugerir novos métodos, ou que esses já existentes sofram adaptações para serem cada vez mais bem utilizados. 

Saliento que o importante é que o fluxo de dados adequado para cada contexto possa gerar valor ao negócio e possibilite aos tomadores de decisão utilizar-se dos dados já lapidados para suas estratégias.

Agora que você já sabe mais detalhes de ETL e ELT, conheça melhor a Coodesh e as soluções apresentadas para developers potenciarem suas carreiras. Saiba mais.

Escrito por Felipe Rastelli

Profissional de Data Science, formado em contabilidade, sou apaixonado por tecnologia e negócios. Gosto de usar os dados, programação e criatividade para gerar soluções, visualizações e embasar decisões a serem tomadas pela empresa.

flexibilidade no trabalho

Flexibilidade no trabalho: entenda o que é e como funciona!

o que é xUnit

O que é xUnit?