Fundamentos e Modelagem de Bancos de Dados Multidimensionais1

15
07/12/2014 Fundamentos e Modelagem de Bancos de Dados Multidimensionais http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 1/15 Fundamentos e Modelagem de Bancos de Dados Multidimensionais 90 de 94 pessoas classificaram isso como útil Publicado em: 4 de outubro de 2007 Por Alexandre Ricardo Nardi ‐Arquiteto de Soluções Microsoft Brasil Conteúdo Nesta página Introdução Fundamentos de Sistemas Analíticos Sistemas Transacionais X Sistemas Analíticos Data Warehouses e Data Marts Bancos de Dados Multidimensionais Modelos de Dados Multidimensionais Alguns Conceitos Estrela e suas Variações Snowflake e suas Variações Conclusão Referências Resumo: Este artigo apresenta estruturas de indexação para bancos de dados multidimensionais, as Árvores Bitmap, comparando com as estruturas usadas para bancos de dados relacionais. Então percorremos diversas opções para modelagem de dados multidimensionais, incluindo os Modelos Estrela e Snowflake e suas variações. Introdução A utilização de Sistemas Gerenciadores de Bancos de Dados Relacionais ﴾SGBDRs﴿ é prática consolidada mundialmente. Os dados precisam poder ser armazenados e recuperados geralmente em intervalos curtos de tempo, em situações não triviais tais como: Situações de alta concorrência, por vezes de milhares de acessos simultâneos, que precisam ser gerenciados em ambientes transacionais; Grandes web sites que, além dos requisitos de desempenho, necessitam cuidados especificamente com relação à segurança dos dados; Aplicações analíticas, baseadas em históricos de anos, para apoio a decisões gerenciais e estratégicas. As estruturas de dados e mecanismos de indexação utilizados por esses SGBDRs atendem bem às duas primeiras situações. Todavia, as aplicações analíticas possuem peculiaridades ta como manipulação de grandes volumes de dados e baixa taxa de atualização. Essas características favorecem outro modelo estrutural, mais eficiente e por vezes mais econômico, no tocante a espaço de armazenamento. Conhecendo as estruturas de dados, a compreensão das alternativas de modelagem de dados multidimensional, base dos sistemas analíticos, fica facilitada. Neste texto abordaremos as principais diferenças entre sistemas transacionais e analíticos, bem como algumas estruturas de indexação comumente utilizadas para cada tipo. Apresentaremos, ainda, considerações importantes quanto à modelagem de dados multidimensional, incluindo os modelos estrela e snowflake e suas variações. Inicio da pagina Fundamentos de Sistemas Analíticos Nos últimos anos o termo Business Intelligence ﴾BI﴿ tem sido largamente utilizado no mercado como sinônimo de sistemas analíticos, OLAP, cubos, entre outros. Embora essas denominações possam estar associadas entre si, são conceitualmente distintas. A rigor, Business Intelligence pode ser obtido por qualquer artefato, seja tecnológico ou não, que permita a extração de conhecimento a partir de análises do negócio. Por razões óbvi efetividade destas análises será maior se os dados estiverem disponíveis de modo consistente e, preferencialmente, consolidado. Este é um dos objetivos dos Data Warehouses. Soluções informatizadas de BI geralmente contém sistemas analíticos, que podem ser de diversos tipos, dependendo do objetivo das análises e do perfil do usuário, conforme ilustrad Figura 1: Decision Support Systems ﴾DSS﴿, ou Sistemas de Apoio a Decisão: são baseados em relatórios analíticos, normalmente utilizados por usuários de nível operacional; Management Information Systems ﴾MIS﴿, ou Sistemas de Informações Gerenciais: permitem análises mais profundas, com a realização de simulações de cenários. Por vezes, utili se de ferramentas de Data Mining para identificação de cruzamentos não triviais. São utilizados por analistas de negócio no nível tático; Executive Information Systems ﴾EIS﴿, ou Sistemas de Informações Executivas: são voltados para profissionais que atuam no nível estratégico das empresas, como diretores e presidência. Oferecem, para tanto, um conjunto de indicadores chave de desempenho ﴾KPI, ou Key Performance Indicators﴿.

description

Breve descrição sobre fundamentos e Modelagem de Bancos de Dados Multidimensionais1

