As Etapas do BI — Data Warehouse? ETL/EL-T? What?

Murilo Cremon
Murilo Cremon
Published in
7 min readMay 8, 2020

No meu post anterior (Business Intelligence de Fato), relatei o que era BI e inseri a imagem do fluxo abaixo, acabei dando um pouco de contexto de como funciona o processo apresentado, porém, o assunto é mais detalhado, principalmente quando o foco é Data Warehouse e ETL.

Neste post o intuito é disseminar o fluxo da imagem e as etapas de um projeto de BI e dar continuidade no que prometi.

É comum vermos em artigos, blogs e sites relacionados a BI dizendo que boa parte dos projetos de Business Intelligence não dão certo ou não vão para frente. Isso se deve por conta da complexidade de execução de projetos de BI, principalmente quando englobamos fluxos de ETL com regras de negócios complexas e modelos de dados ineficientes.

Mas com isso, existem ações a serem seguidas que podem colocar mais segurança no projeto. Vamos lá.

Antes ainda dos data sources…

Antes de chegarmos a primeira etapa de Data Sources, segundo a imagem. É essencial colocarmos uma etapa antes, a que é comumente chamada de Levantamento de Requisitos, que é o ponto de partida de qualquer projeto.

O Levantamento de Requisitos em BI ou em qualquer outro tipo de projeto, é para entender as necessidades do usuário. Com isso, podemos formalizar suas devidas demandas e estar claro quais pontos cruciais devemos atacar.

Em BI não é diferente, devemos compreender quais as necessidades de negócios e quais problemas querem resolver, e para isso, existem perguntas básicas que podem auxiliar nessa etapa (que sinceramente, me ajudam e muito), que são:

  • O que gostaria de estar medindo?

Quando perguntado, o usuário de negócio tende a responder a métrica a ser medida, seguida pelo o que ele gostaria de estar medindo. Como por exemplo: Valor de Vendas por Produto.

Apenas nessa jogada, sabemos que a métrica a ser medida é o Valor de Vendas, e logo com isso, já temos em mãos um dos fatores mais importante, por qual atributo/campo (uma suposta dimensão) que essa métrica deverá ser medida, o que faz total sentido se formos pensar em ponto de vista de negócio.

Outra questão que pode auxiliar, no entendimento das necessidades.

  • Pelo o que gostaria de estar medindo?

É nessa pergunta, que identificamos quais os campos que deverão ser incluídos em nossos modelos de dados, que provavelmente irão compor as dimensões, para que possamos responder as questões do nosso usuário de negócio.

Além dessas duas perguntas, existe talvez mais uma pergunta que eu particularmente gosto de fazer.

  • Por quais filtros de buscas gostaria de visualizar?

Essa pergunta me da um norte de mais alguns possíveis campos que não foram apresentados nas perguntas anteriores, e que certamente entraram nas dimensões do modelo de dados e serão utilizados em futuras análises.

Acreditem, essas formas de abordagem que apresentei não são as mais comuns, é muito mais comum identificarmos as necessidades através de perguntas mais simples, como, por exemplo:

  • O que gostaria de estar respondendo?
  • Tem mais alguma pergunta que gostaria de responder?

Eu particularmente não gosto deste tipo de abordagem por alguns pontos:

  • A chance de ter retrabalho é maior;
  • Não fica claro quais campos/atributos irão compor o modelo de dados;
  • Podemos deixar passar algumas observações por falta de detalhes;
  • O usuário de negócio pode não saber de todas as questões;
  • Etapa terminada com compreensão do negócio reduzida;
  • Limita o escopo.

Já da outra forma, conseguimos compor uma matriz que relaciona as necessidades devido ao grande número de detalhes, temos uma alta compreensão e entendimento sobre o negócio e necessidade do usuário, além de, facilitar o desenvolvimento tanto de um modelo dimensional, quanto de uma futura visualização para análise de dados e claro, estamos propenso a menos erros, devido que foi em partes e os detalhes esboçados.

Com essas informações levantadas, podemos realizar um documento que será validado pelo próprio usuário, evitando assim retrabalhos e caso tiver algum novo apontamento, irá colocar diretamente no documento. Toda a abordagem e levantamento de requisitos em um projeto de BI deve ser altamente compreensível, pois a taxa de retrabalho é grande, então devemos sempre ser minuciosos e fazer um ótimo levantamento de necessidades e elaborar validações, para evitar o mesmo.

Existem técnicas para o Levantamento de Requisitos para projetos de BI, evitando o retrabalho, porém a que mais gosto e aplico em meu cotidiano é chamada de Agile BI, que mistura metodologias ágeis com necessidades de negócio, evitando assim o retrabalho e dores de cabeças futuras. Irei fazer um post sobre essa metodologia, pois ela ajuda e muito, nós profissionais de Inteligência de Negócio.

