ETL (Extração, Transformação e Carga)

Anotações importantes relativa a disciplina "BI - Business Intelligence, MBA em Análise de Dados com BI e Big Data" (EAD Unicsul) - Publicado em março/2020.
REFERÊNCIAS BIBLIOGRÁFICAS:

  1. Material didático da disciplina;
  2. BARBIERI, Carlos. BI-business intelligence: modelagem e tecnologia. Rio de Janeiro: Axcel Books, 2001.
  3. CAIÇARA JUNIOR, Cícero. Sistemas integrados de gestão: ERP – uma abordagem gerencial. 2.ed. Curitiba: Intersaberes, 2015.
  4. TURBAN, Efraim; SHARDA, Ramesh; ARONSON, Jay E.; KING, David. Business Intelligence: Um enfoque gerencial para a inteligência do negócio. Porto Alegre: Bookman, 2009.

Extração (Extract)

Leitura dos dados de um ou mais bancos de dados ou outras fontes;

Transformação (Trasnform)

Conversão dos dados extraídos da sua forma anterior para a forma que precisam estar para que sejam carregado em uma Data Warehouse ou apenas em um banco de dados, usando regras ou tabelas de busca, combinação de dados com outros dados etc.;

Carga (Load)

colocação dos dados no data warehouse ou banco de dados.

CHIP
O processo de ETL
Fonte: Business Intelligence: Um enfoque gerencial para a
inteligência do negócio
(pg. 72, fig 2.8)

Também conhecidas como ferramentas de “back end”, são responsáveis pela preparação dos dados a serem armazenados em Data Warehouse, sendo uma das etapas mais importantes para qualidade dos dados. Inicialmente precisamos identificar os dados a serem coletados, que podem ser de diferentes origem ou formatos (bases de dados distintas, arquivos textos, planilhas, arquivos xml etc.). Em seguida estes dados precisam passar por processos de ajustes ou limpeza) para então passar por um processo de transformação que será responsável pela padronização dos dados. Finalmente estes dados podem ser carregados na base de dados, e quando necessário passarem por atualizações. Segundo etudos ETL’s costumam consumir 70% do tempo em projetos centrados em dados.

KDD – Knowledge Discovery in Databases

Fases da aquisição de conhecimento e saídas após cada uma delas:

  1. Definição de objetivos ⤑ grande quantidade de dados
  2. Seleção de dados ⤑ separação dos dados alvo;
  3. Pré-Processamento (preparação inicial dos dados) ⤑ dados processados;
  4. Transformação (uniformização dos dados) ⤑ dados transformados;
  5. Mineração dos dados (execução dos algoritmos de analises) ⤑ padrões;
  6. Interpletação/Avaliação ⤑ conhecimento;
Data Mining (Mineração de dados ou processo de extração da informação)

Minerar dados trata-se da descoberta de informações relevantes em grandes quantidades de dados armazenados (padrões, associações, mudanças, anomalias e estrutura), podendo estas estarem ocultas em bases de dados complexas, muitas vezes servindo como referência para prever comportamentos futuros servindo como base para tomadas de decisão.
Utiliza técnicas estatísticas e de IA, entre outras, para gerar informações úteis, como por exemplo dados compormentais. Para exemplificar estas técnicas temos as redes neurais artificiais, algorítimos para reconhecimento e análise de padrões, algoritimos de clustering ou agrupamento, técnicas de classificação e técnicas de regressão.

Modelagem de dados e informações

Em projetos de BI é usual a aplicação do conceito de modelagem dimensional de dados:
1. Dimensão: atributos descritivos para agrupamento em uma dada hierarquia;
2. Tempo: intervalos de agrupamento (horário, diário, semanal etc.);
3. Medidas ou fatos: dados referentes as dimensões e tempos;

Dados usualmente são armazenados em formato de cubo (OLAP) multimensional, permitindo rápida agregação e detalhamento das análises (drilldown, drilltrought, rollup etc.).
O grão ou granularidade define o grau mais alto de detalhes suportados. Se o grão for muito alto pode não ser possível solicitações de drilldown no nível desejado, porém para baixos níveis de granularidade (que permitam maiores detalhes), podem afetar o desempenho das consultas deixando o tempo de resposta mais longo, logo é preciso estar atento a este detalhes nas fases de projeto e dimensionamento.