Transcript of Fundamentos e Modelagem de Bancos de Dados Multidimensionais1

  • 07/12/2014 FundamentoseModelagemdeBancosdeDadosMultidimensionais

    http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 1/15

    Fundamentos e Modelagem de Bancos de DadosMultidimensionais90 de 94 pessoas classificaram isso como til

    Publicado em: 4 de outubro de 2007Por Alexandre Ricardo Nardi

    Arquiteto de Solues

    Microsoft Brasil

    Contedo

    Nesta pginaIntroduo Fundamentos de Sistemas Analticos Sistemas Transacionais X Sistemas Analticos Data Warehouses e Data Marts Bancos de Dados Multidimensionais Modelos de Dados Multidimensionais Alguns Conceitos Estrela e suas Variaes Snowflake e suas Variaes Concluso Referncias

    Resumo: Este artigo apresenta estruturas de indexao para bancos de dados multidimensionais, as rvores Bitmap, comparando com as estruturas usadas para bancos de dadosrelacionais. Ento percorremos diversas opes para modelagem de dados multidimensionais, incluindo os Modelos Estrela e Snowflake e suas variaes.

    IntroduoA utilizao de Sistemas Gerenciadores de Bancos de Dados Relacionais SGBDRs prtica consolidada mundialmente. Os dados precisam poder ser armazenados e recuperadosgeralmente em intervalos curtos de tempo, em situaes no triviais tais como:

    Situaes de alta concorrncia, por vezes de milhares de acessos simultneos, que precisam ser gerenciados em ambientes transacionais;

    Grandes web sites que, alm dos requisitos de desempenho, necessitam cuidados especificamente com relao segurana dos dados;

    Aplicaes analticas, baseadas em histricos de anos, para apoio a decises gerenciais e estratgicas.

    As estruturas de dados e mecanismos de indexao utilizados por esses SGBDRs atendem bem s duas primeiras situaes. Todavia, as aplicaes analticas possuem peculiaridades taiscomo manipulao de grandes volumes de dados e baixa taxa de atualizao. Essas caractersticas favorecem outro modelo estrutural, mais eficiente e por vezes mais econmico, notocante a espao de armazenamento.

    Conhecendo as estruturas de dados, a compreenso das alternativas de modelagem de dados multidimensional, base dos sistemas analticos, fica facilitada.

    Neste texto abordaremos as principais diferenas entre sistemas transacionais e analticos, bem como algumas estruturas de indexao comumente utilizadas para cada tipo.Apresentaremos, ainda, consideraes importantes quanto modelagem de dados multidimensional, incluindo os modelos estrela e snowflake e suas variaes.

    Inicio da pagina

    Fundamentos de Sistemas AnalticosNos ltimos anos o termo Business Intelligence BI tem sido largamente utilizado no mercado como sinnimo de sistemas analticos, OLAP, cubos, entre outros. Embora essasdenominaes possam estar associadas entre si, so conceitualmente distintas.

    A rigor, Business Intelligence pode ser obtido por qualquer artefato, seja tecnolgico ou no, que permita a extrao de conhecimento a partir de anlises do negcio. Por razes bvias, aefetividade destas anlises ser maior se os dados estiverem disponveis de modo consistente e, preferencialmente, consolidado. Este um dos objetivos dos Data Warehouses.

    Solues informatizadas de BI geralmente contm sistemas analticos, que podem ser de diversos tipos, dependendo do objetivo das anlises e do perfil do usurio, conforme ilustrado naFigura 1:

    Decision Support Systems DSS, ou Sistemas de Apoio a Deciso: so baseados em relatrios analticos, normalmente utilizados por usurios de nvel operacional;

    Management Information Systems MIS, ou Sistemas de Informaes Gerenciais: permitem anlises mais profundas, com a realizao de simulaes de cenrios. Por vezes, utilizamse de ferramentas de Data Mining para identificao de cruzamentos no triviais. So utilizados por analistas de negcio no nvel ttico;

    Executive Information Systems EIS, ou Sistemas de Informaes Executivas: so voltados para profissionais que atuam no nvel estratgico das empresas, como diretores epresidncia. Oferecem, para tanto, um conjunto de indicadores chave de desempenho KPI, ou Key Performance Indicators.

    p_855830Realce

  • 07/12/2014 FundamentoseModelagemdeBancosdeDadosMultidimensionais

    http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 2/15

    Figura 1: alguns tipos de sistemas analticos.

    O afinamento da pirmide indica quantidades menores e mais especficas de usurios para cada sistema.

    Independentemente do tipo de sistema analtico, este difere substancialmente dos sistemas transacionais de produo. A seguir, apresentaremos tais diferenas, bem como os conceitosenvolvidos.

    Inicio da pagina

    Sistemas Transacionais X Sistemas AnalticosSistemas transacionais, tambm conhecidos como sintticos ou ainda OLTP Online Transactional Processing so aqueles que, como o nome sugere, baseiamse em transaes. Algunsexemplos deste tipo de sistemas so:

    Sistemas Contbeis;

    Aplicaes de Cadastro;

    Sistemas de Compra, Estoque, Inventrio;

    ERPs, CRMs.

    Os sistemas transacionais se caracterizam pela alta taxa de atualizao, grande volumes de dados e acessos pontuais, ou seja, pesquisas cujo resultado seja de pequeno volume atmilhares de linhas, mas preferencialmente menos.

    J os sistemas analticos, ou OLAP Online Analytical Processing se caracterizam por fornecer subsdio para tomadas de deciso, a partir de anlises realizadas sobre bases de dadoshistricas, por vezes com milhes de registros a serem totalizados. Alguns exemplos de sistemas analticos so os ilustrados na Figura 1.

    A Tabela 1 sintetiza as principais diferenas entre sistemas transacionais e analticos:

    Tabela 1: Comparao entre sistemas transacionais e analticos.

    Caracterstica Sistemas TransacionaisOLTP Sistemas AnalticosOLAP

    Atualizaes Mais freqentes Menos freqentes

    Tipo de Informao Detalhes Agrupamento

    Quantidade de Dados Poucos Muitos

    Preciso Dados atuais Dados histricos

    Complexidade Baixa Alta

    Consistncia Microscpica Global

    Exemplos CRM, ERP, Supply Chain MIS, DSS, EIS

    Terminologia Linhas e Colunas Dimenses, Medidas e Fatos

    Conforme ilustrado na tabela acima, o fato dos sistemas transacionais refletirem a situao atual de um determinado tipo de dado conduz todas as demais caractersticas, como:

    A realizao de atualizaes freqentemente, mantendo os dados atuais;

    Informao detalhada com a maior granularidade possvel consistncia microscpica;

    Pesquisas pontuais, portanto de baixa complexidade, no tocante ao negcio do ponto de vista tcnico, a pesquisa pode ser bem elaborada.

    Do mesmo modo, o fato das anlises serem realizadas sobre dados histricos leva s seguintes caractersticas:

    Uma vez que os dados so histricos, as atualizaes no precisam ser to freqentes. Por exemplo, numa comparao entre a produtividade de trs filiais de uma empresa para umdeterminado produto nos ltimos quatro meses, por ms, o dia de hoje ou mesmo ontem no , em geral, de grande representatividade;

    As anlises geralmente agrupam informaes, sendo tais agrupamentos mais importantes neste contexto do que os dados detalhados. No exemplo do item anterior, o importante a produo conjunta mensal, e no a produo de uma unidade particular do produto analisado.

    Os diferentes tipos de sistemas tambm sugerem diferentes abordagens tcnicas, seja na forma de armazenamento ou de busca. No caso dos sistemas transacionais, que exigem acesso

    p_855830Realce

    p_855830Realce

    p_855830Realce

    p_855830Realce

  • 07/12/2014 FundamentoseModelagemdeBancosdeDadosMultidimensionais

    http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 3/15

    rpido aos dados, principalmente no tocante a modificaes, a utilizao de ndices estruturados como rvores balanceadas, ou BTrees, adequada. No entanto, essa estrutura no amais recomendada para sistemas analticos, onde as atualizaes so espordicas, mas as consultas envolvem grandes conjuntos de dados e devem ser muito rpidas. Outra estrutura dedados, denominada rvore PATRICIA, mais adequada neste contexto. As prximas duas sees descrevem o funcionamento dessas duas estruturas.

    rvores Balanceadas BTrees

    Este tipo de rvore, empregada por vrios SGBDRs comerciais ou no, possui a denominao balanceada pelo fato das folhas estarem praticamente mesma distncia da raiz, podendodiferir em apenas um nvel. A Figura 2 ilustra uma rvore balanceada:

    Figura 2: exemplo de rvore balanceada.

    A figura acima mostra uma busca na rvore, que pode ser realizada de modo eficiente. O fato da rvore acima ser binria mera coincidncia. Vale notar que uma insero neste tipo dervore pode ser realizada com pequena quantidade de operaes, conforme ilustrado na Figura 3. Essas operaes denominamse rotaes, e visam a manuteno da rvore comobalanceada. Nos dois casos, a insero foi realizada em g, de modo a desbalancear a rvore. As rotaes sugeridas reparam a situao.

    Figura 3: inseres em rvores balanceadas.

    rvores PATRICIA

    Concebido por Donald. R. Morrison 1 e descrito em 2, PATRICIA um algoritmo para realizao de buscas em rvores com as chaves dos ns representadas em binrio, sem armazenaras chaves nos ns. O nome um acrnimo de Practical Algorithm To Retrieve Information Coded In Alphanumeric, e o mtodo particularmente til para tratamento de chaves detamanho varivel extremamente longas, tais como ttulos e frases. No caso de pesquisas analticas, os dados podem tirar proveito deste mtodo desde que as informaes sejamarmazenadas como cadeias de texto.

    Uma restrio dessas rvores a necessidade de no haver um elemento que seja prefixo de outro, o que pode facilmente ser obtido se necessrio.

    Em nosso exemplo, utilizaremos a codificao apresentada na Tabela 2 para as letras de A a Z:

    Tabela 2: representao binria das letras do alfabeto.

    Caractere Representao Decimal Representao Binria

    0 00000

    A 1 00001

    B 2 00010

    C 3 00011

    D 4 00100

    E 5 00101

    p_855830Realce

    p_855830Realce

    p_855830Realce

  • 07/12/2014 FundamentoseModelagemdeBancosdeDadosMultidimensionais

    http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 4/15

    F 6 00110

    G 7 00111

    H 8 01000

    I 9 01001

    J 10 01010

    K 11 01011

    L 12 01100

    M 13 01101

    N 14 01110

    O 15 01111

    P 16 10000

    Q 17 10001

    R 18 10010

    S 19 10011

    T 20 10100

    U 21 10101

    V 22 10110

    W 23 10111

    X 24 11000

    Y 25 11001

    Z 26 11010

    O caractere utilizado como separador entre as palavras.

    A Tabela 3 ilustra a representao binria da frase ESTE FOI UM ESTUDO DE ARVORE PATRICIA:

    Tabela 3: representao em binrio das palavras do exemplo.

    A partir da frase acima possvel construir a rvore PATRICIA ilustrada na Figura 4:

  • 07/12/2014 FundamentoseModelagemdeBancosdeDadosMultidimensionais

    http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 5/15

    Figura 4: rvore PATRICIA.

    As setas tracejadas indicam um ancestral do n corrente, e as setas Cheias indicam seus descendentes.

    Cada n da rvore possui as seguintes informaes:

    KEY: um ponteiro para o incio da palavra no texto original. Por exemplo, ao invs do texto ESTUDO, o n deveria conter 13, que a posio na frase do incio da palavra;

    LLINK e RLINK: ponteiros representando zero e um, respectivamente. Mais detalhes no exemplo de busca na rvore a seguir;

    LTAG e RTAG: campos binrios indicando se LLINK e RLINK, nesta ordem, so ponteiros para ns ancestrais valor um, representado pelas setas tracejadas na Figura 4 oudescendentes valor zero, correspondente s setas cheias na Figura 4. Por conveno, um n pode ser ancestral de si mesmo;

    SKIP: o nmero de bits que podem ser pulados durante uma busca. O exemplo de busca a seguir ilustra esse conceito.

    A raiz da rvore contm apenas KEY, LLINK e LTAG.

    Busca em rvores PATRICIA

    O algoritmo de busca relativamente simples. Ilustraremos aqui dois casos:

    1. Busca por um elemento presente na rvore: procura pela palavra FOI em binrio, 00110 01111 01001

    A busca inicia no n esquerda da raiz, UM. O campo SKIP pede para analisarmos o bit 1. Se valer 0, procura esquerda. Se valer 1, procura direita. No exemplo,seguimos para a esquerda;

    Estando no n ARVORE, o campo SKIP = 2 somado aos SKIPs anteriores, ou 1 + 2, pede para analisar o bit 3 do texto sendo procurado. Como vale 1, procura direita;

    Estando no n FOI, o campo SKIP pede para analisar o bit 4. Como vale 1, segue direita;

    Como o n corrente no mudou, testa o valor da chave para saber se encontrou. Esse teste importante, uma vez que o padro 0x11x xxxxx xxxxx foi encontrado. Umabusca pelo texto FUI tambm terminaria no mesmo padro.

    2. Busca por todos os elementos que comeam com uma cadeia. Por exemplo, busca por todos os elementos que comecem por EST em binrio, 00101 10011 10100:

    A busca procede da mesma forma que a anterior, at o momento em que tentase comparar bit inexistente 16 bit no texto procurado 15 bits;

    Nesse ponto, comparase o texto procurado com o elemento corrente ESTUDO. Se encontrou, ento o mesmo padro tambm est presente nos descendentes eancestrais deste n, devendo ser ento comparados.

    Construo de rvores PATRICIA

    Este algoritmo funciona da seguinte forma:

    1. A raiz da rvore contm a primeira palavra lida, conforme a Figura 5;

    2. A partir da, para cada novo elemento, fazemos duas buscas:

    A primeira para procurar a provvel localizao do elemento. Considerando todos os elementos distintos, essa busca sempre ser malsucedida;

    Na posio encontrada na primeira busca, determinase quantos bits coincidem com o elemento novo;

    Da, fazse nova busca para encontrar precisamente a posio a inserir o novo elemento.

    A seqncia de figuras a seguir ilustra a construo da rvore da Figura 4:

  • 07/12/2014 FundamentoseModelagemdeBancosdeDadosMultidimensionais

    http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 6/15

    Figura 5: seqncia de figuras ilustrando a construo de uma rvore PATRICIA.

    A rvore completa est na Figura 4.

    Embora seja uma estrutura de dados muito eficiente no que diz respeito a buscas, executando em tempos OlgN, onde N o nmero de elementos da rvore, o custo de atualizaes grande, inviabilizando seu uso para aplicaes transacionais.

    Inicio da pagina

    Data Warehouses e Data MartsEsses dois conceitos comumente se associam ao uso de aplicaes analticas.

    Um Data Warehouse uma base de dados, geralmente relacional, que consolida as informaes empresariais. Sua construo 3 um processo normalmente moroso e complexo, pordiversos fatores, dentre os quais a grande quantidade de dados, diversas fontes de informaes com bases heterogneas e muitas vezes inconsistentes, envolvimento de vrias reas oudepartamentos da empresa. Um dos maiores desafios na construo do DW a extrao e consolidao dos dados operacionais, pois:

    Pode haver vrias fontes;

    Os dados precisam ser limpos;

    A granularidade precisa ser ajustada;

    Pode ser necessrio resumir dados;

    Deve haver valores default e tratamento de NULL;

    necessrio componente temporal;

    p_855830Realce

  • 07/12/2014 FundamentoseModelagemdeBancosdeDadosMultidimensionais

    http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 7/15

    Os relacionamentos nos dados de entrada precisam ser claros.

    Algumas situaes comuns entre as fontes de dados:

    Mesmos dados, nomes diferentes;

    Dados diferentes, mesmo nome;

    Dados exclusivos de uma aplicao;

    Chaves diferentes, mesmos dados.

    Como mtodos de construo, existem formalmente dois:

    Topdown, no qual realizada a modelagem integral do DW, seguida pelas extraes de dados. A principal vantagem a criao de um modelo nico. O revs fica por conta domaior tempo de projeto;

    Bottomup, onde o foco em uma rea por vez, com o crescimento gradual do DW. A vantagem a obteno de resultados a intervalos mais curtos, garantindo muitas vezessustentao ao projeto. A desvantagem a maior dificuldade de se consolidar informaes entre as diversas reas.

    Uma alternativa s estratgias acima, denominada Middleout, aproveitar as vantagens de cada uma por meio do desenvolvimento iterativo do DW:

    1. O modelo de dados corporativo o primeiro a ser desenvolvido e o responsvel pela integrao dos demais;

    2. As primeiras tabelas da rea de interesse escolhida so povoadas: primeiras anlises;

    3. Povoamento de mais tabelas com dados histricos;

    4. Alguns dados passam a compor o DW, saindo da base operacional;

    5. Surgimento dos data marts a seguir nesta seo;

    6. O ciclo se repete at que o DW esteja completo. Bases de produo contm apenas dados operacionais.

    Outro fator crtico para o sucesso de um DW o gerenciamento do volume. Embora o conceito de DW se aplique a grandes quantidades de dados, chegando atualmente a ordem de TB,sua capacidade no infinita, devendo ser utilizada sabiamente. Apenas dados relevantes deveriam constar do DW. Pode ser que o horrio de uma determinada transao seja importantequando o foco for o curto prazo, mas que apenas um contexto de agrupamento seja suficiente para dados de cinco anos atrs. Questes como essa devem ser consideradas durante oplanejamento do DW, pois ajudam a dimensionlo.

    A remoo de dados do DW um assunto tratado com receio pelos DBAs e pelos analistas de negcio. A rigor, to importante quanto saber que dados armazenar, saber quando e quaisdados remover do DW. Algumas estratgias so:

    esumir dados mais antigos;

    Armazenar os dados antigos em meio mais barato fita;

    Remover os dados do DW.

    Tais estratgias no so excludentes, podendo ser utilizadas em conjunto.

    A importncia da remoo de dados est em manter o DW o mais enxuto possvel, embora isso possa parecer contraditrio ao conceito de DW.

    Com relao granularidade, as bases de dados operacionais trabalham com o maior nvel de detalhe possvel, ou seja, a maior granularidade. J no DW pode haver diversos graus deagregao e resumo dos dados. Por exemplo, os dados do ano corrente podem ser detalhados por item de pedidos, de um a cinco anos, por total de cada pedido e, aps isso, por total depedidos por dia. A correta determinao da granularidade exerce papel fundamental no planejamento de capacidade e desempenho do DW.

    Ao contrrio do que ocorre com as bases operacionais, o DW, por conter dados histricos, no demanda alta taxa de atualizao. Desse modo, pode ser atualizado a cada 24 horas ou atmesmo uma vez por semana. Alm disso, por sofrer poucas modificaes, e de forma controlada por aplicaes especficas para esse fim, seus relacionamentos podem serimplementados atravs de entidades, embora isso no seja freqente.

    Embora consolide as informaes da empresa, mesmo que de modo iterativo, os DWs so geralmente armazenados em bancos de dados relacionais, e no se utilizam de estruturas taiscomo as rvores PATRICIA. Neste ponto surgem os Data Marts DM, bancos de dados multidimensionais especficos por rea de negcio para realizao de anlises. Alguns conceitossobre Data Marts no esto muito bem claros para o mercado. O processo de construo de um DW e de DMs, ilustrado na Figura 6, ajuda a esclarecer alguns deles:

    p_855830Realce

    p_855830Realce

    p_855830Realce

    p_855830Realce

    p_855830Realce

    p_855830Realce

  • 07/12/2014 FundamentoseModelagemdeBancosdeDadosMultidimensionais

    http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 8/15

    Figura 6: etapas da construo de um DW e de DMs.

    Como pode ser notado na figura acima, um DW construdo iterativamente possui pores agrupadas por segmento de negcio, regio ou qualquer outra forma que seja adequada empresa. Essas pores alimentam os Data Marts, que podem ser ento consultados por ferramentas de anlise.

    Inicio da pagina

    Bancos de Dados MultidimensionaisA finalidade de bases de dados multidimensionais alguns autores chamam de dimensionais fornecer subsdio para realizao de anlises. Para tanto, sua arquitetura e at mesmo aterminologia empregada so distintas das utilizadas para bancos de dados transacionais.

    O fato de existirem diversas informaes a serem cruzadas dimenses permite a realizao de pesquisas tais como a ilustrada na Figura 7:

    Figura 7: exemplo de pesquisa multidimensional.

    Terminologia

    As anlises sobre dados histricos envolvem uma srie de possibilidades de cruzamentos e agrupamentos de informaes, com o uso dos seguintes termos:

    Dimenses: estabelecem a organizao dos dados, determinando possveis consultas/cruzamentos. Por exemplo: regio, tempo, canal de venda,... Cada dimenso pode ainda terseus elementos, chamados membros, organizados em diferentes nveis hierrquicos. A dimenso tempo, por exemplo, pode possuir duas hierarquias: calendrio gregoriano com osnveis ano, ms e dia e calendrio fiscal com os nveis ano, semana e dia;

    Medidas: so os valores a serem analisados, como mdias, totais e quantidades;

    Fatos: so os dados a serem agrupados, contendo os valores de cada medida para cada combinao das dimenses existentes. O tamanho da tabela que contm os fatos mereceateno especial do analista;

    Agregaes: totalizaes calculadas nos diversos nveis hierrquicos.

    A criao de DMs implica na gerao de agregaes. Este processamento se reflete em ganho de desempenho quando da realizao de consultas.

    Alicerce Relacional

    Diversas ferramentas analticas, tambm chamadas ferramentas de OLAP, operam sobre bases de dados multidimensionais armazenadas em SGBDRs. Alm disso, as agregaes sotambm mantidas em banco de dados relacional.

    Esta forma de armazenamento conhecida como ROLAP, ou Relational OLAP. Uma vez que os dados j se encontram em um modelo apropriado, chamado multidimensional veja opesde modelagem nas prximas sees, basta processar as agregaes. Com isso obtmse ganho de espao de armazenamento, uma vez que os dados permanecem apenas na base deorigem multidimensional, embora a criao de grandes quantidades de agregaes possa incorrer em exploso de dados.

    Alicerce em Cubos

    Outra forma de armazenamento, cujo modelo matemtico denominase hipercubos, apresenta a caracterstica de possuir armazenamento e indexao em estruturas de dados que

    p_855830Realce

  • 07/12/2014 FundamentoseModelagemdeBancosdeDadosMultidimensionais

    http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 9/15

    otimizam consultas ao invs de atualizaes, como o caso das rvores PATRICIA.

    Esta forma erroneamente chamada MOLAP, ou Multidimensional OLAP. O erro est no fato de que bases ROLAP tambm so multidimensionais.

    Quando o modelo multidimensional processado, nova base gerada, desta vez contendo tanto os dados quanto as agregaes em formato prprio, utilizandose de estruturasapropriadas para pesquisas.

    A Figura 8 ilustra uma representao de um cubo com trs dimenses:

    Figura 8: representao de um cubo com as dimenses Produto, Regio e Tempo.

    Embora o risco de exploso de dados seja comum em estruturas relacionais por conta de cruzamentos sem dados, mas que ocupam algum espao, as estruturas utilizadas pelos cubos soesparsas, e se aplicam a dados e agregaes, de modo que os cubos so substancialmente menores do que a base multidimensional que o originou.

    Inicio da pagina

    Modelos de Dados MultidimensionaisA natureza do uso de bancos de dados multidimensionais torna sua modelagem distinta daquela utilizada para sistemas transacionais. Neste ltimo aplicamos tcnicas de normalizaoseguidas por graus de desnormalizao a fim de obter o desempenho desejado ao reduzir o nmero de tabelas em junes joins.

    Vale lembrar que o nmero de planos de execuo para uma juno de n tabelas n!, isto , para uma juno de 10 tabelas h 3.628.800 possibilidades. Embora o escalonador do SGBDpossua estratgias para reduzir este nmero, um ponto de ateno a considerar. J para o caso dos MDDBs, o grau de desnormalizao bem maior, dado o volume de dados e aagilidade na consolidao de valores quando calculando as agregaes.

    Nesta seo, com trechos extrados de 4 e 5, percorremos alguns conceitos importantes para a modelagem quanto representao de fatos, dimenses e quanto a chaves. Entodescrevemos vrios modelos de dados, sempre do ponto de vista lgico. Portanto, os modelos que veremos sero sempre relacionais, independentemente do alicerce, relacional ou emcubos, que pode ser utilizado para o modelo fsico.

    Inicio da pagina

    Alguns ConceitosQuando o modelo de dados comea a ser definido, elementos bsicos de representao precisam ter sido estabelecidos, de modo a criarse um padro de modelagem. Em nosso modeloteremos as dimenses e fatos representados em tabelas, podendo haver mltiplas dimenses e mltiplas tabelas de fatos.

    Fatos

    Ao modelar as tabelas de fatos ou apenas tabela fato, devese ter em mente os seguintes pontos:

    A chave primria composta, sendo um elemento da chave para cada dimenso;

    Cada elemento chave para a dimenso deve ser representado e descrito na tabela dimenso correspondente para efetuar a juno;

    A dimenso tempo sempre representada como parte da chave primria.

    Dimenses

    Deve haver uma tabela dimenso para cada dimenso do modelo, contendo:

    Uma chave artificial ou gerada genrica;

    Uma coluna de descrio genrica para a dimenso;

    Colunas que permitam efetuar os filtros;

    Um indicador NVEL que indica o nvel da hierarquia a que se refere a linha da tabela.

    A Figura 9 ilustra uma tabela para a dimenso Geografia, com os pontos acima representados. Note que a coluna nvel determina a hierarquia Regio/Estado/Cidade

    p_855830Realce

    p_855830Realce

    p_855830Realce

    p_855830Realce

    p_855830Realce

    p_855830Realce

  • 07/12/2014 FundamentoseModelagemdeBancosdeDadosMultidimensionais

    http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 10/15

    Figura 9: exemplo de uma tabela de dimenso

    Valores nulos iro existir em algumas colunas, dependendo do nvel hierrquico para o qual a linha contenha valores. Esse o caso da coluna loja: como somente existem lojas nascidades, e no nos estados ou regies, a tabela fica com nulos, conforme identificados pela regio circundada na figura. Todavia, tarefa do modelo fsico reduzir o espao ocupado pelosnulos

    A Dimenso Tempo

    Esta uma dimenso que praticamente todos os sistemas analticos possuem, dada a caracterstica de realizao de anlises em dados histricos. Deveria conter:

    Uma coluna chave para a juno com as tabelas de fatos;

    Uma descrio genrica para cada perodo;

    Colunas que permitam efetuar os filtros;

    Coluna sinalizadora da presena de fatos para o perodo de tempo indicado na linha;

    Coluna RESOLUO usada para restringir o perodo ao nvel apropriado opera de forma idntica coluna NVEL das outras dimenses

    Coluna SEQNCIA que contm um nmero seqencial de 1 a n em cada nvel do perodo de tempo e identifica a ordem relativa de cada data. Permite:

    Coluna SEQNCIA que contm um nmero seqencial de 1 a n em cada nvel do perodo de tempo e identifica a ordem relativa de cada data. Permite:

    Construes com clculos de tempo, como ltimos quatro dias, por exemplo.

    A Figura 10 mostra um exemplo de tabela de dimenso tempo. Note que a descrio o que aparecer para os valores de uma determinada data ou perodo.

    Figura 10: exemplo de uma tabela para a dimenso tempo

    Consideraes sobre Chaves

    No tocante s chaves, sistemas analticos devem contar com chaves artificiais, por uma srie de motivos:

    Qualquer atualizao de dados fica simplificada. Por exemplo, um recadastramento de CPFs, embora improvvel, poderia resultar em atualizao de grande volume para uma tabelade fatos de transaes bancrias, caso o cliente fosse identificado com CPF sendo chave;

    Com uma nica coluna para a chave, geralmente de tipo inteiro, o desempenho de pesquisas tende a ser melhor quanto menor o tamanho da chave, melhor o desempenho;

    O fato de ser chave simples facilita a execuo de junes.

    Inicio da pagina

    Estrela e suas VariaesUma das formas de apresentao de um banco de dados multidimensional atravs do Modelo Estrela, apresentado por Ralph Kimball 4. No centro da estrela encontrase a tabela defatos e, ao seu redor, as dimenses. Este modelo apresentado na Figura 11:

    p_855830Realce

    p_855830Realce

    p_855830Realce

    p_855830Realce

    p_855830Realce

    p_855830Realce

  • 07/12/2014 FundamentoseModelagemdeBancosdeDadosMultidimensionais

    http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 11/15

    Figura 11: Modelo Estrela

    um modelo simples e eficiente, caracterizado por possuir uma nica tabela de fatos e chaves simples nas tabelas de dimenses. Cada dimenso representada por uma nica tabela.

    Os pontos positivos deste modelo so a eficincia, dada pelo reduzido nmero de junes nas pesquisas e pelas chaves simples, e a facilidade de definir hierarquias.

    Os pontos negativos so o tamanho e a desnormalizao das tabelas de dimenses.

    Modelo Estrela Parcial

    uma variao do Modelo Estrela, na qual existem vrias tabelas fato e de dimenso separadas lgica e fisicamente por nveis de sumarizao.

    Desse modo, os dados so particionados em granularidades distintas. Por haver vrias tabelas fato, na prtica existem vrias estrelas, cada uma representando uma combinao de nveisde agregao em cada dimenso. A Figura 12 apresenta uma parte do modelo que ilustra esta variao.

    Figura 12: exemplo de duas estrelas no Modelo Estrela Parcial

    Quando houver necessidade de novas agregaes, basta criar outras tabelas com as granularidades desejadas, como ilustrado na Figura 13.

    p_855830Realce

  • 07/12/2014 FundamentoseModelagemdeBancosdeDadosMultidimensionais

    http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 12/15

    Figura 13: Modelo Estrela Parcial para composies de agregaes

    Os pontos positivos deste modelo so a maior economia de espao, eliminando redundncias e colunas que no tm sentido para determinado nvel de agregao e o melhordesempenho para consultas de nvel especfico de agregao.

    Por outro lado, a complexidade do modelo maior e as consultas que combinam nveis de agregao distintos so mais elaboradas, podendo resultar em queda de desempenho.

    Modelo Estrela com Particionamento de Fatos ou Modelo Constelao de Fatos

    uma variao do Modelo Estrela Parcial, na qual os fatos so particionados e as dimenses compartilhadas, conforme ilustrado na Figura 14.

    Figura 14: Modelo Particionamento de Fatos

    Quando comparado ao Modelo Estrela Parcial, este modelo menos exigente quanto sua manuteno, dado o compartilhamento das tabelas de dimenso.

    Modelo Estrela com Particionamento de Dimenses

    Assim como o anterior, uma variao do Modelo Estrela Parcial, porm com as dimenses particionadas, compartilhando a tabela de fatos. A Figura 15 apresenta este modelo. Note quea tabela de fatos deve conter os seus dados na maior granularidade que o modelo previr e tambm consolidados de acordo com os nveis mais altos.

    p_855830Realce

    p_855830Realce

    p_855830Realce

    p_855830Realce

  • 07/12/2014 FundamentoseModelagemdeBancosdeDadosMultidimensionais

    http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 13/15

    Figura 15: Modelo Particionamento de DImenses, para local e tempo. Note a granularidade da tabela de fatos.

    Este modelo particularmente til quando houver dimenses com grande quantidade de elementos, como o caso de SKUs de produtos, por exemplo.

    Inicio da pagina

    Snowflake e suas VariaesOs Modelos Snowflake acrescentam graus de normalizao s tabelas de dimenses do Modelo Estrela, eliminando redundncias e a necessidade do indicador NVEL. A Figura 16 mostra oresultado da normalizao das tabelas Produtos e Lojas apresentadas na Figura 11. Observe a reduo nas redundncias, o que resulta em agilidade na manuteno. Apesar disso, ummodelo que resulta em maior nmero de tabelas em junes, podendo haver queda de desempenho.

    Figura 16: Modelo Snowflake, aps normalizao do Modelo Estrela da Figura 11

    A seguir veremos trs variaes do Modelo Snowflake.

    Modelo Snowflake Lookup

    Neste modelo, ilustrado na Figura 17, as tabelas de dimenses so normalizadas, resultando na eliminao de redundncias, o que torna a manuteno mais gil e o modelo maisconsistente.

    Aqui, criamos uma tabela principal para uma determinada dimenso, que referencia tabelas de busca lookup, estas contendo os nomes e descries de campos.

    Um cuidado extra com este modelo o nmero de tabelas em junes, o que pode degradar o desempenho.

    p_855830Realce

    p_855830Realce

  • 07/12/2014 FundamentoseModelagemdeBancosdeDadosMultidimensionais

    http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 14/15

    Figura 17: parte do Modelo Snowflake Lookup, mostrando a normalizao da tabela Clientes do modelo da Figura 16

    Observe no diagrama acima, que a tabela de fatos foi deslocada para a esquerda e nem todas as dimenses esto representadas, a fim de melhorar a visualizao do modelo. Note que atabela de dimenso PrincipalClientes possui apenas os dados de cada cliente e chaves estrangeiras para outros elementos, sendo que a manuteno destes feita de modo maisconsistente ao promover alteraes apenas nas tabelas de busca lookup.

    Modelo Snowflake Chain

    Este modelo encadeia as tabelas de dimenses comeando com a tabela principal, que o ponto de entrada para a tabela fato. A tabela principal da dimenso contm a chave para oprximo nvel da hierarquia da dimenso e assim por diante. Na Figura 16, a normalizao da dimenso Produtos em diversos nveis um exemplo deste modelo. Note que a tabela defatos possui indicao do nvel mais baixo na hierarquia, referenciando a dimenso Produtos, e ento as tabelas de dimenses Modelos e Fabricantes percorrem os nveis mais altos.

    A recomendao de uso deste modelo ocorre quando o nvel de detalhe mais baixo est armazenado na tabela de fatos. A contraindicao, por sua vez, para os casos em que apesquisa requer vrios nveis de sumarizao da informao, j que so necessrios vrios passos para recuperar as informaes. A fim de melhorar o desempenho, uma sugesto desnormalizar a cadeia, inserindo as chaves de nveis mais altos nos nveis mais baixos.

    Modelo Snowflake Attribute

    Com o objetivo de reduzir o nmero de informaes referentes a atributos nas tabelas de fatos, geralmente utilizados para obteno de detalhes drillthrough, inserimos todos eles emuma tabela de atributos, conforme ilustrado pelas figuras a seguir.

    Figura 18: Modelo Snowflake, antes de separar os atributos

  • 07/12/2014 FundamentoseModelagemdeBancosdeDadosMultidimensionais

    http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 15/15

    Figura 19: Modelo Snowflake Attribute

    Outra utilidade deste modelo a consolidao de informaes sobre diversas pequenas dimenses que possuam poucos campos muitas vezes apenas a descrio em uma nica tabela.Desse modo, o nmero de tabelas em junes pode ser reduzido, melhorando o desempenho.

    Inicio da pagina

    ConclusoO desenvolvimento de sistemas analticos cada vez mais comum. Embora haja ferramentas de diversos fornecedores, de nada elas adiantam se a modelagem de dados e o paradigmaanaltico no forem compreendidos.

    Neste artigo procuramos percorrer assuntos pouco divulgados e com pouca bibliografia. Abordamos as estruturas de dados mais comumente encontradas em gerenciadores relacionais eanalticos: as BTrees e as rvores Bitmap. Ao conhecer um pouco da estrutura que suporta as tecnologias, esperamos que o leitor possa escolher melhor e entender as caractersticas decada modelo de dados que desenvolver e suportar.

    As opes de modelagem so vrias e aqui ilustramos algumas que podem ser utilizadas de modo isolado ou ainda combinadas, a fim de produzir modelos de dados multidimensionaisque atendam a sua demanda.

    Inicio da pagina

    Referncias

    1. PATRICIA Practical Algorithm To Retrieve Information Coded In Alphanumeric. Morrison, Donald R. 4, 1968, JACM, Vol. 15, pp. 514534.

    2. Knuth, Donald E. The Art of Computer Programming. s.l. : AddisonWesley, 1998. Vol. 3. ISBN 0201896850.

    3. Inmon, W H. Building the Data Warehouse. s.l. : John Wiley & Sons, 1998.

    4. Ferreira, Joo Eduardo, Italiano, Isabel Cristina and Takai, Osvaldo Kotaro. Introduo a Banco de Dados. [Online] 2005. [Cited: 06 21, 2007.]http://www.ime.usp.br/~jef/apostila.pdf.

    5. Tanler, Richard. The Intranet Data Warehouse. s.l. : John Wiley & Sons, 1997.

    6. Kimball, Ralph. The Data Warehouse Toolkit. s.l. : John Wiley & Sons, 2000.

    Inicio da pagina

    2014 Microsoft