Tudo começa com dados, portanto lembre-se de trabalhar e importar bancos de dados de diferentes formatos e origens. O engenheiro de dados e um de nossos especialistas Dirlei Moreira, preparou um artigo que explica como as ferramentas de ETL atendem às principais necessidades do negócio, quando armazenadas em repositórios de dados.

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

      Como se nota, nesse 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.

      Juntamente com o ETL se utiliza um modelo/metodologia de estrutura de dados, a seguir veremos mais detalhes. 

Modelos de estruturas de dados

        Os dados extraídos por um ETL podem ter formato e estrutura diferente, sendo que para a criação de um DW ou BI é necessário aplicar-se uma estrutura padrão nesses dados. Por isso, seja muito simples ou mais complexos, a correta modelagem é necessária para tornar o DW ou BI mais robusto, eficiente e confiável.

         Os modelos de estrutura de dados são ferramentas que permitem demonstrar como serão construídas as estruturas de dados que darão suporte aos processos de negócios, como os dados estão organizados e quais os relacionamentos que pretendemos estabelecer entre eles, para isso também é importante que você conheça a normalização de Banco de Dados.

Nesse artigo vamos abordar a metodologia de dados chamado “Modelo estrela”.

           O Star schema ou esquema em estrela é uma metodologia de modelagem de dados utilizada do desenho de um Data warehouse. Os dados são modelados em tabelas dimensionais ligadas a uma tabela de fatos. No “centro” da estrela, existe o que se chamou tabela de fatos, rodeada por tabelas auxiliares, chamadas de dimensões.

           Abaixo segue mais detalhes e exemplos:

           Fato: Armazena os valores detalhados de medidas, fatos ou acontecimentos que se repetem inúmeras vezes. Exemplo faturamento das lojas.

           Dimensão: Armazena os valores de cadastro e dados complementares, como nomes, endereço cadastros de lojas etc.

             A metodologia também emprega a utilização de schemas/bases para a separação dos dados e melhor organização, sendo:

             DW: é a fonte de dados para consultas na organização, ou nada menos que a união de todos os Data Marts já constituídos. Caracteriza-o como um repositório histórico, não volátil, dos fatos operacionais de uma organização. 

              Pode ser visto também como uma grande base de dados que apresenta diversos níveis sintéticos dos dados operacionais, cujo objetivo maior é o de fornecer informação estratégica integrada, segundo uma visão holística da organização. 

             Normalmente, é construída sob a forma de fatos (mensuráveis) e as dimensões sob as quais podem ser analisados (ex: as vendas da companhia na região nordeste foram de R$ 1.000.000,00 no mês de maio/2003; onde o fato é valor das vendas e as dimensões são a região e o mês).

             ODS:  é uma base de dados integrada, volátil, de valores correntes, e que contém somente dados detalhados. Também pode ser entendido como uma visão integrada do mundo operacional. Normalmente sua construção adota bases de dados relacionais.

·           STAGE: Também chamada como “camada de integração e transformação”, a SA é uma área de tratamento, padronização e transformação das informações operacionais para carga na arquitetura de dados BI (DW, ODS, DS).

       Segue uma imagem para ilustrar e deixar mais claro a metodologia.

Esquema Estrela

A modelagem de dados no ETL também é fundamental para uma boa qualidade dos dados, jobs de tratamento e criação de Modelo entidade, além do relacionamento (MER) no qual temos um exemplo no modelo acima.

 

MER

       Desenvolvido em 1976, pelo cientista americano Peter Chen, o Modelo de Entidade  Relacional, conhecido pelos engenheiros de software apenas como MER, nada mais é do que um conceito que descreve todas as entidades existentes no domínio de negócio, assim como, o modo como essas entidades se relacionam e as características de cada uma dessas entidades.

      As entidades também recebem o nome de objetos, assim como, atributos são usados como sinônimos de características para o relacionamento de todas as partes de um Modelo de Entidade de Relacionamento.

      O MER  (Modelo de Entidade de Relacionamento) consiste em um banco de dados de um sistema, DW ou BI. O Mer é importante para que desenvolvedores ou o próprio cliente consigam fazer as amarrações entre a Fato e Dimensão corretamente.

      Abaixo segue alguns exemplo de MER:

 

Esquema MER

Processo de ETL

 

Em resumo é isso, o básico necessário para se construir um processo de ETL. Seguem algumas ferramentas disponíveis no Mercado para o processo de ETL.

Ferramentas de ETL

Podemos criar o ETL de diversas formas como por exemplo usando Python, Java ou alguma outra linguagem de programação. Entretanto, atualmente para dados a linguagem Python é muito utilizada, devido sua disponibilidade em diversas bibliotecas para ETL, tratamento de dados ou enriquecimento.

Também é possível criar o ETL por aplicações que não exigem saber uma linguagem de programação, as linguagens disponíveis no mercado são Open Sources e Pagas. Segue abaixo a listagem do Gartner de 2020 das ferramentas .

 

Quadrante mágico

https://www.gartner.com/en/documents/3955823

Das ferramentas acima listadas, recomenda o Talend, que é um ferramenta Open Source bem intuitiva para a criação  do ETL. 

Segue um print de um JOB de ETL criado:

quadrante mágico Gartner

 

Outra ferramenta Open Source que não está na listagem de 2019, porém é muito boa é o Pentaho. Ficamos por aqui, espero que tenha ajudado um pouco a entender melhor o processo de ETL.

Fontes:

https://www.next4.com.br/o-que-e-mer-modelo-de-entidade-relacional-e-como-e-aplicado-no-meu-site/

 

https://www.portalgsti.com.br/2017/02/modelagem-de-dados-o-que-e-e-para-que-serve-para-um-dba.html

 

https://pt.wikipedia.org/wiki/Modelagem_de_dados