Como engenheiro de dados, você provavelmente já ouviu falar da metodologia de integração de dados chamada ETL (Extração-Transformar-Carga). Ela existe há algum tempo, e muitos engenheiros de dados usaram essa metodologia para construir pipelines de dados. No entanto, o ETL não é a única opção que temos na manga. Recentemente, o ELT também tem ganhado muita popularidade. Neste artigo, vou comparar ETL e ELT para ajudar você a entender suas respectivas vantagens e desvantagens, para que você possa escolher a metodologia mais adequada para seu projeto.

Vamos primeiro ver como o ETL funciona. Um processo ETL normalmente começa extraindo dados de uma fonte de dados. Depois, ele realiza algumas transformações nos dados previamente extraídos. Por fim, ele carrega os dados transformados em um repositório para uso futuro. O fato de a transformação dos dados ocorrer antes do carregamento nos processos ETL contribui para a maioria das vantagens do ETL, que são as seguintes.
Primeiro, o ETL permite acesso imediato a dados facilmente transformados após a conclusão dos processos ETL. Esse acesso instantâneo nos permite fazer pouca ou nenhuma preparação antes de consumir os dados. Segundo, a linhagem de dados de um processo ETL é transparente e facilmente compreensível porque, para cada processo ETL, o processo de transformação dos dados é pré-definido e permanece o mesmo. Terceiro, ETL é amigável à conformidade. Às vezes, podemos precisar nos conformar à conformidade com privacidade, o que exige que não carreguemos informações privadas no destino final. O ETL é adequado para esses requisitos de conformidade porque pode mascarar, criptografar ou remover informações sensíveis na fase de transformação antes de armazenar os dados.
No entanto, o ETL apresenta sua cota de limitações: primeiro, os processos ETL podem ser bastante demorados. Como toda a transformação dos dados precisa ser concluída antes do carregamento dos dados, os dados não estarão disponíveis para consumo até que a transformação seja concluída. Dependendo da complexidade do processo de transformação dos dados, os dados finais podem não estar acessíveis por muito tempo. Segundo, o ETL tem o problema da rigidez. Como o processo de transformação é pré-determinado, é difícil modificar os pipelines ETL em resposta a requisitos ad hoc. Terceiro, o ETL pode ser frágil. Realizar a transformação de dados antes de carregar os dados no armazenamento final significa que os pipelines ETL não salvam dados caso algo dê errado na fase de transformação.

Para superar as limitações do ETL, cientistas de dados desenvolveram uma nova metodologia de integração de dados, chamada ELT. ELT significa extração, carregamento e transformação. Embora ETL e ELT compartilhem os mesmos passos básicos, as ordens em que eles executam esses passos são diferentes. Ao contrário do ETL, os processos ELT carregam a totalidade dos dados extraídos antes de realizar a transformação dos dados, o que traz os seguintes benefícios do ELT.
Primeiro, os pipelines ELT nos permitem acessar instantaneamente os dados, embora sem transformação, graças ao carregamento dos dados extraídos antes da transformação. Segundo, o ELT tem mais flexibilidade. Se adotarmos a metodologia ELT, podemos personalizar o processo de transformação dos dados a cada vez, com base nas necessidades em mudança de consumo de dados, pois temos acesso a todos os dados extraídos das fontes iniciais. Terceiro, é fácil armazenar dados não estruturados com pipelines ELT. Mesmo que não tenhamos tempo ou recursos computacionais para transformar ou estruturar os dados iniciais, ainda podemos salvar tudo e nos preocupar com transformação e estruturação depois.
Em resumo, ETL e ELT contêm os mesmos passos básicos: extração, transformação e carregamento. Seus prós e contras derivam principalmente da transformação dos dados realizada antes ou depois do carregamento. Agora que você entende completamente as diferenças entre ETL e ELT, deve ser mais fácil escolher a metodologia de integração de dados mais adequada para seus projetos. Aqui vai uma regra geral: escolha ETL em vez de ELT quando você tiver dados fonte estruturados de pequeno porte e o formato exigido dos seus dados-alvo permanecer relativamente consistente. Por outro lado, escolha ELT em vez de ETL quando você tiver dados fonte não estruturados de grande porte e os requisitos para seus dados-alvo estiverem em constante mudança. Obrigado por ler este artigo, e desejo tudo de melhor em sua jornada em engenharia de dados.
Leituras adicionais: ETL vs ELT Visão Geral