Prévia do material em texto
Guia de Bolso: Data Warehouse! Esse e-book tem como objetivo dá uma visão geral sobre Data Warehouse que é, vamos assim dizer, a base para o Business Intelligence tradicional… iremos apresentar alguns conceitos e técnicas utilizadas no dia a dia… mas antes disso, vamos comentar um pouco sobre BI (Business Intelligence). #Dica1 — Power BI, Tableau… não são BI. BI é conceito, não é ferramenta… O que é Business Intelligence? Termo usado para descrever decisões gerenciais tomadas com base em evidências e fatos (dados). A figura acima, mostra que BI é um conceito bem amplo, rodeado por vários outros conceitos e técnicas mais específicos, vamos assim dizer. Abrindo um parêntese (em relação a #Dica1): O Power BI, Tableau entram no conceito específico na imagem acima denominado: Self- service BI Business Intelligence, não é APENAS uma visualização com efeitos e animações, mas é também… Dados com qualidade (dados consistentes, completos, padronizados, com precisão numérica…), que tenham um Catálogo de dados e com um Data Warehouse (modelagem multidimensional — fato | dimensões) bem-feito e documentado… tudo isso visando atender a necessidade dos tomadores de decisões, gerando análises e insights que realmente agregam valor ao negócio. Dashboards bonitos, cheios de animações, cores etc., se não geram valor ao negócio, é simplesmente uma métrica de vaidade. Os dashboards oferecem exibições visuais de importantes informações consolidadas e organizadas numa única tela, para que possam ser digeridas num simples relance e facilmente exploradas e aprofundadas. Data Warehousing Um Data warehouse (armazém de dados) é uma coleção de dados produzidos para embasar a tomada de decisões; trata-se também de um repositório central de dados históricos e correntes de potencial interesse para gestores de toda a organização. Data Warehouse é como um banco de dados relacional projetado e otimizado para necessidades analíticas (OLAP). Data Warehousing é o ato de organizar e armazenar dados de forma a tornar sua recuperação eficiente e perspicaz. Também é chamado de processo de transformação de dados em informações. Tem como explicar essa imagem ai? Sim, tem como… vamos lá… Data Sources, são as múltiplas fontes de dados que temos em nossa organização, podem ser banco de dados (on-premise ou em cloud), planilhas e etc, esses dados são Extraídos, Transformados e Carregados (ETL) para um repositório temporário chamado ODS (Operational Data Store, por muitos também chamado de Stage area)e em seguida é realizado todo o processo e aplicação de técnicas da Modelagem Dimensional (OLAP) para criar as tabelas otimizadas para análise no Data Warehouse (os Data Warehouse (DW), podem ser divididos em Data Marts, uma espécie de DW setorial) e por último, os usuários utilizam esse Data Warehouse ou Data Marts para realizarem suas análises e gerar seus insights. Vamos agora a alguns conceitos que permeiam o Data Warehouse, não entrarei muito a fundo, mas servirá de guia para seus estudos! Operações OLAP OLAP — Online analytical processing É a capacidade para manipular e analisar um grande volume de dados sob múltiplas perspectivas (cubos). Um Data Warehouse é modelado no conceito de OLAP, enquanto os bancos de dados tradicionais (relacionais) é modelado no conceito de OLTP (Online Transaction Processing — esse é otimizado para inserções, atualizações, deleções, ou seja, para as necessidades do dia a dia da operação dos seus sistemas: ERP, CRM, Contábil, Financeiro etc.). OLTP — Otimizado para inserções, atualizações e deleções de dados ali no dia a dia da operação | OLAP — Otimizado para análises (foco do nosso estudo aqui) Operações Vamos utilizar o cubo abaixo para demostrarmos algumas das operações, ele contém 3 dimensões: Location, Time e Items… Cubo de estudo Segmentar ou fatiar (Slice) Ele seleciona uma única dimensão do cubo OLAP que resulta na criação de um novo subcubo (“corte para um valor fixo”). Com base no cubo de estudo fornecido, o Slice é executado na dimensão Time = “Q1” (Trimestre). Dividir ou picar (dice) Ele retorna um subcubo do cubo OLAP selecionando duas ou mais dimensões (“seleção de faixas de valores”). Aumentar/diminuir o foco (drill-down / roll-up) O usuário navega através de níveis de dados, indo desde os mais resumidos (menos foco — roll-up) até os mais detalhados (mais foco drill-down) Na operação de drill down, os dados menos detalhados são convertidos em dados altamente detalhados. Pode ser feito por: - Descendo na hierarquia do conceito - Adicionando uma nova dimensão Exemplo de Drill Down Já na roll up, é justamente o contrário do anterior. Ele executa a agregação no cubo OLAP. Pode ser feito por: - Subindo na hierarquia do conceito - Reduzindo as dimensões Fazer o pivô (pivot) Usado para modificar a orientação dimensional de um relatório ou de uma página de exibição de consulta. Também é conhecida como operação de rotação, pois gira a visão atual para obter uma nova visão da representação. No subcubo obtido após a operação de slice, a execução da operação de pivô fornece uma nova visão do mesmo. Desenvolvendo um Data Warehouse Abordagens de desenvolvimento de data warehouses • O modelo de Inmon: abordagem EDW (de cima para baixo) • O modelo de Kimball: abordagem por data mart (de baixo para cima) Qual modelo é o melhor? O que atender a necessidade do seu negócio. Detalhando um pouco as abordagens… Top Down (Inmon) Faz um todo, que irá atender a todos os setores • Vantagens: centralização, visão globalização •Desvantagem: implementação lenta e risco alto Botton Up (Kimball) Faz por setores e depois sobe para um todo • Vantagens: implementação e retorno rápido • Desvantagem: integrações entre áreas, descentralização Combinada Planejamento Top Down e Desenvolvimento Botton Up • Planejamento como um todo (e não apenas setorial) e a implementação (desenvolvimento) feita setorialmente e não como um todo. Top-Down x Bottom-Up Representação de dados em Data Warehouse Modelagem dimensional Um sistema baseado em recuperação de dados que suporta alto volume de acesso via consultas. Esquema em estrela (Star Schema): Estilo mais empregado e o mais simples de modelagem dimensional • Contém uma tabela fato central cercada e conectada por diversas tabelas dimensionais Esquema em floco de neve (Snow flake Schema): Uma extensão do esquema em estrela de tal forma que o diagrama de relação de entidades se parece com um formato de floco de neve. Galaxy Schema: Também conhecido como esquema de Constelação de Fatos. Contém mais de 1 tabela de fatos. As dimensões que são compartilhadas são chamadas de dimensões conformadas. Multidimensionalidade A capacidade de organizar, apresentar e analisar dados por várias dimensões, como vendas por regiões, por produtos, por vendedores e por tempo (quatro dimensões, no exemplo) Apresentação multidimensional: •Dimensões: produtos, vendas, mercado, segmentos, unidades de negócios, localizações geográficas, canais de distribuição, países ou indústrias •Medidas: dinheiro, volume de vendas, pessoas, lucro de inventário, realidade versus previsão •Tempo: diário, semanal, mensal, trimestral, semestral ou anual Esquema em Estrela versus esquema em Floco de Neve (Contextualizado acima) Star Schema (Esquema Estrela) O nome “estrela” se dá devido à disposição em que se encontram as tabelas, sendo a tabela fato centralizada relacionando-se com diversas outras tabelas de dimensão. Veja um exemplo da estrutura do Star Schema a seguir. Nesse modelo os dados são “desnormalizados” para evitar joins entre tabelas, diminuindo o tempo de consultas, no entanto devido a repetição de dados, utiliza mais espaço em disco.Vantagem desse modelo é a eficiência na extração de dados, o que é um grande diferencial em se tratando de um data warehouse Exemplo de uma Modelagem Star Schema Elementos da Modelagem Multidimensional • Tabelas dimensões • Tabelas Fatos • Medidas Tabela de Dimensões Uma dimensão é uma coleção de atributos textuais que são altamente correlacionados entre si. Exemplos: •Produto (nome do produto, detalhe do produto, linha do produto, unidade de venda do produto…) •Cliente (nome cliente, cpf, cnpj, endereço, cidade, estado…) Em uma base de dados de varejo, por exemplo, são comuns dimensões como produto, armazém, cliente, promoção e tempo. Exemplo de dimensões (destacadas em vermelho) Tabela de Dimensões — Data Um recurso valioso sem sombra de dúvida é uma boa dimensão Data (ou ainda calendário ou tempo). Ainda que uma estrela (um conjunto fato-dimensões) seja em si mesma um grande recurso analítico, ela é pouco útil se não agregar a capacidade de analisar os dados contra o tempo (Ano, Semestre, Mês, Semana, dia…) Tabela de Fatos A tabela de fatos sintetiza o relacionamento existente entre as diversas dimensões. Isto ocorre porque a chave da tabela de fatos é a associação das chaves primárias das tabelas de dimensões. Geralmente este tipo de tabela possui um ou mais fatos numéricos (ex. chaves, datas, valores, quantidades) de “fatos” que ocorreram (ex. de uma venda, compra, produção), além das chaves para as dimensões (ex. cliente, produto, vendedor) que fazem parte daquele “fato”. Exemplo de uma Tabela Fato (destacada em vermelho) Medidas Medidas são os atributos numéricos que representam um fato, a performance de um indicador de negócios relativo às dimensões que participam desse fato. Exemplos de Medidas são: • O valor total em reais das vendas por produto; • O número de unidades de produtos vendidas; • A quantidade em estoque de produtos; • O custo de venda por Vendedor, entre outros. Técnicas de Modelagem Multidimensional Aqui vou mostrar uma sequência de imagens de como transformar uma Modelagem Relacional — OLTP (base de dados relacional — operacional) para uma Modelagem Multidimensional. Do relacional para o Multidimensional Modelo Relacional (OLTP) Modelo que é utilizado nas bases de dados operacionais (ERP, CRM…). No nosso exemplo, temos uma modelagem relacional de uma base de dados de vendas. Modelo Relacional (OLTP) — Modelo que é utilizado nas bases de dados operacionais (ERP, CRM…) Exemplo 1 — Dimensões envolvendo Pessoa • Do Relacional … • para o Multidimensional Assim é como fica no modelo Multidimensional (dimensões) Exemplo 2 — dimensão Objeto • Do Relacional para o Multidimensional Exemplo 3 — fato Vendas • Do Relacional para o Multidimensional Exemplo 4 — completo Aqui é o modelo completo, transformando uma Modelagem Relacional (OLTP) para uma Modelagem Multidimensional • Do Relacional • para o Multidimensional Outros pontos importantes relacionados: Visualização de dados É a apresentação de informações em formato imagético ou gráfico. Ela permite que tomadores de decisão vejam os resultados de análises visualmente, para que possam compreender conceitos difíceis ou identificar novos padrões. Storytelling Contar histórias é a descrição detalhada de conceitos, opiniões e experiências pessoais por meio de narrativas que provocam respostas emocionais e insights. Trata-se de aproveitar as histórias para envolver seu público ou esclarecer qualquer coisa. E é uma das maneiras mais fáceis de levar o público junto para tornar uma conversa animada e envolvente. Segurança Segurança e privacidade de informações são as principais preocupações de um profissional de data warehouse • Proteger os ativos mais valiosos • Regras governamentais (LGPD, etc.) • Deve ser explicitamente planejado e executado Data Warehouses massivos e escalabilidade Escalabilidade — As principais questões envolvendo a escalabilidade são: • quantidade de dados no data warehouse; • o ritmo esperado de crescimento; • a quantidade de usuários concomitantes; • a complexidade de suas consultas. Possuir boa escalabilidade significa que consultas e outras funções de acesso a dados crescerão linearmente (na melhor das hipóteses) em relação ao tamanho do data warehouse. Sei que não é tudo maravilha… quais os problemas mais comuns no dia a dia? Falta • Documentação • Não tem Diagramas de Entidade e Relacionamento • Não tem Dicionário de dados — Gerar dicionário (SQL Server) • Na maior parte das vezes, temos apenas as tabelas do banco de dados • “Data Warehouses” pegando dados direto de produção • “Data Warehouses” sem utilizar modelagem multidimensional Problemas na implementação de data warehouses • Começar pela cadeia errada de patrocínio • Estabelecer expectativas que você não pode cumprir • Comportar-se de forma politicamente ingênua • Carregar o data warehouse com informações só porque estão disponíveis • Acreditar que projetar bases de dados com data warehouses é o mesmo que projetar bases de dados transacionais • Escolher um gestor de data warehouse voltado para a tecnologia, em vez de voltado aos usuários https://github.com/aasouzaconsult/Scripts-para-DBA/blob/master/1.%20Rotinas%20Iniciais/2.%20Documenta%C3%A7%C3%A3o/1.%20Dicion%C3%A1rio%20de%20Dados%20(Mais%20Completo).sql https://github.com/aasouzaconsult/Scripts-para-DBA/blob/master/1.%20Rotinas%20Iniciais/2.%20Documenta%C3%A7%C3%A3o/1.%20Dicion%C3%A1rio%20de%20Dados%20(Mais%20Completo).sql Referências Apresentação sobre Dados, Modelagem Dimensional, Ferramentas, Power BI e Ciência de Dados Datawarehouse Concepts Modelagem Multidimensional Kimball Group Espero que tenham gostado! Alex Souza Venham participar da: https://www.youtube.com/watch?v=BgaZ7TrpWsk https://www.youtube.com/watch?v=BgaZ7TrpWsk https://avssridhar.medium.com/datawarehouse-concepts-983486d013d0 https://medium.com/blog-do-zouza/modelagem-multidimensional-e65f02bbd60 http://www.ralphkimball.com/ https://aasouzaconsult.kpages.online/comunidade-de-analise-de-dados