Agora sim! Vamos ao fluxo da imagem

A imagem contém 4 etapas distintas, as mesmas possuem objetivos diferentes, são elas, Data Sources, ETL, Data Warehouse e Business Intelligence.

Etapa 1: Data Sources

Um data source é qualquer fonte que possamos extrair dados para gerar algum tipo de inteligência, sejam elas, as mais comuns:

  • Arquivos de Textos e CSVs;
  • Arquivos de Excel;
  • JSON;
  • API;
  • Conexão com Banco de Dados.

Na fase de Data Sources, precisamos identificar e mapear quais são as fontes de dados que precisaremos extrair, para que possamos compor o modelo de dados do nosso futuro Data Warehouse e dar início a extração do nosso ETL. Nesse caso, todo o mapeamento de fontes são destinando a letra E de extract, cujo da o ponta pé inicial no ETL.

Etapa 2: ETL (Extract, Transform and Load)

Após o mapeamento das fontes, é hora de desenvolver e executar o processo de ETL.

O processo de ETL, é o desenvolvimento de um fluxo de extração, transformação dos dados e a carga dos mesmos, como exemplifica a imagem abaixo.

Cada letra da sigla ETL, corresponde a uma tarefa e objetivo distintos, vamos a elas:

  • E — Extração (Extract): Sua função primordial é extrair os dados de diversas fontes, que foram mapeadas na etapa anterior (etapa de data sources).
  • T — Trasformação (Transform): Após a extração dos dados, vem a parte de transformação dos mesmos. Neste processo, o intuito é realizar a preparação antes de seu armazenamento, isso consiste basicamente em, junção de bases, limpeza, organização e até mesmo aplicação de regras de negócio.
  • L — Carga (Load): Na etapa de carga, armazenamos todos os dados que passou pela transformação e preparação necessária para ter uma persistência significativa. O processo de carga, pode ser realizado em tabelas de banco de dados ou arquivos.

Existem ferramentas específicas para o desenvolvimento de ETL, como por exemplo:

  • Pentaho Data Integration (antigo Kettle);
  • Talend;
  • Power Center;
  • ODI.

Etapa 3: Data Warehouse

Conforme o fluxo, a etapa 3 consiste no Data Warehouse, que é uma organização de Banco de Dados (chamados de Data Marts) para análises e business intelligence.

O intuito de um Data Warehouse, é o armazenamento de informações de forma performática e coerente com a intenção de realizar análises para valores estratégicos.

Um DW é composto por Data Marts, que por sua vez, são subconjuntos de informações, e estes subconjuntos geralmente são compostos por dois tipos de tabelas, que chamamos de Tabela Fato e Tabela Dimensão.

  • Tabela Fato: Armazena o fato propriamente dito, armazenando as métricas do negócio e as chamadas foreigns keys (chave estrangeira) das tabelas de dimensões.
  • Tabela Dimensão: Sua principal função é armazenar os dados que descrevem as métricas da Tabela Fato.

Basicamente, existe um modelo de dados que realiza a composição do DW, chamado Modelo Dimensional, cujo seu objetivo é proporcionar melhor performance nas consultas para realizar análises, além da ideia principal, que é a representação de um cubo de dados, cujo o objetivo é visualizar a métrica de diversos ângulos (assunto para um outro post).

Existem técnicas de modelagem para Data Warehouse, que abordarei mais para frente aqui no blog, mas a que mais gosto e que vejo notoriamente um desempenho fenomenal, é o que chamamos de Data Vault. Já pensou em criar um DW totalmente escalável? Pois é, essa é um dos vários objetivos dessa técnica. Mais isso é um assunto para outro post.

Etapa 4: Business Intelligence

Essa é a etapa final, ao modelar um modelo dimensional, está na hora de realizar as análises e extrair o máximo possível de informação relevante para o negócio, e é na fase de Business Intelligence que isso ocorre.

Nessa fase, podemos realizar explorações dos dados de diversas formas, através das ferramentas mais comuns:

  • Ferramentas de BI e Análise de Dados (Tableau, Power BI, Qlik, Looker) que seria o ideal, criação de Dashboards e KPIs;
  • AdHoc;
  • OLAP
  • Data Mining

O BI só trás benefícios e otimiza os processos de gestão, facilitando assim as tomadas de decisões para pontos estratégicos.

É importante se atentar a todas as etapas, pois isso facilitará todo a compreensão e andamento dos processos para a elaboração eficiente do projeto.

--

--

Murilo Cremon
Murilo Cremon

Bem Vindo! Neste blog, compartilharei minhas experiências e conhecimentos sobre Business Intelligence, Visualização de Dados, Tableau e outros assuntos!