Observando o diagrama com as topologias das redes móveis, podemos exemplificar o conceito de modelagem dimensional para a porção UTRAN (NodeB/RNC) apresentada abaixo:

topologia
Topologia redes móveis
cubo
Modelagem dimensional de dados
Exemplo para a topologia de redes móveis celulares apresentadas acima.
Processamento Analítico Online (OLAP)

Geração e resposta de consultas, solicitação de relatórios e gráficos ad hoc (próprio usuário gerar consultas de acordo com sua necessidade), realização de análises estatísticas, construção de apresentação visuais. Basicamento produtos OLAP oferecem recursos de modelagem, análise e visualização de grandes conjuntos de dados, oferencendo uma visão conceitual muldimencional.

OLAP versus OLTP

O OLTP é voltado para processamento de transações repetitivas e em grandes quantidades e manipulações simples. O OLAP envolve avaliação de muitos itens de dados em relacionamentos bem mais complexos na busca de padrões, tendências e exceções, sendo um método direto de suporte à descisão.

Data Warehouse

Database que armazena dados correntes e históricos e de fontes diversas possibilitando que informações sejam padronizadas e consolidadas. O processo que coleta os dados e insere no data warehouse é conhecido como ETL (Extraction, Transformation e Loading). O processo conhecido como OLAP (On-Line Analytical Processing) é responsável pela geração de informação (relatórios, dashboards etc.). Principais componentes do Data Warehousing:

  1. Fontes de dados (sitemas legados, sistemas OLTP, ERP, dados da WEB, logs etc.);
  2. Extração de dados;
  3. Carregamento de dados (normalmente é utilizada uma área de preparação onde os dados são transformados e limpos);
  4. Banco de dados;
  5. Metadados
  6. Ferramentas de middleware (permitem o acesso ao data warehouse, por exemplo consultas SQL diretas, aplicações front end etc.).
dw
Estrutura e visualização do data warehouse
Fonte: Business Intelligence: Um enfoque gerencial para a inteligência do negócio
(pg. 61, fig 2.1)
Metadados

Metadados são dados sobre dados, descrevem a estrutura e alguns significados a respeito de dados.
Dados que descrevem a sintaxe dos dados são denominados metadados sintáticos.
Dados que descrevem a estrutura de dados são denominados metadados estruturais.
Dados que descrevem o significados dos dados em determinado domínio são chamados metadados semânticos.

Arquiteturas e estruturas de tecnologia de data warehouse

Duas arquiteturas básicas com duas ou três camadas ou serviços:

  1. Software e serviço de data warehouse;
  2. Serviço de resgate de dados de várias fontes de dados (ETL);
  3. Front End ou aplicação de acesso ao usuário;
(Implementação dessas camadas é decisão do projeto, inclusive podendo ser agregadas em servidor único).

Importantes decisões de projeto:

  1. Qual SGBD usar;
  2. Utilização de processamento paralelo na arquitetura;
  3. Ferramentas de ETL a serem utilizadas;
  4. Ferramentas para análise de dados a serem utilizadas.
As figuras apresentas a seguir ilustram arquiteturas de data warehousing, e foram extraídas do livro "Business Intelligence: Um enfoque gerencial para a inteligência do negócio", entre as páginas 63 e 68 (figuras 2.2 a 2.6).

dw
Arquitetura de um data warehouse de três camadas.
dw
Arquitetura de um data warehouse de duas camadas.
dw
Arquitetura do data warehousing baseado na Web.
dw
Arquitetura de data warehousing empresarial.
dw
Arquitetura de data mart.
dw
Arquitetura em estrela de data mart.
dw
Warehouse empresarial e data store operacional.
dw
Arquitetura de data warehouse distribuída
dw
Arquiteturas alternativas para empreendimentos de data warehousing.
Data Mart

Tende a ser menor que o DW e armazenar dados de áreas específicas da organização. Podem ser criados posteriormente produzindo bases menores proporcionando processamento mais rápido, mas podem ser criados antes do DW também, dependendo da estratégia adotada.

dw
Contrastes entre as abordagens de desenvolvimento EDW e de data mart.