O que é ELT (extrair, carregar e transformar)?

No cenário atual de dados, as organizações buscam constantemente maneiras mais eficientes de gerenciar e analisar grandes quantidades de informações. O processo ELT, ou extração, carregamento e transformação, representa uma abordagem moderna de integração de dados, particularmente adequada para ambientes de nuvem. Entender o ELT é fundamental para quem trabalha com arquitetura de dados, engenharia de dados ou análises, porque ele oferece vantagens em velocidade, flexibilidade e escalonabilidade para lidar com diferentes conjuntos de dados. Essa abordagem muda quando e onde a transformação de dados ocorre, abrindo novas possibilidades para a utilização de dados.

ELT definido

ELT significa extrair, carregar e transformar. É um modelo de pipeline de dados em que os dados são extraídos primeiro de vários sistemas de origem. Em seguida, em vez de serem transformados em uma área de preparação separada, os dados brutos são carregados diretamente em um repositório de dados de destino, como um data lake ou um data warehouse em nuvem. As transformações só são aplicadas depois que os dados são carregados no sistema de destino.

Essa sequência diferencia o ELT do antecessor ETL (extrair, transformar, carregar) e é um dos principais motivos para a adoção crescente do ELT em arquiteturas nativas da nuvem.

Como o ELT funciona?

O fluxo de processo ELT aproveita a capacidade e a escalonabilidade das plataformas modernas de armazenamento e processamento de dados. Vamos analisar cada componente:

  • Extrair: essa etapa inicial envolve a coleta de dados brutos das fontes originais. Essas fontes podem ser muito diversas, incluindo bancos de dados (SQL e NoSQL), aplicativos corporativos (como CRMs e ERPs), plataformas SaaS, APIs e arquivos de registro. O processo de extração se concentra em extrair os dados desses sistemas com eficiência.
  • Carregar: na segunda etapa, os dados brutos extraídos são carregados, geralmente no formato original ou com processamento mínimo, diretamente em um sistema de armazenamento de alta capacidade. Os destinos comuns para esses dados brutos são data lakes na nuvem ou data warehouses modernos na nuvem que podem lidar com grandes volumes de dados estruturados, semiestruturados e não estruturados.
  • Transformação: essa etapa final ocorre depois que os dados são armazenados com segurança no sistema de destino. Usando o poder computacional do data warehouse ou do data lake, os dados brutos são limpos, estruturados, enriquecidos e convertidos em um formato adequado para análise, geração de relatórios e machine learning. As transformações podem incluir filtragem, associação, agregação, padronização de formatos e derivação de novos pontos de dados.

O processo de ELT oferece flexibilidade porque as transformações não são fixadas antes do carregamento. Os cientistas de dados, por exemplo, podem acessar os dados brutos para explorar padrões imprevisíveis ou realizar análises ad hoc, enquanto as equipes de Business Intelligence podem criar conjuntos de dados selecionados e transformados para relatórios.

Benefícios do ELT

A abordagem ELT oferece várias vantagens em potencial, principalmente em ambientes que lidam com grandes volumes e diversos tipos de dados:

  • Ingestão de dados mais rápida: carregar dados brutos no sistema de destino geralmente é mais rápido do que esperar a conclusão das transformações em uma área de preparação. Isso significa que os dados podem ficar disponíveis para a exploração inicial ou casos de uso específicos muito mais cedo.
  • Flexibilidade e agilidade: como os dados brutos são preservados no sistema de destino, as transformações podem ser desenvolvidas, modificadas ou adicionadas de forma iterativa conforme os requisitos de negócios evoluem. Não é necessário reinserir dados dos sistemas de origem se a lógica de transformação mudar. Basta executar a transformação novamente nos dados brutos já carregados.
  • Escalonabilidade: data warehouses e data lakes modernos na nuvem são projetados para escalonabilidade massiva. O ELT aproveita essa capacidade inerente realizando transformações com os mecanismos de processamento robustos desses sistemas de destino. Isso permite que as organizações lidem com volumes crescentes de dados e transformações complexas de maneira eficiente.
  • Preservação de dados brutos: armazenar dados brutos permite um registro histórico mais completo. Isso pode ser muito útil para auditoria de dados, reprocessamento se houver erros em transformações anteriores ou para necessidades analíticas futuras que ainda não foram previstas. Os cientistas de dados geralmente se beneficiam do acesso aos dados mais granulares e não transformados.
  • Eficiência de custo para determinadas cargas de trabalho: usar a capacidade de computação de um data warehouse em nuvem para transformações pode ser mais econômico do que manter uma infraestrutura separada ou licenciar ferramentas ETL especializadas para transformações, especialmente quando o data warehouse oferece processamento otimizado.
  • Suporte a diversos tipos de dados: o ELT é adequado para lidar com dados estruturados, semiestruturados (como JSON ou XML) e não estruturados (como texto ou imagens). Os dados podem ser carregados no formato nativo e transformados conforme necessário, o que pode ser uma vantagem significativa em cenários de Big Data. Essa abordagem de "schema-on-read", em que a estrutura é aplicada durante o processamento, e não antes do carregamento, é uma característica marcante do ELT.

