Sunteți pe pagina 1din 26

15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

Fundamentos e Modelagem de Bancos de


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

Arquiteto de Solues

Microsoft Brasil

Contedo

Nesta pgina
Introduo
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 dados relacionais. Ento percorremos diversas opes para
modelagem de dados multidimensionais, incluindo os Modelos Estrela e Snowflake e suas variaes.

Introduo
A utilizao de Sistemas Gerenciadores de Bancos de Dados Relacionais SGBDRs prtica consolidada
mundialmente. Os dados precisam poder ser armazenados e recuperados geralmente 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 tais como manipulao de grandes volumes de
dados e baixa taxa de atualizao. Essas caractersticas favorecem outro modelo estrutural, mais eficiente e por vezes
mais econmico, no tocante a espao de armazenamento.

Conhecendo as estruturas de dados, a compreenso das alternativas de modelagem de dados multidimensional,


base dos sistemas analticos, fica facilitada.

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 1/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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 Analticos
Nos ltimos anos o termo Business Intelligence BI tem sido largamente utilizado no mercado como sinnimo de
sistemas analticos, OLAP, cubos, entre outros. Embora essas denominaes 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, a efetividade 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 na Figura 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 e presidncia. Oferecem, para tanto, um
conjunto de indicadores chave de desempenho KPI, ou Key Performance Indicators.

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 conceitos envolvidos.

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 2/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

Inicio da pagina
Sistemas Transacionais X Sistemas Analticos
Sistemas transacionais, tambm conhecidos como sintticos ou ainda OLTP Online Transactional Processing so
aqueles que, como o nome sugere, baseiamse em transaes. Alguns exemplos 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 at milhares 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 dados histricas, 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;

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 3/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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 um determinado 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 rpido aos dados, principalmente no tocante a
modificaes, a utilizao de ndices estruturados como rvores balanceadas, ou BTrees, adequada. No entanto,
essa estrutura no a mais recomendada para sistemas analticos, onde as atualizaes so espordicas, mas as
consultas envolvem grandes conjuntos de dados e devem ser muito rpidas. Outra estrutura de dados, 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, podendo diferir 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 de rvore pode ser realizada com pequena
quantidade de operaes, conforme ilustrado na Figura 3. Essas operaes denominamse rotaes, e visam a
manuteno da rvore como balanceada. Nos dois casos, a insero foi realizada em g, de modo a desbalancear a
https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 4/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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 armazenar as 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 de tamanho varivel extremamente longas, tais como ttulos e frases. No caso de pesquisas
analticas, os dados podem tirar proveito deste mtodo desde que as informaes sejam armazenadas 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

<espao> 0 00000

A 1 00001

B 2 00010

C 3 00011

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 5/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

D 4 00100

E 5 00101

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 <espao> utilizado como separador entre as palavras.

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

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 6/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

Tabela 3: representao em binrio das palavras do exemplo.

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

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 7/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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 ou descendentes 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. Uma busca 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 e ancestrais 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;


https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 8/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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:

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 9/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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 Marts
Esses 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, por diversos fatores, dentre os quais a grande
quantidade de dados, diversas fontes de informaes com bases heterogneas e muitas vezes inconsistentes,
envolvimento de vrias reas ou departamentos 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;

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 10/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

Pode ser necessrio resumir dados;

Deve haver valores default e tratamento de NULL;

necessrio componente temporal;

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 do maior 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 vezes sustentao 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 importante quando 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 o planejamento 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 quais dados remover do DW. Algumas estratgias

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 11/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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 de agregao 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 de pedidos 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 at mesmo uma vez por semana. Alm disso, por
sofrer poucas modificaes, e de forma controlada por aplicaes especficas para esse fim, seus relacionamentos
podem ser implementados 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 tais como as rvores PATRICIA. Neste ponto surgem
os Data Marts DM, bancos de dados multidimensionais especficos por rea de negcio para realizao de anlises.
Alguns conceitos sobre 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:

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 12/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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 Multidimensionais
A finalidade de bases de dados multidimensionais alguns autores chamam de dimensionais fornecer subsdio para
realizao de anlises. Para tanto, sua arquitetura e at mesmo a terminologia 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 ter seus elementos, chamados
membros, organizados em diferentes nveis hierrquicos. A dimenso tempo, por exemplo, pode possuir duas
hierarquias: calendrio gregoriano com os nveis 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 merece ateno especial do analista;

Agregaes: totalizaes calculadas nos diversos nveis hierrquicos.


https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 13/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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 so tambm 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 opes de 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 de origem 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 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 estruturas apropriadas 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 so esparsas, 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

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 14/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

Modelos de Dados Multidimensionais


A natureza do uso de bancos de dados multidimensionais torna sua modelagem distinta daquela utilizada para
sistemas transacionais. Neste ltimo aplicamos tcnicas de normalizao seguidas 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 SGBD possua 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 a agilidade 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. Ento descrevemos vrios modelos de dados,
sempre do ponto de vista lgico. Portanto, os modelos que veremos sero sempre relacionais, independentemente
do alicerce, relacional ou em cubos, que pode ser utilizado para o modelo fsico.

Inicio da pagina
Alguns Conceitos
Quando 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 modelo teremos 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

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 15/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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 nas cidades, 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 pelos nulos

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.

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 16/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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 tabela de 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 Variaes
Uma 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 de fatos e, ao seu redor, as dimenses. Este modelo
apresentado na Figura 11:

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 17/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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 nveis de agregao em cada dimenso. A
Figura 12 apresenta uma parte do modelo que ilustra esta variao.

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 18/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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.

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 19/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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 melhor desempenho 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.

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 20/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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 que a 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.

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 21/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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 Variaes
Os 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 o resultado 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, um modelo que resulta em maior nmero de tabelas em junes, podendo haver queda
de desempenho.

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 22/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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 mais consistente.

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.

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 23/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

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 a tabela de dimenso PrincipalClientes possui
apenas os dados de cada cliente e chaves estrangeiras para outros elementos, sendo que a manuteno destes
feita de modo mais consistente 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 o prximo 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 de fatos 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 a pesquisa 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 em uma tabela de atributos, conforme
https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 24/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

ilustrado pelas figuras a seguir.

Figura 18: Modelo Snowflake, antes de separar os atributos

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.

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 25/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais

Inicio da pagina
Concluso
O 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 paradigma analtico 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 e analticos: 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 de cada 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 multidimensionais que 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

2016 Microsoft

https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 26/26

S-ar putea să vă placă și