Documente Academic
Documente Profesional
Documente Cultură
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.
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.
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;
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.
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:
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.
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:
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
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.
<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
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
https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 7/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais
As setas tracejadas indicam um ancestral do n corrente, e as setas Cheias indicam seus descendentes.
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.
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.
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.
https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 9/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais
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:
https://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx 10/26
15/04/2016 FundamentoseModelagemdeBancosdeDadosMultidimensionais
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;
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:
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
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:
Terminologia
As anlises sobre dados histricos envolvem uma srie de possibilidades de cruzamentos e agrupamentos de
informaes, com o uso dos seguintes termos:
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;
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.
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
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:
Cada elemento chave para a dimenso deve ser representado e descrito na tabela dimenso correspondente
para efetuar a juno;
Dimenses
Deve haver uma tabela dimenso para cada dimenso do modelo, contendo:
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
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:
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
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;
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
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.
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
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
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.
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
Quando comparado ao Modelo Estrela Parcial, este modelo menos exigente quanto sua manuteno, dado o
compartilhamento das tabelas de dimenso.
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
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.
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.
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
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