O que é o ETL (Extract, Transform, Load) ?

O processo de ETL permite juntar dados de várias fontes diferentes, consolidar e transformar esses dados e juntá-los numa localização única.
O que é o etl

Resumo

ETL não é mais que uma sigla que denomina o processo de Extrair (Extract), Transformar (Transform) e Carregar (Load) dados. O ETL permite-nos obter dados de várias fontes, consolidar e transformar, agregando-os numa localização única.

Porquê o ETL?

O ETL é uma estratégia de análise de dados que passa por estabelecer regras para a optimização e manipulação padronizada de dados e facilitar a sua inserção em ambientes integrados. Ao centralizar dados em ambientes integrados, por exemplo num Data Warehouse, conseguimos consolidar diferentes fontes de dados e melhorar substancialmente a nossa capacidade de análise dessa informação.
Etapas do etl
Etapas do Processo ETL

Só transformando dados brutos (Raw Data) em informação limpa e analisável conseguiremos gerar insights úteis, seja qual for o domínio em que nos encontremos a trabalhar. Esta perspectiva de juntar e transformar estas massas de dados em conhecimento são a essência da Data Science e do Business Intelligence. Sem dados limpos e agregados não é possível detectar padrões ou gerar modelos de análise.

A massificação do digital introduziu um acréscimo gigantesco de dados no quotidiano das empresas. Os grandes volumes de informação (Big Data) e a alta velocidade na transferência de dados vieram exigir novas formas para lidar com este tsunami de informação e transformar um grande volume de dados não estruturados em conhecimento que resulte em informação útil para tomar decisões. O ETL é a espinha dorsal das empresas modernas.

Tipos de Bases de Dados no ETL

O resultado do processo de ETL é a consolidação de dados provenientes de fontes diversas e podemos identificar dois tipos principais de bases de dados relacionais: OLTP e OLAP.

OLTP ou Online Transactional Processing são bases de dados desenhadas para lidar com grandes volumes de informação e devem usar um tipo de estrutura ACID (Atomic, Consistent, Isolated, Durable) garantindo que cada transação permanecerá válida caso ocorram erros ou falhas inesperadas. Um exemplo clássico deste tipo de Base de Dados é um sistema financeiro que processa transações diárias - ex.: depósitos bancários, levantamentos e transferências - que se traduzem em operações de Base de Dados como INSERT, UPDATE ou DELETE.

OLAP ou Online Analytical Processing são Bases de Dados que prioritizam um reporting rápido e eficiente de grandes quantidades de dados. O seu foco principal é juntar e agregar dados sendo comuns para o Business Intelligence das empresas. Data Wharehouses e Data Marts são alguns dos tipos mais comuns de Bases de Dados OLAP. Tendencialmente são compostas por menos tabelas que as OLTP. Mas estas tabelas são maiores e com maior probabilidde de conterem informação redundante e não normalizada.
OTLPOLAP
Alto volume de transaçõesAlto volume de dados
Processamento mais rápidoQueries mais lentas
Dados normalizadosDados não normalizados
Muitas tabelasMenos tabelas
TransacionalReporting
ex.: Quem comprou X?ex.: Quantas pessoas compraram X?

Como funciona o ETL?

O processo de ETL extrai informação de uma (ou mais) Base de Dados OLTP, que depois de transformada(s) é carregada num ambiente OLAP. O mais comum é que este sistema OLAP seja um Data Warehouse que agrega grandes quantidades de dados optimizados para Business Intelligence e/ou Analytics.

Também podemos encontrar Data Marts que são Bases de Dados mais pequenas e normalmente dedicadas a um departamento ou a uma equipa dentro de uma empresa. Não é obrigatório que no processo de ETL assente exclusivamente em Bases de Dados sejam OTLP ou OLAP. Data Lakes, por exemplo, são repositórios não estruturados que armazenam Raw Data (dados brutos não processados) e não são Bases de Dados.

As três etapas do ETL

Cada uma das três etapas do ETL é fundamental para que a transição de dados da origem para o novo repositório aconteça de forma integrada e homogénea e resulte em dados limpos que gerem insights úteis.

Extract (Extrair) Os dados de origem são capturados, organizados e convertidos para uma área temporária de transição intermédia (Staging Area) entre a origem e o destino. Nesta área é feito um trabalho prévio de homogeneização e limpeza de dados.

Transform (Transformar) Neste fase, já com os dados extraídos, é onde faremos a limpeza e categorização dos dados. É normal que dados de fontes distintas obedeçam a padrões distintos e é aqui que corrigiremos imprecisões e inconsistências por forma a consolidar a informação extraída. O Data Mapping é uma parte integral deste processo permitindo criar um mapeamento de quais os dados a extrair e como serão transformados.
Exemplo data mapping
Exemplo de Data Mapping (Astera.com)

Load (Carregar) A etapa final consiste em transportar os dados já transformados da Staging Area para o ambiente de armazenamento destino (por exemplo um Data Warehouse).
Aprende como podes usar o Power Query para aplicar o processo de Extrair, Transformar e Carregar dados no Excel.