Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Arthur Mendonça Aula 02 1 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Aula 02 Bancos de Dados para Analista - Tecnologia da Informação do TCE/RJ Prof. Arthur Mendonça Prof. Arthur Mendonça Aula 02 2 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Sumário SUMÁRIO 2 INTRODUÇÃO 3 TEORIA DA AULA 4 BUSINESS INTELLIGENCE 4 ETL 4 Integração 6 Recuperação 6 MODELAGEM DIMENSIONAL, DW E OLAP 8 OLTP x DW/BI 9 Data Marts 14 O MODELO 16 Esquema Estrela 16 Tabela Fato 17 Dimensões 21 OLAP 26 TÓPICOS AVANÇADOS 38 Modelagem de Dimensões 38 Slowly Changing Dimensions 40 Modelagem das tabelas Fato 42 Uso de índices em DW 44 QUESTÕES COMENTADAS PELO PROFESSOR 47 LISTA DE QUESTÕES COMENTADAS 64 GABARITO 73 RESUMO DIRECIONADO 74 REFERÊNCIAS 78 Prof. Arthur Mendonça Aula 02 3 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Introdução Olá! Bem-vindo a mais uma aula do nosso curso de Bancos de Dados para o TCE/RJ! Na aula de hoje vamos abordar um conceito muito interessante chamado modelagem dimensional. Os tópicos abordados serão os seguintes: 2.1 Arquitetura e aplicações de data warehousing, ETL e Olap. 2.2 Técnicas de modelagem e otimização de bases de dados multidimensionais. A aula de hoje foca em sistemas analíticos, explicando o que é Business Intelligence e como funciona a modelagem dimensional, abordagem que tem bastante utilidade no subsídio à tomada de decisão. ATENÇÃO! Se você também é aluno do nosso curso de Análise de Dados e Informações, já deve ter estudando boa parte do assunto de hoje na Aula 03. Se esse foi o caso e você não julga ser necessário revisar os tópicos, sugiro que pule a maior parte da aula e estude somente a seção de TÓPICOS AVANÇADOS EM MODELAGEM DIMENSIONAL. Ela contém alguns diferenciais que podem ser explorados na sua prova, que tende a ter um enfoque mais técnico na modelagem de sistemas dimensionais. Vamos lá? Prof. Arthur Mendonça Aula 02 4 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Teoria da aula Business Intelligence Para começar a nossa aula, vamos relembrar o que falamos a respeito do processo de Business Intelligence (BI), ou Inteligência de Negócio, que ocorre no âmbito de organizações. Nós já vimos esse assunto na primeira aula, mas julgo importante que você dê uma nova leitura, mesmo que breve, para contextualizar o restante dos temas da aula! BI é uma área da tecnologia da informação que tem como objetivo geral coletar e processar dados para que se extraia informações relevantes para tomada de decisão. Embora tenha a palavra business – ou negócio – no nome, as técnicas de BI são plenamente aplicáveis ao setor público e estão ganhando crescente importância nos mais diversos órgãos e entidades. Tome “negócio” aqui como sendo o ambiente de qualquer organização. Não há um processo rígido definido para Business Intelligence, mas em linhas gerais podemos apresentar o seguinte fluxograma que guarda relação com o assunto cobrado no seu concurso: ETL No início desse processo de Business Intelligence, temos a parte que envolve coleta, tratamento e armazenamento dos dados. Essa etapa é conhecida como ETL – Extract, Transform, Load. As tarefas efetivamente executadas em um processo de ETL variam bastante e vão depender da natureza dos dados e dos objetivos dos usuários. Em linhas gerais, as fases do ETL são as seguintes: A coleta (ou extração) se destina a capturar os dados de diversas fontes e sistemas que serão utilizados no processo de BI. Por exemplo, em uma empresa é comum que haja um ERP, o famigerado “sistema”, que é aquele software que gerencia a maior parte das atividades da empresa, possibilitando o controle de vendas, clientes, ETL •Coleta •Tratamento •Armazenamento Integração •Data Warehouse (DW) Recuperação •Relatórios e dashboards •OLAP (Multidimensional) •Mineração de Dados •Análise Prof. Arthur Mendonça Aula 02 5 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ fornecedores, contas a pagar e a receber, RH, etc. Esse ERP é uma fonte muito valiosa para a coleta, já que por ele circula boa parte dos dados relevantes para a organização. Também podem ser coletadas informações de planilhas, arquivos .txt, sites da internet, sistemas auxiliares, dentre outros. A escolha das fontes é um importante passo no âmbito de BI, pois esses dados inicialmente coletados é que serão a base para o resto do processo. Em seguida, na etapa de transformação, pode ocorrer a limpeza dos dados, corrigindo possíveis erros de entrada nos dados (erros de digitação na inserção, por exemplo), ajustes de tipo de dados e demais desconformidades com os padrões de qualidades definidos pelos usuários e projetistas do sistema. Nessa etapa, os dados são tratados para que se tornem mais corretos ou relevantes para os propósitos do BI. Outra tarefa que é realizada no âmbito da transformação diz respeito à padronização dos dados para a futura integração. Essa tarefa é de fundamental importância quando estamos coletando dados de muitas fontes, já que os dados de diferentes sistemas ou arquivos podem assumir diferentes padrões para representar a mesma coisa. Para exemplificar, imagine que você está trabalhando na fiscalização de uma empresa pública e precisa cruzar informações de diversos sistema. Contudo, o CNPJ da entidade está escrito de forma diferente em cada um desses sistemas. A fase de transformação é responsável por tratar os dados dessas fontes e, dentre outras tarefas, convertê-los em um único padrão: O mesmo processo poderia se aplicar, por exemplo, à conversão de diversas escalas de dados em uma só. Imagine que uma fonte registra uma determinada medida em milímetros, outra em metros e uma terceira em centímetros. Para facilitar a análise e, por consequência, a tomada de decisão, seria interessante construir uma representação unificada, com a escolha de uma só unidade (por exemplo, centímetros) e a conversão de todas as outras para essa escolhida. Essas duas primeiras etapas do ETL, de extração e transformação geralmente se utilizam de uma base de dados temporária, chamada staging area. Esse banco de dados intermediário é considerado uma área de 12.345.678/0001-10 CNPJ:12.345 .678/0001-10 1234567800 0110 12.345.678/0 001-10 Prof. Arthur Mendonça Aula 02 6 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ transição onde se pode inserir os dados oriundos da extração e realizar as transformações necessárias, tudo isso antes de carregá-los no data warehouse (que será o destino dos dados). A utilização dessa staging area se dá de modo a não sobrecarregar nem o ambiente de produção (os sistemas operacionais da empresa) nem o próprio data warehouse com as operações de transformação. Por fim, temos o armazenamento ou carregamento. Nesta etapa, os dados já coletados e tratados são transferidos para o banco de dados (ou qualquer estrutura que armazene dados) de destino, que geralmente é um BD especial voltado para análise chamado data warehouse. O processo de ETL costuma ser o mais crítico e mais demorado na formação de um sistema de BI. Periodicidade do ETL Esse processo de ETL ocorre de forma periódica. O quão frequente ele será vai depender de muitos fatores, como a complexidade do processo, as necessidades dos usuários de enxergarem dados atualizados ou mesmo a frequência de atualização das diversas fontes de dados. Assim, podemos ter processos de ETL que serão executadosa cada 5 minutos, 1 hora, 1 semana ou mesmo 1 mês, por exemplo. Integração O Data Warehouse (DW) ou Armazém de Dados é, na maioria das vezes, o responsável por conter essa integração de dados de diferentes fontes. O DW é um repositório que contém os dados dos mais diversos setores de uma organização, servindo de base para que se criem relatórios, dashboards, cubos OLAP ou se realize outras formas de análise. Não vamos aprofundar muito o conceito aqui, já que teremos um momento específico para isso. O importante é que você saiba que a integração de dados nada mais é do que esse processo de combinação de dados de diversas fontes em uma base de dados unificada e tudo que o envolve. Preste atenção: a integração é um processo que se inicia já desde a coleta, com o planejamento das diferentes fontes de dados que vão compor o conjunto final, e passa pelas etapas subsequentes até que se chegue na base de dados final. Recuperação Os dados já coletados, tratados, armazenados e integrados devem ser tornados acessíveis para que sejam úteis. Neste processo de recuperação ou extração é possível alimentar diferentes sistemas de visualização e análise de dados para subsidiar a tomada de decisão. Esta etapa requer um forte conhecimento a respeito dos propósitos que se têm para a utilização da informação e a respeito do negócio subjacente. Ou seja, para que possamos trabalhar com esses dados refinados de modo a torná-los úteis à tomada de decisão, precisamos saber primeiro para que queremos fazer isso e quais são os aspectos importantes do negócio que precisam ser representados. Qual a decisão precisa ser tomada? Qual a aplicabilidade da informação recuperada? Como explicitar os dados de uma maneira útil e clara? Essas perguntas devem permear todo este processo. Visualização se refere à produção de relatórios e dashboards que ajudam a compreender a dinâmica dos dados em um contexto de negócio. São documentos que contém muitas vezes gráficos, tabelas e dados em uma forma visualmente agradável. Prof. Arthur Mendonça Aula 02 7 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Fonte: https://powerbi.microsoft.com/pt-br/what-is-power-bi/ A partir da integração dos dados transformados em um data warehouse, também é possível se utilizar de cubos OLAP e de Mineração de Dados para enriquecer a análise dos dados. Ainda vamos ver esses conceitos, então não se preocupe! (CESPE – ANTAQ – 2014) Acerca de ferramentas de BI (business intelligence), julgue o próximo item. O Módulo de ETL (extract transform load), dedicado à extração, carga e transformação de dados, coleta informações em fontes como sistemas ERP, arquivos com extensão TXT e planilhas Excel. RESOLUÇÃO: A etapa de extração do módulo de ETL de um sistema de Business Intelligence se dedica a coletar dados de diversas fontes para posterior transformação e carregamento na base de destino. Você pode ter achado que a assertiva estava errada por dizer que são coletadas informações de diferentes fontes, mas a questão foi considerada correta. Acontece que as bancas não costumam focar muito nesse aspecto formal da diferença entre dado, informação e conhecimento em questões que não dizem respeito a esse assunto. Então, minha recomendação é: a não ser que a questão trate explicitamente da diferença entre esses conceitos ou o erro seja muito óbvio, você pode considerar a diferença como sendo irrelevante para a resposta. Gabarito: C (CESPE – Banco da Amazônia – 2012) Julgue o item que se segue: O processo de extração, transformação e carga (ETL) ilustrado permite extrair dados de diversas fontes de dados e migrá-los para o data warehouse, mantendo sua estrutura e normalização originais. Prof. Arthur Mendonça Aula 02 8 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ RESOLUÇÃO: Pense comigo. As fontes de dados em um processo de ETL costumam ser heterogêneas, variadas. Dessa maneira, não há como manter sua estrutura original. Aliás, o propósito do processo é justamente extrair os dados e transformá-los, preparando-os para a integração no seu destino, geralmente o data warehouse. Gabarito: E Modelagem dimensional, DW e OLAP As organizações, tanto do setor privado quanto do público, têm uma grande necessidade de extrair informações úteis a partir da infinidade de dados que trafegam todos os dias em seus ambientes computacionais. A informação adequada fornecida na hora certa pode ser a diferença competitiva para uma empresa ou a chave para uma política pública bem-sucedida. O processo que parte da coleta dos dados brutos de diversas fontes e chega até o compartilhamento e o monitoramento pelo usuário é chamado de Business Intelligence (Inteligência de Negócios). O BI, como é chamado, é o conjunto de técnicas e ferramentas que propicia esse processo e apoia a gestão, servindo de suporte à tomada de decisão. Falamos um pouco sobre esse processo na nossa primeira aula. Parte do processo de BI envolve a construção de um Data Warehouse (Armazém de Dados). O DW de uma empresa é um banco de dados especializado, que serve como repositório central de dados de toda a empresa. Ele tem como objetivo servir de base de consulta para que se realize análises através de relatórios visuais, painéis gerenciais, técnicas de mineração de dados e outras ferramentas que citaremos mais à frente. DW Relatórios Painéis Gerenciais Análise OLAP Mineração de Dados Prof. Arthur Mendonça Aula 02 9 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ OLTP x DW/BI Bom, até aí tudo bem, mas creio que ainda não ficou muito clara qual é a diferença entre um banco de dados relacional utilizado pelos sistemas transacionais de uma empresa e um DW, não é? Os sistemas transacionais das organizações, como aqueles que lidam com transações bancárias, registram vendas, processam as atividades operacionais, dentre outras inúmeras funcionalidades, são conhecidos como OLTP – Online Transaction Processing, ou Processamento de Transações em Tempo Real. Esses sistemas OLTP comumente fazem uso de bancos de dados relacionais normalizados, pois são mais focados em ter rapidez na execução das inserções e atualizações de dados e diminuir as redundâncias. Contudo, ao realizar esse processo de normalização geralmente temos a geração de mais entidades (tabelas) no modelo de dados. Se por um lado essa abordagem economiza o espaço em disco e otimiza a execução dos sistemas OLTP, por outro lado esse fator dificulta a extração e a análise dos dados, já que para obter determinada informação muitas vezes precisamos realizar operações de junção entre diversas tabelas distintas. Esses sistemas OLTP também são otimizados para lidar com uma transação por vez, devido à necessidade de manutenção da integridade do banco de dados relacional que está sendo utilizado. Além disso, os dados tendem a ter uma frequência maior de atualizações. Se uma filial da organização muda de endereço, por exemplo, o OLTP provavelmente irá apenas atualizar os campos correspondentes da tabela, ao invés de manter um histórico da informação. Já os sistemas de Data Warehouse/Business Intelligence têm outros propósitos. A ideia aqui passa a ser no fácil acesso aos dados para leitura, ao contrário da escrita, de modo a criar novas visões intuitivas sobre os dados para facilitar a tomada de decisão. Veja as principais diferenças entre OLTP e os sistemas de BI/DW no quadro a seguir, para então passarmos a definir o que é exatamente um data warehouse e a modelagem dimensional. OLTP Execução operacional do negócio Alta frequência de atualização Normalizados Alta performance para manipulação de dados BI/DW Fator estratégico e tomada de decisão Poucas atualizações,manutenção de histórico Desnormalizados Possibilitam análise de grandes volumes de dados Prof. Arthur Mendonça Aula 02 10 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Kimball (2013) definiu alguns objetivos para um sistema de DW/BI. Não precisa decorar a lista a seguir, só entender, pois ela não costuma ser cobrada diretamente nas provas de concurso. • O sistema deve tornar a informação facilmente acessível. o O conteúdo desse tipo de sistema deve ser compreensível para o usuário, não somente para o desenvolvedor. O sistema deve utilizar termos utilizados pelos usuários, ser fácil e intuitivo de se utilizar. • O sistema deve apresentar a informação de forma consistente o Os dados só devem ser apresentados ao usuário final quando corretamente processados, limpos e com sua qualidade assegurada. • O sistema deve ser adaptável a mudanças o Requisitos de usuários e regras de negócio mudam o tempo todo. Um bom sistema de DW/BI deve ser capaz de se adaptar a essas mudanças. • O sistema deve apresentar as informações de uma maneira tempestiva o Não adianta nada apresentar uma informação estratégica sem que os dados estejam atualizados na janela de tempo adequada. Dependendo do negócio, pode ser necessário que os dados estejam atualizados até mesmo segundo a segundo. • O sistema deve proteger os ativos informacionais da entidade o Os dados em um DW têm informações potencialmente sigilosas e estratégicas, como carteira de clientes e margens de lucro. O sistema deve ser seguro o suficiente para prevenir o acesso não autorizado. • O sistema deve servir como uma fundação confiável para uma melhor tomada de decisões. • O sistema deve ter uma boa aceitação pela comunidade do negócio para que ele possa ser considerado bem-sucedido. Com esses requisitos em mente, temos que a modelagem dimensional, ainda segundo Kimball (2013), é a preferida para apresentar dados analíticos, já que atende a dois requisitos principais: ü Entrega dados compreensíveis para os usuários de negócio ü Entrega uma boa performance de consulta Assim, podemos concluir que modelagem dimensional pode trabalhar com o mesmo conjunto de dados de um sistema OLTP, mas os organiza de maneira a maximizar a compreensibilidade e a performance de leitura (ao invés de escrita). Para completar essa conceituação inicial, trago quatro características importantíssimas dos data warehouses definidas por Bill Inmon, que é considerado o pai de Data Warehousing. Grave bem pois sempre cai em prova! Para Inmon (2005), um DW é: Prof. Arthur Mendonça Aula 02 11 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Orientado a Assuntos Os dados estão organizados de tal maneira que todas as estruturas associadas a determinado assunto estão interligadas. Por exemplo, o assunto “Vendas” em uma empresa possui o envolvimento de diversos setores e sistemas, incluindo as atividades de processamento do pedido, do pagamento, de logística, cobrança, etc. Assim, um DW que contém informações a respeito de Vendas vai incluir dados de todos esses locais. Integrado Como os dados são orientados a assuntos e vêm de múltiplas fontes (outros bancos de dados, planilhas, sistemas transacionais, etc.), é comum que determinadas informações estejam representadas de maneiras distintas, já que os desenvolvedores desses outros sistemas e arquivos não os criaram pensando em uma integração futura. Acontece que em um data warehouse essa representação precisa ser unificada de modo a permitir a análise conjunta dos dados, tendo em vista determinado assunto. Assim, nomes de campos, tamanhos e tipos de atributos, estrutura de chaves primárias, etc. precisam ser unificados. Um exemplo clássico desse processo de integração é o campo Sexo (ou Gênero). O mesmo dado pode estar representado de diferentes maneiras nas diversas fontes, mas no processo de BI/DW é realizada essa integração: Vendas Contas Produtos Prof. Arthur Mendonça Aula 02 12 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Além disso, pode haver redundância indesejada de dados, já que registros de múltiplas fontes podem conter as mesmas informações. Essas redundâncias também devem ser atacadas durante a transformação realizada durante o processo de integração realizado pelo ETL. Não-volátil Os dados em um DW são carregados periodicamente (geralmente em grande quantidade de registros de uma só vez) e depois disso podem ser acessados pelos usuários, mas nunca atualizados. Isso é um comportamento distinto dos sistemas transacionais, que, como vimos, sofrem vários acessos, inserções, remoções e atualizações de dados conforme a necessidade. O propósito dessa característica do DW é manter um histórico dos dados. Quando há alguma modificação, um novo registro é armazenado e uma data/hora atribuída a ele. Assim, um registro é uma “fotografia” dos dados estática no tempo. Entenda que uma tabela presente em um DW pode ser atualizada, adicionando-se novos registros quando ocorre a carga de dados, o que geralmente é evitada é a atualização ou remoção dos registros já existentes nessas tabelas. Note, contudo, que não é absolutamente proibido que se altere ou remova um registro no data warehouse, já que é possível que tenham ocorrido erros nas inserções iniciais que precisem ser corrigidos ou mesmo seja necessário remover dados muito antigos, que não servem mais para a análise, liberando assim espaço em disco para novos registros. m, f homem, mulher h, m m, f Cliente •Endereço atual Cliente •Endereço antigo •Endereço atual Cliente •Endereço antigo •Endereço antigo •Endereço atual Prof. Arthur Mendonça Aula 02 13 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Em via de regra, para fins de prova, você pode considerar que os dados já presentes em um DW não são atualizados. Contudo, se o examinador fosse muito taxativo, dizendo “em hipótese alguma é possível que se remova ou altere algum registro de um data warehouse...”, eu mesmo marcaria falso! Variante no tempo Pode parecer redundante com a característica anterior, pois a variância no tempo é uma característica decorrente da última. Ela diz respeito ao fato de que um registro no DW sempre está ou esteve correto (válido) em algum período no tempo. Em alguns casos, um registro possui uma data de inserção, em outros, datas em que esteve “em vigor”. Sempre há algum componente temporal no DW que vai indicar qual é o dado correto quando se estiver analisando determinado período. Um bom exemplo para isso são os dados de um cliente. É comum que clientes troquem de endereço. Para realizar determinadas análises, como por exemplo levantamentos a respeito do mercado consumidor em determinadas cidades, precisaríamos ter essas informações atuais (para saber como está o agora) e históricas (para analisar a evolução do mercado ao longo dos anos). Assim, é importante que se guarde a informação original e suas modificações posteriores. Essa abordagem pode ser feita populando assim os registros de uma tabela: Cliente Cidade Data de Modificação José da Silva Recife - PE 17/08/2003 José da Silva Fortaleza - CE 21/03/2011 José da Silva Crato - CE 06/02/2018 Veja que há múltiplos registros para uma mesma pessoa, cada um válido em um determinado ponto no tempo. Prof. Arthur Mendonça Aula 02 14 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Data Marts Um outro conceito interessante para a sua prova é o de data mart, ou repositório de dados. Um data mart (DM) é nada mais que um subconjunto de um data warehouse quegeralmente foca em uma área específica da organização, como por exemplo Vendas, Contabilidade, Marketing, etc. A diferença de um data mart para um data warehouse, então, reside apenas no escopo abarcado pelo sistema. É lógico concluir que os data marts apresentam escopo mais reduzido, enquanto que DWs costumam abarcar todas os assuntos pertinentes a uma determinada organização. Esses DMs podem ser dependentes ou independentes. Um data mart dependente nada mais é do que um data mart originado de um data warehouse, uma segregação do DW empresarial. Enquanto isso, por razões de custos ou estratégia, uma organização pode decidir criar somente um pequeno DW setorial, que não abarque toda a empresa, mas só uma área ou setor. Esse último é o chamado data mart independente. Posteriormente, os vários data marts independentes podem vir a compor um DW empresarial. Inmon e Kimball defendem abordagens diferentes para a construção de data warehouse e data marts. Inmon (2005) defende que o processo deve ser top-down: Ou seja, no processo de BI/DW de Inmon há primeiro a criação de um DW para posterior segregação em data marts específicos e daí o acesso aos dados pelos usuários através da geração de relatórios, mineração de dados, etc. Isso traz algumas desvantagens, já que o processo de desenvolvimento é mais longo e o custo inicial é mais alto. Contudo, a manutenção é mais fácil e os custos posteriores para a segregação dos data marts são consideravelmente menores, já que a estrutura como um todo já está pronta em forma de DW de nível empresarial. Já Kimball (2013) define o processo como sendo mais ou menos assim: Data Warehouse Data Mart Fontes de Dados ETL (staging area) DW Empresarial Data Marts Acesso aos Dados Prof. Arthur Mendonça Aula 02 15 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ No modelo de Kimball, os dados são extraídos das fontes e transformados para serem carregados em um DW modelado de acordo com o esquema estrela ou em um cubo OLAP. Falaremos sobre essas estruturas em breve, o importante agora é que você saiba que o DW de Kimball é criado através da composição de diversos data marts. Logo, tem-se que essa abordagem é conhecida como bottom-up. Kimball concebeu uma arquitetura chamada matriz de barramento para auxiliar no desenvolvimento de um data warehouse. Essa matriz é um diagrama que dispõe, nas linhas, os processos de negócio da organização. Já nas colunas, são dispostas as dimensões comuns a esses processos. Esse detalhe já apareceu em provas de concurso! Veja um exemplo de matriz de barramento (em inglês): (Kimball Group) (VUNESP – TJ/SP – 2012) Uma das técnicas utilizadas no projeto de um data warehouse corporativo consiste no uso da chamada matriz de barramento, na qual as linhas e colunas representam, respectivamente, a) cubos e medições. b) data staging e cubos. c) cardinalidades e hierarquias. Fontes de Dados ETL (staging area) Data Marts (DW) Acesso aos Dados Prof. Arthur Mendonça Aula 02 16 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ d) dimensões e cardinalidades. e) processos de negócio e dimensões. RESOLUÇÃO: A matriz de barramento é uma ferramenta concebida por Kimball que dispõe, nas suas linhas, os processos de negócio da organização e em suas colunas as dimensões comuns. Gabarito: E O modelo “Beleza, professor. Mas, afinal, como é o modelo dimensional?” Tenho certeza que é exatamente isso que você está se perguntando agora! Para sua felicidade, vamos abordar este assunto nesta seção da aula. Não é necessário que uma organização adquira um novo SGBD para implementar seu data warehouse. Kimball (2013) mostra que um DW pode ser implementado em um SGBD relacional, através do esquema estrela, ou em um ambiente de banco de dados multidimensional, através de um cubo OLAP. Vamos definir esses conceitos a seguir. Esquema Estrela Os esquemas estrela ou star schemas são os modelos dimensionais implementados em SGBDs relacionais. Esse conceito foi criado por Kimball e é utilizado em diversas organizações. Eu mesmo já trabalhei com vários! O esquema leva esse nome devido à sua estrutura, que lembra uma estrela quando representada em um diagrama: Figura: Um exemplo de esquema estrela Prof. Arthur Mendonça Aula 02 17 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Você consegue enxergar que a figura acima é muito parecida com um diagrama lógico de um banco de dados relacional, não é? Temos tabelas com chaves primárias e relacionamentos representados através de chaves estrangeiras. A diferença reside na disposição das entidades e dos relacionamentos, que seguem o modelo dimensional, não a modelagem relacional padrão. A tabela central é chamada tabela fato e as periféricas são as dimensões do modelo. Tabela Fato A respeito desse conceito, Kimball (2013) diz o seguinte: A ideia de que um evento mensurável do mundo físico tem uma relação um para um com um registro da tabela fato é o princípio fundamental da modelagem dimensional. Mas o que isso quer dizer? O termo fato corresponde a uma métrica ou medida a respeito de um processo de negócio da organização. Vamos usar os três termos indistintamente ao longo da aula, pois qualquer um deles pode ser utilizado na sua prova. Para caracterizar os fatos e a tabela de fatos, Kimball (2013) dá como exemplo a situação de um mercado: Imagine estar em frente ao caixa observando os produtos sendo vendidos, e que a cada produto em cada transação você anota a quantidade vendida e o valor em reais gasto com aquele produto. Esse seu bloco de notas seria equivalente a uma tabela fato; já a quantidade vendida e o valor em reais seriam os fatos, medidas ou métricas (fique atento à diferença entre uma (tabela) fato e um fato). Da mesma maneira poderíamos considerar uma tabela fato cujo objetivo fosse levantar estatísticas sobre os jogadores em um campeonato de futebol. A cada jogo poderia haver um registro por atuação de um jogador em uma partida na tabela fato, contendo métricas como gols marcados, faltas sofridas, roubadas de bola, etc. Esses fatos devem ser registrados na menor granularidade possível, ou seja, no maior nível de detalhe, de modo a enriquecer as possibilidades futuras de análise, já que posteriormente os dados poderão ser agregados como o usuário desejar. A definição do grão, ou o evento básico que será registrado na tabela fato, é parte fundamental da modelagem de um data warehouse. Os grãos dos nossos exemplos dados seriam a venda de um produto (ou de várias unidades dele para um mesmo cliente) e uma atuação de um jogador, respectivamente. Prof. Arthur Mendonça Aula 02 18 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Figura: Ilustração em (Inmon, 2005), indicando que as fatos, no caso Order (Pedido), possuem um volume bem maior de registros do que as tabelas restantes do modelo dimensional. Assim, podemos concluir que a tabela fato é a tabela que armazena as métricas que representam o desempenho do negócio. Ela vai conter um registro para cada evento ocorrido, como é o caso de uma venda em uma loja virtual, por exemplo. As tabelas fato são compostas por chaves estrangeiras e pelos valores das medidas ou fatos (veja a tabela fato Vendas no esquema estrela mais acima). Aqui, o conceito de relacionamento e chave estrangeira é o mesmo do modelo relacional: essas chaves referenciam as outras tabelas do modelo, as dimensões. A chave primária de uma tabela fato é geralmente composta pelas chaves estrangeiras ou por um conjunto delas. Outra possibilidade não contemplada pelo nosso esquema estrela de exemplo é a existência de umaconstelação de fatos. Ou seja, termos mais de uma tabela fato ligadas ao mesmo conjunto de dimensões. Isso não implica que todas as fatos têm que estar ligadas a todas as dimensões, não é isso. O que estou querendo dizer é que as múltiplas fatos compartilham um conjunto de dimensões. Veja o esquema a seguir, em que as duas tabelas fato se relacionam com as dimensões de Produto e Data. O texto está um pouco pequeno, mas dá pra pegar a ideia. Esse esquema é às vezes chamado de multiestrela. Figura: Constelação de fatos ou esquema multiestrela Prof. Arthur Mendonça Aula 02 19 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ É interessante que você perceba que a dimensão Data está ligada às duas fatos no nosso exemplo. Isso ocorre com bastante frequência. As dimensões Calendário ou Data estão quase sempre ligadas às tabelas fato, já que o aspecto temporal costuma ser fundamental para análise de dados. Essas dimensões costumam conter vários atributos que descrevem uma data, como dia, semestre, bimestre, indicadores de feriados, dentre outras inúmeras possibilidades. A chave primária dessas dimensões costuma ser a própria data, ao contrário de outras dimensões, que costumam ter uma chave substituta (sem significado real). Kimball, inclusive, recomenda que as dimensões de modo geral sempre utilizem chaves substitutas, de modo a facilitar o gerenciamento dos identificadores únicos de cada dimensão. Tipos de Tabela Fato Segundo Kimball (2013), as tabelas fato se dividem em três tipos fundamentais, de acordo com sua granularidade: 1) Transacionais Figura: Leitura de código de barras alimentando tabela fato transacional (Kimball & Ross, 2013) Essas tabelas fato são as que temos mostrado até agora. Elas armazenam registro a registro as transações que ocorrem, tendo um alto nível de detalhe. O grão é a unidade mínima do negócio, como por exemplo uma venda de um produto para um cliente. Prof. Arthur Mendonça Aula 02 20 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ 2) Snapshot Periódico Figura: Exemplo de snapshot periódico Seria ótimo ter sempre todos os registros de transação em nossa base de dados dimensional, trazendo grande poder de análise. Contudo, isso nem sempre é factível ou faz sentido para o negócio. Em tabelas fato muito grandes, uma transação individual traz uma mudança quase que imperceptível no valor total das medidas. Para esses casos, é suficiente que se tenha atualizações ao final de um curto período de tempo. Podemos então tirar uma “fotografia”, ou snapshot, da situação das vendas ao final de cada dia, por exemplo, somando todas as transações que ocorreram naquele dia e escrevendo apenas um registro na tabela fato. Assim, ao utilizar-se essa agregação de dados diminui-se drasticamente o tamanho das tabelas e melhora- se a performance do sistema de BI/DW. 3) Snapshot Acumulativo Nº Pedido Data Pedido Data Pagamento Data Envio Data Entrega 0001 01/01/2018 02/01/2018 02/01/2018 10/01/2018 0002 11/01/2018 11/01/2018 --- --- Esse tipo não é tão comum, mas pode ser bastante útil para determinados tipos de aplicação que seguem um fluxo ou processo bem definido, com pontos intermediários constantes. As tabelas fato desse modelo contém diversas colunas com chave estrangeira para a dimensão data, que vão sendo atualizadas à medida que o processo caminha. Repare que esse é o único caso entre os três tipos em que atualizamos os valores de registros em uma tabela fato. É uma exceção àquela propriedade de não volatilidade. Um exemplo clássico de aplicação para esse tipo é um pedido em uma loja virtual. Veja como os passos são bem definidos e vão sendo preenchidos à medida que ocorrem. Prof. Arthur Mendonça Aula 02 21 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ (CESPE – TCE/PB – 2018) A modelagem dimensional é uma técnica de projeto de banco de dados capaz de suportar, em um data warehouse, consultas de usuários finalísticos ligados a um negócio. Conceitos como tabela- fato, tabela agregada e métricas fazem parte da modelagem dimensional. A respeito dessa modalidade de modelagem, julgue os itens a seguir. I. Uma tabela-fato armazena, para fins estatísticos, as medições de desempenho. II. A tabela agregada é composta de atributos e contém a descrição do negócio. III. A tabela agregada é utilizada para reduzir o tempo de acesso de uma consulta ao banco de dados. IV. Métricas são as informações que se armazenam em tabela-fato e permitem medir o desempenho dos processos do negócio. V. As métricas não aditivas, assim como os valores percentuais ou relativos, podem ser manipuladas livremente. Estão certos apenas os itens a) I e II. b) I e III. c) II e V. d) III e IV. e) IV e V. RESOLUÇÃO: I. Na minha opinião, esta alternativa está correta. Uma tabela fato armazena vários tipos de medições, incluindo medições de desempenho, para diversos fins, incluindo fins estatísticos. A banca inicialmente deu o gabarito como errada, mas depois considerou que a redação era ambígua e anulou o item. ANULADA II. Uma tabela agregada é uma fato. A agregação dos registros da fato, como ocorre nas fatos de Snapshot Periódico, é uma técnica que visa reduzir a quantidade de registros nessa tabela, melhorando a performance de consulta. ERRADA III. Como acabei de explicar, as tabelas fato agregadas melhoram a performance de consulta, reduzindo assim o tempo de acesso. CERTA IV. As métricas são armazenadas nas fatos e permitem realizar diversas medições a respeito do negócio, incluindo o desempenho dos processos. CERTA V. Não! As métricas não aditivas não podem ser somadas ou subtraídas umas das outras no momento da agregação. Portanto, elas não podem ser manipuladas livremente. ERRADA Gabarito: I, III e IV (ANULADA) Dimensões As dimensões compõem o restante das tabelas do esquema estrela. Elas são companheiras inseparáveis da tabela fato, estando ligadas a ela em um relacionamento um para muitos (um registro de dimensão pode se Prof. Arthur Mendonça Aula 02 22 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ relacionar com vários registros da tabela fato). Essas tabelas contêm o contexto descritivo associado aos fatos, dessa forma tendem a focar no aspecto qualitativo enquanto que as tabelas fato focam no aspecto quantitativo. Essas tabelas, segundo Kimball (2013), nos ajudam a responder o “quem, o quê, onde, quando, como e por quê”. É fácil de perceber quando consideramos o nosso diagrama. Considere a fato “Vendas” que apresentamos mais acima. Temos nas dimensões as respostas para as perguntas: ü “O que é vendido?” – Produto ü “Onde foi vendido?” – Filial ü “Quando foi vendido?” – Data ü “Quem vendeu?” – Vendedor ü “Para quem foi vendido?” – Cliente Por essas características, as dimensões contêm os códigos e descrições que vão, em última instância, virar os nomes das colunas das tabelas dos relatórios produzidos com base no modelo dimensional, e vão ser utilizadas como filtros nas consultas que realizemos. Por exemplo, poderíamos fazer a seguinte “pergunta” através dos filtros de relatórios em nossas análises: “Retorne a quantidade total de vendas dividida por produto, por ano, por local.” As dimensões são geralmente desnormalizadas. Passamos a nos preocupar menos com a redundância de dados e com o espaço em disco e mais com a simplicidade do modelo para facilitar operações de filtragem e extração de dados realizadas pelos usuários. Devido a essa desnormalização, é comum que se represente relacionamentos um para muitos (1:N) em uma tabela só. Simplesmente replicamos os registros dos dois lados do relacionamento quantasvezes seja necessário em uma tabela só. Como isso é um assunto um pouco árido, aqui vai um exemplo mais detalhado: Em um BD relacional comum, normalizado, poderíamos representar o relacionamento entre produtos e suas categorias em uma loja de departamentos da seguinte maneira: Categoria: Código Categoria Andar C1 Brinquedos 2º X8 Decoração 3º Z3 Artigos Esportivos 1º Produto: Código Produto Categoria 99816 Boneco C1 15923 Lustre X8 98562 Jogo de Tabuleiro C1 35366 Camisa da Seleção Z3 Prof. Arthur Mendonça Aula 02 23 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Já na modelagem dimensional, seria mais apropriado que incluíssemos toas as informações a respeito da categoria já na tabela de produto, desnormalizando assim o esquema: Tabela Produto (desnormalizada): Código Produto Categoria Andar 99816 Boneco Brinquedos 2º 15923 Lustre Decoração 3º 98562 Jogo de Tabuleiro Brinquedos 2º 35366 Camisa da Seleção Artigos Esportivos 1º Perdemos um pouco em relação à redundância dos dados e consequentemente em espaço em disco, já que repetimos os mesmos dados das categorias várias vezes (uma vez para cada produto), mas ganhamos em facilidade de consulta, já que precisamos fazer menos junções entre as tabelas para obtermos os resultados desejados. Existem casos em que o projetista do modelo entende que é realmente melhor manter algumas tabelas normalizadas, da maneira como ficaria em um Banco de Dados Relacional. Esse fenômeno é conhecido como snowflaking, verbo derivado da palavra snowflake, ou floco de neve. O esquema resultante, então, pode ser chamado de esquema floco de neve. Isso se deve, novamente, ao formato do esquema resultante, que, quando possui muitas tabelas, lembra a estrutura intrincada de um floco de neve. A seguir, uma adaptação no nosso esquema estrela para incluir o endereço dos clientes de forma normalizada, tornando-o assim um esquema floco de neve: Prof. Arthur Mendonça Aula 02 24 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Valores nulos nas dimensões Como o modelo dimensional está voltado para aplicações de análise, como a geração de relatórios, dashboards, dentre outras técnicas, recomenda-se que não se utilize o valor NULL nas dimensões, substituindo-os por valores textuais mais intuitivos para o usuário, como “Desconhecido”, “Não Aplicável”, etc. (CESPE – CGM João Pessoa/PB – 2018) Com relação à modelagem dimensional e à otimização de bases de dados para business intelligence, julgue o item subsequente. O modelo snowflake acrescenta graus de normalização às tabelas de dimensões, eliminando redundâncias; em termos de eficiência na obtenção de informações, seu desempenho é melhor que o do modelo estrela, o qual, apesar de possuir um único fato, possui tamanho maior que o do snowflake, considerando-se a desnormalização das tabelas de dimensões. RESOLUÇÃO: A definição inicial está correta. Contudo, o desempenho na obtenção da informação no snowflake é pior do que o estrela, que é desnormalizado. Isso ocorre porque o modelo snowflake é mais complexo, apesar de ocupar menos espaço no BD devido à eliminação de redundâncias. Gabarito: E (CESPE – TCE/PE – 2017) A respeito da modelagem dimensional, julgue o próximo item. No modelo floco de neve (snow flake), todas as tabelas estão relacionadas diretamente com a tabela de fatos, e as tabelas dimensionais devem conter todas as descrições necessárias para definir uma classe nelas mesmas. RESOLUÇÃO: Falso. A característica do modelo floco de neve é justamente a existência de dimensões ligadas a outras dimensões, em obediência à terceira forma normal. Gabarito: E Prof. Arthur Mendonça Aula 02 25 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Medidas aditivas, semiaditivas e não aditivas Os fatos mais interessantes que podem ser representados no modelo dimensional são os fatos numéricos aditivos, como os que apresentamos acima. Isso ocorre porque em aplicações de BI raramente se tem o interesse de visualizar um único registro da tabela fato por vez. O propósito é geralmente extrair de uma vez inúmeros registros que se amoldem a determinados parâmetros e filtros. Por exemplo, realizar uma análise a respeito de todas as vendas de uma determinada categoria de produto que foram realizadas ao longo dos meses de um ano. Também existem os fatos semiaditivos, que são aqueles que são aditivos somente em relação a algumas dimensões, não a todas. Um exemplo clássico é o saldo das contas contábeis. Se tivermos uma tabela fato que tenha como grão o saldo de uma conta contábil a cada dia, não podemos somar esta medida ao longo do tempo, já que não faz sentido somar o saldo de um dia com o saldo do dia seguinte. Por outro lado, pode fazer sentido somar estes saldos ao longo de outras dimensões para se obter valores totais, como por Setor, Filial, etc. Por fim, temos as medidas não aditivas. Podemos usar como exemplo os valores percentuais. Imagine uma tabela fato que contém alíquotas de um determinado imposto, que variam ao longo do tempo e por estado. Não faz sentido somar a alíquota vigente em um ano com do ano seguinte, e muito menos somar a alíquota de um estado com a do outro. Logo, essas medidas precisam de um tratamento especial para que sejam agregadas, não podemos simplesmente somá-las ao longo das dimensões. Veja esse exemplo para sumarizar o que você acabou de ler: Data Venda Valor Venda Qtd. Vendida Saldo da Conta Alíquota ICMS 01/01/2018 R$ 100,00 10 R$ 2.000,00 21% 02/01/2018 R$ 500,00 4 R$ 2.500,00 19% 03/01/2018 R$ 350,00 5 R$ 2.850,00 20% TOTAL: R$ 950,00 19 R$ 2.850, 00 ? • As medidas aditivas, valor de venda e quantidade vendida, podem ser somadas normalmente ao longo da nossa tabela fato. • Já a medida semiaditiva, o saldo da conta corrente, não pode ser somada ao longo do tempo. Não faz sentido! O saldo correto é o mesmo do registro mais recente. Se estivéssemos analisando os totais por outra dimensão, como região, poderia fazer sentido somar os saldos das contas de cada local, mas esse não é o caso. • Por último, temos a medida não aditiva, a alíquota do ICMS. Essa medida nos traz alguns problemas. Está claro que não faz sentido somar os valores, não é? Você poderia imaginar que é possível tirar a média aritmética dos registros, ao invés de somá-los. Seria uma ideia interessante, mas também não faz muito sentido, já que a média das três alíquotas também não nos dá uma informação importante. Para obter a alíquota média total das nossas vendas, precisaríamos realizar uma média ponderada de acordo com o valor das vendas. Teríamos, então, M ed id as Aditivas Semiaditivas Não aditivas Prof. Arthur Mendonça Aula 02 26 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ que desenvolver uma fórmula na linguagem de programação suportada pelo sistema de DW/BI para conseguir algo de útil a partir desse tipo de medida. Ah! Só mais um detalhe a respeito das tabelas fato: é teoricamente possível que tenhamos fatos (medidas) textuais, mas este raramente é o caso. Você pode considerar que, na maioria dos casos, quando estamos falando de uma medida, estamos nos referindo a um valor numérico. OLAP Figura: Representação gráfica de um cubo de dados. A outra alternativa para implementação do nosso modelo dimensional é a utilização de um cubo OLAP (Online Analytical Processing). Esses cubos são ambientes de bancos de dados multidimensionais, que seguem o mesmo modelo dimensional das implementações em esquema estrela. A diferença é que OLAP é uma espécie de interface que visa permitir a análise flexível de grandes volumes de dados comuma performance de consulta melhorada em relação a implementações em SGBDs relacionais. Para isso, os sistemas OLAP utilizam agregações pré-calculadas, índices e outras técnicas de otimização. O termo cubo é utilizado para se referir a uma representação multidimensional dos dados. A forma geométrica de um cubo só tem três eixos e, portanto, três dimensões. Contudo, um cubo OLAP pode ter infinitas dimensões, a depender da capacidade do sistema. Os cubos com mais de três dimensões são às vezes chamados de hipercubos. Motivação Para propósitos de análise de dados, os cubos OLAP apresentam algumas vantagens em relação aos esquemas estrela implementados em SGBDs relacionais. Algumas delas são: • Eles oferecem ricas possibilidades de análise, já que não estão presos à linguagem SQL. SQL é uma linguagem poderosa para a manipulação de SGBDs relacionais, mas em quando se realiza análise de grandes volumes de dados em múltiplas dimensões, as consultas podem se tornar complexas demais e o usuário pode se deparar com algumas limitações. • Os sistemas OLAP geralmente oferecem mais recursos de segurança e controle de acesso aos dados. Prof. Arthur Mendonça Aula 02 27 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ o Kimball (2013) cita a possibilidade de limitar acesso de um usuário aos dados detalhados, mas permitir acesso aos dados sumarizados (já agregados). o Os cubos OLAP geralmente oferecem também recursos de segurança em nível de linha. Ou seja, é possível restringir o acesso a usuários ou grupos de usuários a registros individuais em uma dimensão. • Os cubos dão maior suporte para se trabalhar com hierarquias de dados, sejam elas regulares ou desbalanceadas. Hierarquias Os atributos das dimensões em um modelo dimensional podem estar organizados em hierarquias. As hierarquias são, como o nome diz, conjuntos de atributos dispostos seguindo uma ordem de grandeza. Tanto os cubos OLAP quanto o esquema estrela oferecem suporte para trabalhar com essas hierarquias, mas geralmente os cubos OLAP têm mais ferramentas e permitem uma manipulação mais avançada através de linguagens de análise mais sofisticadas que o SQL. Figura: Representação gráfica em árvore de uma hierarquia de datas Temos no diagrama acima uma hierarquia presente na dimensão data. Essa é uma hierarquia natural, pois não foi simplesmente criada pelo projetista, ela segue uma lógica do mundo real. Outra hierarquia que ocorre com frequência nos modelos multidimensionais é a geográfica, comumente na forma País > Estado > Cidade > Bairro. As hierarquias costumam ter o membro “Todos” em seu nível mais alto, englobando todos os membros dos níveis inferiores. Da mesma maneira, os membros individuais do nível mais baixo da hierarquia são chamados de folhas, em uma analogia a uma árvore. Operações OLAP As ferramentas de BI/DW propiciam uma fácil navegação através dos dados, possibilitando que se visualize as informações através de diferentes perspectivas, utilizando as mais diversas combinações entre as dimensões e em todos os níveis das hierarquias. Prof. Arthur Mendonça Aula 02 28 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ As ferramentas de BI costumam dar suporte a um processo de navegação interativa que é chamado de slice and dice. Esse nome diz respeito a “cortes” que podem ser realizados nos cubos para limitar a análise de dados a um escopo menor do que o cubo inteiro. Vamos ver algumas definições dessas operações a seguir: v Slice and dice Figura: Operação de slicing To slice é o verbo “fatiar” em inglês. Essa operação faz um corte (ou filtragem) no cubo baseado no valor de alguma dimensão. Por exemplo, podemos extrair uma fatia do cubo que consiste nas vendas de produtos por cidade para um ano específico ou para um intervalo de anos. Figura: Operação de dicing Dice é um termo inglês que tem vários significados. Um deles quer dizer “cortar em cubos”. O que acontece nessa operação é que se faz um corte no cubo OLAP baseado nos valores de mais de uma dimensão, criando assim um subcubo. Prof. Arthur Mendonça Aula 02 29 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ v Pivotagem (rotação) Figura: Representação gráfica da rotação de um cubo Consiste em rotacionar o cubo para visualizar os dados em diferentes perspectivas, para realizar análises baseadas em dimensões diferentes. Por exemplo, poderíamos rodar o a fatia do nosso cubo de exemplo da operação de slicing para visualizar nas linhas os produtos, e nas colunas os locais de venda. Além dessas, temos mais algumas operações OLAP possíveis em um sistema de BI/DW, os drills. Essas operações têm sua natureza associada com as hierarquias. Todas elas, incluindo as já apresentadas acima, podem ser combinadas para enriquecer a análise do usuário: •Ocorre quando o usuário está analisando um dado cortado por determinada dimensão e passa para outra que não faz parte da mesma hierarquia. Ex.: Da análise de vendas por filial para vendas por data. Drill through •Kimball (2013) diz que drill-across é a operação que permite juntar métricas de diversas fatos em um mesmo relatório combinado, desde que todas as fatos estejam relacionadas com dimensões em comum. Esse é o entendimento mais "oficial". Por exemplo, pense no nosso esquema mutliestrela mais acima: poderíamos gerar um relatório conjunto que exibisse as vendas e compras por produto e por data. Drill across •É Passar de uma análise de um nível maior para um nível menor, mais detalhado, dentro de uma hierarquia. Ex.: Vendas por ano -> vendas por mês. Drill down •O processo inverso do anterior. Sai-se de um nível menor, de mais detalhe, para um nível de maior generalização. Também é conhecida como roll up. Ex.: Vendas por semana -> vendas por mês. Drill up Prof. Arthur Mendonça Aula 02 30 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Atenção! Já me deparei com 0utras definições para drill across. Uma delas, que já caiu em prova, dizia que essa é a operação que “pula” níveis dentro de uma hierarquia. É como se fosse um drill down, sendo que passando por cima de um ou mais níveis intermediários. Ex.: Vendas por ano -> vendas por dia, não passando antes pelo nível de mês. Fique ligado! (CESPE – MEC – 2015) Com relação a bancos de dados transacionais e analíticos, julgue o seguinte item. As operações slice and dice dos sistemas OLAP permitem selecionar e modificar a posição de uma informação, a troca de linhas por colunas e o giro do cubo multidimensional. Entretanto, não é permitido combiná-las com as operações drill down ou roll up. RESOLUÇÃO: Esse giro do cubo multidimensional é a pivotagem ou rotação. Além disso, essas operações podem ser combinadas livremente. Gabarito: E (CESPE – TCU – 2015) Julgue o item subsequente, a respeito de modelagem dimensional e análise de requisitos para sistemas analíticos. Na análise dos dados de um sistema com o apoio de uma ferramenta OLAP, quando uma informação passa de uma dimensão para outra, inexistindo hierarquia entre elas, ocorre uma operação drill through. RESOLUÇÃO: O drill through ocorre quando estamos analisando uma informação com base em uma dimensão e passamos para outra. Essa é a definição adotada pelo CESPE. Gabarito: C (CESPE – MEC – 2015) No que se refere a bancos de dados transacionais (OLTP) e a banco de dados analíticos (OLAP), julgue o item que se segue. Em ambientes corporativos, o uso de ambientes OLTP visa eliminar ao máximo a redundância de forma que a transação promova mudanças de estado o mais pontualmente possível, ao passo que o uso de ambientes OLAP objetiva prover uma visão dosdados orientados à análise com uma navegação rápida de dados agregados. RESOLUÇÃO: Perfeito! Os ambientes OLTP costumam ser normalizados, de modo a diminuir a redundância e maximizar a performance de escrita e atualização de dados. Já os sistemas OLAP visam prover recursos para análise, tendo ótima performance de leitura para navegação em dados agregados. Prof. Arthur Mendonça Aula 02 31 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Gabarito: C (CESPE – ANTT – 2013) Julgue o item seguinte, relativo a conceito de qualidade, produtividade e a ferramentas de gestão. Considere-se que a ANTT deseje implantar um sistema de gestão estratégica com base em bancos de dados operacionais de empresas de transporte. Nesse caso, é correto afirmar que a ferramenta OLAP (online analytical processing), que permite a agregação de dados operacionais em múltiplas dimensões, é a ideal para apoiar a montagem de um painel gerencial de indicadores de qualidade e produtividade. RESOLUÇÃO: Isso. A definição de OLAP você já conhece. Um dos propósitos da utilização desse tipo de ferramentas é a montagem de relatórios e painéis gerenciais com indicadores a respeito da performance do negócio. Gabarito: C Regras de Codd O criador do modelo relacional, Codd, também foi quem cunhou o termo OLAP. Codd dizia que as ferramentas OLAP deveriam seguir 12 regras. Essas regras são requisitos de funcionalidades para esses sistemas OLAP. Algumas delas já foram apresentadas de forma indireta durante a aula, pois têm a ver com os conceitos de modelagem dimensional como um todo, outras serão novidade, caso em que explicarei com mais detalhes. A banca CESPE já cobrou algumas dessas regras, então fique ligado! 1) Visão conceitual multidimensional O usuário deve ter uma visão conceitual dos modelos que seja multidimensional, já que sua análise do mundo real também é. As ferramentas OLAP, assim, devem suportar as operações multidimensionais como slice and dice. 2) Transparência As etapas de construção do modelo OLAP devem ser transparentes, ou seja, ficarem invisíveis ao usuário. Este deve ser capaz de utilizar o sistema sem se importar com os detalhes das origens dos dados, com que transformações que foram realizadas ou com o processamento de agregações que está sendo realizado, por exemplo. 3) Acessibilidade O sistema deve prover o usuário com somente um esquema lógico integrado dos dados. Veja que esta etapa também tem a ver com a integração, pois só após um processo do tipo é possível montar um único esquema lógico coerente a partir das diversas fontes heterogêneas. Prof. Arthur Mendonça Aula 02 32 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ 4) Performance consistente de relatórios A performance do sistema não deve se degradar quando o número de dimensões crescer. Ou seja, o sistema deve ser escalável, permitindo que se aumente bastante a complexidade do modelo sem comprometer a capacidade de exibir os dados da maneira que os usuários requisitarem. 5) Arquitetura cliente/servidor Figura: Ilustração da arquitetura cliente-servidori De forma grosseira, podemos dizer que a arquitetura cliente/servidor é um conceito da computação que implica na existência de um servidor de dados, que contém o sistema, e máquinas cliente, que acessam os dados contidos no servidor. Para entender como isso funciona, veja o caso do nosso site, o Direção Concursos. Você pode acessá-lo livremente através de sua máquina sem que precise instalar nada (além de um navegador de internet) ou mesmo baixar todo o conteúdo do site. O que acontece é que você vai navegando e clicando no que quer acessar, como você deve ter feito até chegar a este PDF. O download do PDF foi realizado através de uma requisição do cliente – o seu computador – ao servidor do Direção Concursos, que é a máquina que armazena todos os dados do site. Numa arquitetura cliente/servidor de uma ferramenta OLAP, os usuários não precisam instalar todos os sistemas utilizados ou salvar uma cópia completa dos dados armazenados no OLAP em seus dispositivos, basta possuir o lado cliente da aplicação, que permite se comunicar com o servidor. Dessa maneira, usuários de negócio podem acessar sistemas OLAP através de máquinas pouco poderosas, como telefones celulares ou computadores domésticos, sem que isso impacte na performance. Da mesma maneira, pode-se atualizar os dados no servidor sem causar impactos significativos nos dispositivos dos usuários. Os sistemas, assim, são mais abertos e modulares. 6) Dimensionalidade genérica Os cubos não estão limitados a um número de dimensões, eles podem ter infinitas. As funções de análise dos sistemas OLAP devem permitir também que se trabalhe com cada uma delas indistintamente. Prof. Arthur Mendonça Aula 02 33 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ 7) Capacidade de lidar com matrizes esparsas de forma dinâmica O nome é esquisito, mas a propriedade é relativamente tranquila de se entender. Uma matriz esparsa é uma estrutura bidimensional (ou seja, as tabelas, dimensões e fatos) que possui diversas células vazias. Veja o caso, por exemplo, na hierarquia de locais de um determinado modelo dimensional: Observe que, ao contrário do Brasil, o Vaticano não possui estados. Esse é o caso em vários outros países pequenos, que não têm a necessidade de dividir seu território dessa maneira. Quando tivermos várias ocorrências desse tipo na nossa tabela, poderemos considerá-la esparsa, já que o campo estado frequentemente estará vazio. Essa regra nº 7 diz que as ferramentas OLAP devem ser capazes de lidar com essas ausências frequentes de dados, fornecendo funcionalidades para seu adequado tratamento - no exemplo acima, as consultas não deveriam simplesmente dar erro quando tentamos ver as vendas por estado para o Vaticano, e sim mostrar o valor total para sua única cidade sob a nomenclatura “Sem Estado”, por exemplo. Essa regra também tem a ver com o armazenamento mais eficiente de dados, realizado utilizando-se de técnicas de compressão, que é uma abordagem que se aproveita desses valores em branco para diminuir o tamanho que o conjunto de dados ocupa no disco. 8) Suporte a múltiplos usuários Os sistemas OLAP devem poder ser acessados por diversos usuários simultaneamente. Esses usuários, por sua vez, devem ser capazes de enxergar somente as fatias dos dados a que têm acesso, como já falamos a respeito durante a aula. Prof. Arthur Mendonça Aula 02 34 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ 9) Operações de cruzamento dimensional ilimitadas Os usuários devem poder realizar todos os cálculos possíveis em relação às dimensões, mesmo que os relacionamentos adequados não tenham sido inicialmente definidos no modelo. Para isso, deve ser fornecida uma linguagem para a definição de fórmulas. Imagine que estamos calculando a média diária de vendas dos funcionários de uma empresa. Considere que a fato desse sistema OLAP contém os seguintes registros: Funcionário Dia Vendas José 06/09/2018 3 José 07/09/2018 0 José 08/09/2018 9 Veja que não podemos simplesmente calcular a média aritmética para o campo “Vendas”, pois, como o dia 07/09/2019 foi um feriado, nenhum funcionário vai ter vendido nada nesse dia. Não podemos penalizar a média de José por não ter vendido nada em um dia sem expediente, seria injusto. Dessa forma, precisamos ir além do relacionamento normal entre a tabela de vendas e a de datas, e definir uma fórmula alternativa para o cálculo desse índice de média diária que leve em conta a existência dos feriados. É mais ou menos isso que essa propriedade quer dizer!10) Manipulação intuitiva de dados Como os sistemas OLAP estão voltados para os usuários de negócio, essas ferramentas devem ser simples de se utilizar, permitindo que esses usuários realizem suas análises e manipulem os dados sem precisar de um vasto conhecimento técnico ou de um manual. 11) Relatórios flexíveis Os usuários devem ser capazes de realizar os mais diversos tipos de consultas e análises com as ferramentas. As mudanças nos dados armazenados devem ser refletidas nos relatórios. 12) Níveis de dimensões e agregações ilimitados Como o OLAP tem dimensões infinitas, também existem níveis de agregação infinitos para os dados! (CESPE – SEFAZ/RS – 2019) Com relação aos modelos de dados multidimensionais, assinale a opção correta. Prof. Arthur Mendonça Aula 02 35 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ a) A principal característica da tabela de fatos é a ausência de dados redundantes, o que melhora o desempenho nas consultas. b) Esses modelos são cubos de dados, sendo cada cubo representado por uma única tupla com vários atributos. c) Esses modelos proporcionam visões hierárquicas, ou seja, exibição roll-up ou drill-down. d) Os modelos de dados multidimensionais dão ênfase à coleta e às transações de dados. e) Esses modelos não utilizam processos de transferência de dados, mas sim acessos nativos do próprio SGBD utilizado. RESOLUÇÃO: a) O modelo dimensional tem como característica a desnormalização, algo que ocasiona redundâncias, mas facilita a extração de dados por diminuir a complexidade do modelo e o número de junções necessárias entre tabelas para se realizar as consultas. ERRADA b) Um cubo de dados possui inúmeras dimensões e registros, não somente uma tupla com seus atributos. ERRADA c) Essa é a resposta correta. Apesar da redação não ser das melhores, temos que os modelos multidimensionais, expressos nos sitemas OLAP, proporcionam ferramentas para se trabalhar com hierarquias, o que inclui as operações roll-up e drill down, que permitem aumentar ou diminuir o nível de detalhe das consultas analíticas. CERTA d) Os sistemas que dão ênfase à coleta e a múltiplas transações de dados são os sistemas OLTP, transacionais. ERRADA e) Os modelos dimensionais utilizam um processo de coleta, transformação e carregamento dos dados conhecido como ETL para a sua alimentação. Essa carga de dados é realizada de forma periódica e vai depender da estratégia cuidadosamente definida pela organização. ERRADA Gabarito: E (CESPE – SEFAZ/RS – 2019) O data warehouse diferencia-se dos bancos de dados transacionais porque a) trabalha com dados atuais, mas não com dados históricos. b) faz uso intenso de operações diárias e de processamento de transações continuamente. c) possui milhares de usuários de diferentes níveis hierárquicos dentro da organização. d) tem dimensionalidade genérica e níveis de agregação ilimitados. e) utiliza ferramentas de prospecção e consulta de dados baseadas em OLTP (on-line transaction processing). RESOLUÇÃO: a) O DW tem como umas de suas principais características ser variante no tempo e não volátil, ou seja, trabalha com dados históricos e não os atualiza! ERRADA b) Essa característica é dos sistemas transacionais, ou OLTP. Os data warehouse são carregados periodicamente através do processo de ETL. ERRADA Prof. Arthur Mendonça Aula 02 36 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ c) Como são voltados à tomada de decisão, os data warehouses geralmente são mais utilizados por gestores, tendo sua utilidade um pouco mais restrita em termos de números de usuários em relação aos sistemas OLTP. ERRADA d) Essa é a resposta correta! As regras de Codd para o modelo dimensional incluem a dimensionalidade genérica (regra que determina que todas as infinitas dimensões são tratadas indistintamente) e níveis de agregação ilimitados. CERTA e) OLTP são justamente os sistemas transacionais! ERRADA Gabarito: E Armazenamento OLAP é um conceito de análise que diz respeito à interação com o usuário. O objetivo é fornecer uma série de conceitos e mecanismos que favorecem a análise de dados para subsidiar a tomada de decisão. Contudo, você deve ter percebido que falamos muito em abstrações, como o próprio conceito de cubo, esquema estrela, etc., mas não falamos muito sobre como os dados ficam efetivamente armazenados em um banco de dados que segue a modelagem multidimensional. Há alguns tipos de armazenamento que um sistema OLAP pode utilizar: • MOLAP (Multidimensional OLAP): Os dados são extraídos das fontes e armazenados em uma estrutura multidimensional, não sendo necessário que se consulte diretamente dos bancos de dados da origem. Essa estrutura oferece uma performance de consulta maximizada, já que armazena diversos resultados pré-calculados de agregações e o acesso aos dados não é concorrente com os acessos à origem. • ROLAP (Relational OLAP): Os dados são consultados diretamente do banco de dados relacional. Por debaixo dos panos, são criadas views em cima do banco de dados relacional da organização para adaptar a estrutura de origem para o esquema multidimensional. Isso permite que sejam realizadas as análises no sistema OLAP. Esses sistemas ROLAP são escaláveis, ou seja, permitem que se trabalhe com grande volume de dados, mas há uma perda de performance considerável quando se trabalha com consultas complexas envolvendo muitas agregações e junções. • HOLAP (Hybrid OLAP): É uma combinação dos dois métodos acima. Agregações são armazenadas numa estrutura OLAP e dados mais detalhados são consultados a partir do banco de dados relacional. A performance, como era de se esperar, fica em um meio termo. Veja a tabela a seguir para entender como é que funciona o armazenamento de dados em cada tipo de sistema OLAP: Prof. Arthur Mendonça Aula 02 37 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ ROLAP MOLAP HOLAP Camada Multidimensional Agregações Pré- Calculadas Valores em Nível de Detalhe (CESPE – TCE/PA – 2016) Julgue o item subsequente, acerca de segurança da informação de um SGBD e de um BI (Business Intelligence). MOLAP é um método utilizado para apresentar, fisicamente e em formato relacional, os dados em formato OLAP. RESOLUÇÃO: MOLAP armazena os dados em uma estrutura multidimensional, não relacional. Essa seria a definição de ROLAP. Gabarito: E (CESPE – MEC – 2015) Acerca dos conceitos de banco de dados transacionais (OLTP) e analíticos (OLAP), julgue o item que se segue. O ROLAP, sistema que se baseia na manipulação dos dados armazenados na base de dado relacional, apresenta a desvantagem de não lidar com grandes quantidades de dados. RESOLUÇÃO: Errado... o ROLAP lida sim com grandes quantidades de dados, principalmente porque não armazena dados pré- agregados como o MOLAP. Quando a consulta a ser realizada é complexa, o ROLAP tende a perder performance em relação aos outros métodos. Gabarito: E Prof. Arthur Mendonça Aula 02 38 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Tópicos Avançados Nesta seção vamos abordar alguns temas menos cobrados em provas de Análise de Informações, mas que podem ser explorados na prova desta disciplina, que deve ter um enfoque mais técnico! Modelagem de Dimensões Aqui traremos algumas situações específicas que ocorrem com as dimensões em um modelo dimensional. São alguns conceitos diferentes e sem muita ligação entre si, mas que você deve conhecer, pois são situações que são relativamente comuns no momento da criação ou evolução do modelo. Dimensões Degeneradas (Degenerate dimensions) Em determinados casos, principalmente emtabelas fato transacionais e de snapshot acumulativo, existem casos em que há uma chave que aponta para uma dimensão que não existe fisicamente. Parece estranho, mas pode fazer sentido! Um exemplo clássico dado por Kimball é o da dimensão pedido. É comum que um pedido (de vendas) em uma loja contenha vários itens. Por exemplo, você vai no seu site de compras favorito, adiciona vários produtos ao carrinho e paga tudo de uma vez só. O pedido em si não tem nenhuma grande informação, pois ele é uma mera composição dos itens comprados. Ou seja, para saber o valor do pedido, basta somar os valores individuais dos produtos. Para saber informações sobre os produtos vendidos, também se verifica os itens individuais, e assim sucessivamente. No entanto, é importante guardar pelo menos a chave primária que identifica unicamente um pedido, pois assim podemos saber que um determinado conjunto de itens pertencem a um determinado pedido. Nesses casos, temos que a tabela fato fica com uma espécie de chave de dimensão que referencia uma dimensão que, na prática, não possui uma tabela. Assim, essa chave de dimensão não é exatamente uma chave estrangeira, pois não há uma referência completa a uma linha em outra tabela. Veja: Figura: Tabela Fato com dimensão degenerada Pedido Para terminar, algumas observações sobre as dimensões degeneradas: Prof. Arthur Mendonça Aula 02 39 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Ø Dimensões degeneradas são úteis, por exemplo, para agrupar determinados registros da tabela fato com base na chave da dimensão. Assim, é possível calcular métricas agregadas como valor médio de uma venda. Ø Nas fatos de snapshot acumulativo, as dimensões degeneradas podem ser úteis para identificar os diferentes passos de um mesmo processo. Por exemplo, as diferentes etapas de um mesmo pedido podem ser rastreadas pelo número do pedido. Ø Pode haver mais de uma dimensão degenerada em uma mesma tabela fato. Dimensões Lixo (Junk dimensions) Como aponta Kimball, processos de negócio geralmente requerem que se represente alguns dados simples, como flags (bandeiras) e indicadores, que costumam ter baixa cardinalidade, ou seja, só podem assumir um conjunto pequeno de valores diferentes. Muitas vezes é pouco prático utilizar uma dimensão para cada um desses indicadores, pois isso acaba criando muitas dimensões para representar dados muito simples, que geralmente só podem assumir poucos valores distintos. Isso gera impacto na quantidade de chaves estrangeiras na tabela de fatos e na complexidade do modelo de modo geral. A solução para simplificar essa situação é agrupar todos esses indicadores em uma só dimensão, conhecida como dimensão lixo ou dimensão sucata. Esse tipo de dimensão possui uma chave primária convencional (geralmente substituta) e os valores para cada combinação de indicadores que ocorre na fato. Veja o exemplo: idDimensãoLixo Pedido Online Tipo do Frete Cliente Novo Venda a Prazo 1 Sim Convencional Sim Não 2 Sim Expresso Não Sim 3 Não Convencional Não Não ... ... ... ... ... Assim, essa dimensão funciona como qualquer outra, sendo ligada à fato por sua chave em um relacionamento 1:n. A diferença é que seus atributos não costumam ter muita ligação entre si, sendo um amontoado de indicadores que servem a propósitos diversos. Prof. Arthur Mendonça Aula 02 40 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Role-Playing Dimensions Um outro caso particular que ocorre com dimensões é a quando uma mesma dimensão tem vários relacionamentos com a fato. Nesse caso, a dimensão atua em vários papéis diferentes em relação à fato, por isso sendo chamada de role-playing dimension. Um exemplo muito comum desse tipo da dimensão ocorre em relação à tabela de Datas. Por exemplo, um pedido pode conter a data do pedido, a data do envio e a data da entrega. Seria um desperdício de espaço criarmos três dimensões de data distintas, já que elas iriam conter os mesmos valores entre si. Assim, fazemos várias ligações entre a fato e a mesma dimensão, cada uma dessas ligações representando um papel diferente. Veja o exemplo: Figura: Dimensão role-playing Data É comum que isso ocorra, por exemplo, em fatos de snapshot acumulativo, já que essas fatos costumam representar etapas de um mesmo processo. Como o elemento cronológico costuma ser importante nesse tipo de situação, deve haver diversas referências à tabela de datas. No entanto, não há impedimento para o uso nos demais tipos de tabela fato. Para terminarmos nossas considerações sobre as dimensões, note que é plenamente possível que tenhamos múltiplas hierarquias dentro de uma mesma dimensão. Por exemplo, podemos definir que na tabela de datas faz sentido criar uma hierarquia natural Ano -> Mês -> Dia, com o objetivo de permitir que os usuários naveguem livremente por esses períodos. No entanto, em alguns casos há análises que pedem um outro tipo de divisão hierárquica dentro da mesma dimensão. Por exemplo, pode ser necessário criar a hierarquia Ano -> Semestre -> Trimestre -> Bimestre. Slowly Changing Dimensions Como você já deve saber, os registros nas dimensões não costumam ser alterados, dada a propriedade da não volatilidade que é aplicável aos data warehouses. No entanto, mudanças nos valores de atributos acontecem no mundo real e precisam ser refletidas de alguma maneira nesses sistemas analíticos, de modo a manter as representações coerentes com os valores corretos ou atualizados. Prof. Arthur Mendonça Aula 02 41 de 78| www.direcaoconcursos.com.br Bancos de Dados para Analista – Tecnologia da Informação do TCE/RJ Por exemplo, se um cliente reside em um determinado estado do Brasil e posteriormente se muda para outro, as vendas devem ser associadas ao estado em que o cliente morava no momento em que o pedido foi realizado. Se o cliente morava em São Paulo quando fez pedidos no montante de R$ 500,00 e em Brasília quando fez pedidos no valor de R$ 300,00, o usuário do sistema analítico deve enxergar essa repartição de valores de forma correta entre os estados. Assim, é importante guardar esse histórico dos valores dos atributos. Em outros casos, mudanças de entendimento e de requisitos de negócio implicam a necessidade de atualização dos valores de atributos, pois o anterior passa a ser entendido como incorreto ou desatualizado. Nesses casos, como poderíamos proceder em um banco de dados considerado não volátil? Para lidar com essas variações, conhecidas como slowly changing dimensions (SCD), existem vários tipos de técnicas distintas. Kimball aponta que, dentro de uma mesma dimensão, podem ser adotadas técnicas diferentes de SCD para cada atributo que varia no tempo. Vamos ver quais são essas técnicas: Tipos de SCD (Kimball): Tipo 0: Manter original. No tipo zero, o valor do atributo da dimensão nunca muda. Por exemplo, como as chaves de dimensão devem ser substitutas, não deve surgir a situação em que há a necessidade de alterar seu valor. Tipo 1: Sobrescrever. Essa técnica é uma das mais simples utilizadas para se lidar com a mudança de valores de atributos. Nela, simplesmente se sobrescreve o valor anterior. Assim, se há a necessidade de modificar o atributo, se atualiza o registro. Note que esta propriedade implica uma perda do valor antigo. Imagine, por exemplo, que a empresa “Brinquedos Divertidos S.A.” quis ser mais moderna e alterou seu nome para Fun Toys. A empresa continua sendo a mesma, então não faz sentido termos algumas vendas para a empresa “Brinquedos Divertidos” e outras associadas a “Fun Toys”. Assim, simplesmente substituímos o registro da dimensão com o novo nome. Tipo 2: Adicionar novo registro. Esse tipo consiste em manter o histórico de alterações com o auxílio de atributos. Isso geralmente
Compartilhar