Entendendo o processo de ETL

Por Diego Elias | 11.06.2014 às 08:53 - atualizado em 30.06.2015 às 15:48

No contexto do Data Warehouse (DW) e Business Intelligence (BI) ouvimos muito falar sobre o processo de ETL. Essa sigla significa Extração, Transformação e Carga (em inglês Extract, Transform and Load) e trata da sistematização do tratamento e limpeza dos dados oriundos dos diversos sistemas organizacionais (OLTP) para a inserção, geralmente, em um DW ou Data Mart.

Como podemos perceber, esse processo possui três etapas. A primeira é a extração (extract), a segunda a transformação (transform) e por fim, a carga (load). Cada uma delas possui grande importância para o sucesso da transição dos dados dos sistemas de origem para o DW.

A etapa de extração pode ser entendida como a fase onde os dados são extraídos dos OLTPs e conduzidos para a staging area (área de transição ou área temporária), onde são convertidos para um único formato. A conversão se faz necessária devido a heterogeneidade existente nas informações oriundas desses sistemas, sendo essencial a conformação prévia para o tratamento adequado.

Após a extração, teremos subsídios para iniciar a etapa de transformação e limpeza dos dados. Nessa fase são corrigidos, padronizados e tratados os desvios e inconsistências, transformando os dados de acordo com as regras do negócio.

A etapa de carga ocorre em sequência com a de transformação. Assim que são efetuados os tratamentos necessários nos dados, a carga no DW é iniciada. Essa fase se resume na persistência dos dados na base consolidada.

De forma geral, o ETL pode ser representado pela imagem abaixo:

ETL

O processo de ETL, por exemplo, é essencial para a criação das estruturas de Dimensões e Fatos no ambiente do DW. É ele que faz a “ponte” de ligação entre o operacional e o DW. Devemos escolher bem as ferramentas que darão suporte ao processo, pois são essenciais para a correta execução das atividades do ETL.

O ETL é fundamental para qualquer iniciativa de DW. Porém deve ser planejado com cuidado para não comprometer os sistemas transacionais (OLTP) das empresas. Um bom ETL deve ter escalabilidade e ser manutenível.

Além disso, devemos analisar a janela de operação do ETL. Não é em qualquer momento que ele poderá ser executado. Do mesmo modo, devemos analisar a periodicidade de execução, como também definir qual será o alcance de dados que o ETL irá abranger. Esses detalhes são críticos para o sucesso do processo.

Portanto, devemos tratar o ETL como sendo o “cordão umbilical” que une e possibilita a condução dos dados ao DW. O processo deve ser bem planejado para evitar transtornos futuros e até mesmo para que não ocasione, em casos extremos, a interrupção dos sistemas operacionais da empresa. Dessa forma, o DW terá informações tratadas, com qualidade e grande valor para apoiar as decisões organizacionais.