Desafios do ELT

Embora o ELT ofereça vários benefícios, ele também pode apresentar certas considerações que as organizações precisam abordar:

  • Governança e segurança de dados: carregar dados brutos, que podem conter informações sensíveis ou de identificação pessoal (PII), em um data lake ou data warehouse exige medidas robustas de governança, segurança e compliance de dados. Controles de acesso, criptografia e técnicas de mascaramento de dados são essenciais para proteger esses dados no ambiente de destino.
  • Complexidade da transformação no sistema de destino: embora seja poderoso, gerenciar a lógica de transformação complexa diretamente em um data warehouse (por exemplo, usando SQL) ou data lake pode ser desafiador. É preciso ter pessoal qualificado e proficiente nessas ferramentas e uma abordagem disciplinada para o gerenciamento e a otimização de códigos.
  • Ferramentas e orquestração: a implementação eficaz de ELT depende de ferramentas adequadas para orquestrar as etapas de extração e carregamento e para gerenciar e executar transformações no sistema de destino. Embora muitas plataformas de nuvem ofereçam ferramentas, integrá-las e gerenciar o fluxo de trabalho geral exige um planejamento cuidadoso.
  • Possibilidade de "pântanos de dados": se os dados brutos carregados em um data lake não forem catalogados, gerenciados e governados adequadamente, o data lake pode se transformar em um "pântano de dados", em que os dados são difíceis de encontrar, confiar ou usar de maneira eficaz. Uma boa estratégia de gerenciamento de dados é essencial.
  • Responsabilidade pela qualidade dos dados: como as transformações ocorrem mais tarde no processo, garantir a qualidade dos dados pode exigir etapas dedicadas após o carregamento. Monitorar e validar dados no sistema de destino se torna importante.

Ao enfrentar esses desafios de forma proativa, as organizações podem aproveitar ao máximo as vantagens do paradigma ELT.

ELT x ETL

Entender a diferença entre ELT e o processo mais tradicional de ETL (extração, transformação e carregamento) é importante para escolher a estratégia de integração de dados certa. A principal diferença está em quando a etapa de transformação ocorre e onde ela é realizada.

Recurso

ELT (extração, carregamento e transformação)

ETL (extração, transformação, carregamento)

Ordem de operações

Extrair, carregar e transformar

Extrair, transformar e carregar

Local da transformação

No repositório de dados de destino (data warehouse/lake)

Em uma área de preparação separada ou ambiente de ferramenta ETL

Dados carregados para o destino

Dados brutos e não transformados

Dados limpos, estruturados e transformados

Poder de processamento


Aproveita o poder do repositório de dados de destino

Depende de um mecanismo de ETL dedicado ou servidor de preparação


Velocidade de ingestão de dados


Normalmente, é mais rápido carregar os dados inicialmente

Pode ser mais lento devido ao processamento de transformação antecipado


Flexibilidade para novos usos


Alta, porque os dados brutos estão disponíveis para serem transformados de novo

Menor, porque as transformações são predefinidas

Gerenciamento de esquema

Adequado para esquema na leitura

Muitas vezes, depende do esquema na gravação

Adequação do tipo de dados


Excelente para dados estruturados, semiestruturados e não estruturados

Melhor para dados estruturados e alguns semiestruturados

Uso dos recursos

Otimização do uso de data warehouses em nuvem escalonáveis

Pode exigir infraestrutura separada para transformações


Recurso

ELT (extração, carregamento e transformação)

ETL (extração, transformação, carregamento)

Ordem de operações

Extrair, carregar e transformar

Extrair, transformar e carregar

Local da transformação

No repositório de dados de destino (data warehouse/lake)

Em uma área de preparação separada ou ambiente de ferramenta ETL

Dados carregados para o destino

Dados brutos e não transformados

Dados limpos, estruturados e transformados

Poder de processamento


Aproveita o poder do repositório de dados de destino

Depende de um mecanismo de ETL dedicado ou servidor de preparação


Velocidade de ingestão de dados


Normalmente, é mais rápido carregar os dados inicialmente

Pode ser mais lento devido ao processamento de transformação antecipado


Flexibilidade para novos usos


Alta, porque os dados brutos estão disponíveis para serem transformados de novo

Menor, porque as transformações são predefinidas

Gerenciamento de esquema

Adequado para esquema na leitura

Muitas vezes, depende do esquema na gravação

Adequação do tipo de dados


Excelente para dados estruturados, semiestruturados e não estruturados

Melhor para dados estruturados e alguns semiestruturados

Uso dos recursos

Otimização do uso de data warehouses em nuvem escalonáveis

Pode exigir infraestrutura separada para transformações


O ELT é o padrão recomendado pelo Google Cloud para integração de dados. O ELT envolve a extração de dados de sistemas de origem, o carregamento deles no BigQuery e a transformação no formato desejado para análise. Ao contrário do ETL (extrair, transformar, carregar), que envolve a transformação de dados antes de serem carregados em um data warehouse, a abordagem ELT permite usar todo o poder do BigQuery para realizar transformações de dados e qualquer usuário de SQL para desenvolver pipelines de integração de dados com eficiência.

A escolha entre ELT e ETL geralmente depende de casos de uso específicos, infraestrutura existente, volumes de dados e necessidades analíticas da organização. Em muitas arquiteturas de dados modernas, também é possível usar uma abordagem híbrida, com ELT e ETL para partes diferentes do pipeline.

Casos de uso de ELT

O padrão ELT é particularmente eficaz em vários cenários de dados modernos:

Data warehouse em nuvem

O ELT é uma opção natural para plataformas de dados em nuvem como o BigQuery do Google Cloud, que oferecem imenso poder de processamento e escalonabilidade para lidar com transformações em grandes conjuntos de dados com eficiência.

Análise de Big Data

Ao lidar com volumes enormes, alta velocidade e ampla variedade de dados, o ELT permite a ingestão rápida em um data lake ou armazenamento escalonável. As transformações podem ser aplicadas conforme necessário usando frameworks de processamento distribuído.

Implementação de data lake

Os data lakes foram criados para armazenar grandes quantidades de dados brutos no formato nativo. Os processos de ELT carregam esses dados brutos, e vários mecanismos de análise e processamento podem transformá-los e consumi-los.

Processamento de dados em tempo real ou quase em tempo real

Para casos de uso que exigem acesso rápido a dados novos, o ELT pode acelerar a fase de carregamento. Transformações para painéis ou aplicativos específicos quase em tempo real podem ser realizadas em subconjuntos desses dados.

Análise exploratória de dados e ciência de dados

Os cientistas de dados geralmente preferem ter acesso a dados brutos e não transformados para realizar engenharia de atributos, criar modelos de machine learning e descobrir insights sem serem limitados por transformações predefinidas. O ELT disponibiliza esses dados brutos.

Consolidar diversas origens de dados

Ao integrar dados de vários sistemas diferentes com estruturas variadas, o ELT simplifica a ingestão inicial carregando tudo em um local central e depois harmonizando os dados com transformações.

Resolva seus desafios comerciais com o Google Cloud

Clientes novos recebem US$ 300 em créditos para usar no Google Cloud.

Como o Google Cloud usa o ELT

O Google Cloud oferece um pacote abrangente de serviços que ajuda a otimizar arquiteturas de ELT, permitindo que as organizações criem pipelines de dados robustos e escalonáveis. O foco é usar o poder de serviços como o BigQuery para transformações no banco de dados.

Confira como os serviços do Google Cloud são usados nos padrões de ELT:

  • Extração: os dados podem ser extraídos de várias fontes usando serviços como o Dataflow para processamento de dados em lote e streaming, o Dataproc para cargas de trabalho do Spark e do Hadoop ou diretamente por meio de conectores e APIs nos serviços do Google Cloud. O Pub/Sub pode ser usado para ingerir dados de streaming em tempo real.
  • Carga: os dados brutos extraídos geralmente são carregados no Cloud Storage, que funciona como um data lake altamente escalonável e durável. Os dados do Cloud Storage podem ser carregados de maneira eficiente no BigQuery, o data warehouse multicloud sem servidor, altamente escalonável e econômico do Google Cloud. Os dados também podem ser transmitidos diretamente para o BigQuery.
  • Transformação: é aqui que o "T" de ELT brilha no Google Cloud. O BigQuery foi criado para realizar transformações complexas em escala de petabyte usando o SQL padrão. O mecanismo de processamento avançado lida com junções, agregações, funções de janela e outras transformações diretamente nos dados armazenados nele. Os usuários também podem desenvolver funções definidas pelo usuário (UDFs) em JavaScript ou usar o BigQuery ML para aprendizado de máquina no banco de dados. Os dados brutos geralmente permanecem no Cloud Storage ou em tabelas separadas do BigQuery, permitindo uma nova transformação versátil.

A infraestrutura do Google Cloud oferece suporte aos princípios básicos da ELT, fornecendo armazenamento escalonável para dados brutos, recursos de carregamento rápido e um mecanismo eficiente no BigQuery para realizar transformações. Isso permite que os engenheiros de dados criem pipelines em que os dados são rapidamente armazenados e refinados com base em requisitos analíticos específicos, tudo em um ambiente gerenciado e sem servidor.

Vá além

Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos do programa Sempre gratuito.

Google Cloud