Академический Документы
Профессиональный Документы
Культура Документы
FundamentoseModelagemdeBancosdeDadosMultidimensionais
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.
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
http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx
1/15
07/12/2014
FundamentoseModelagemdeBancosdeDadosMultidimensionais
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
Terminologia
Linhas e Colunas
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 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
http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx
2/15
07/12/2014
FundamentoseModelagemdeBancosdeDadosMultidimensionais
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:
Representao Decimal
Representao Binria
<espao>
00000
00001
00010
00011
00100
00101
http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx
3/15
07/12/2014
FundamentoseModelagemdeBancosdeDadosMultidimensionais
00110
00111
01000
01001
10
01010
11
01011
12
01100
13
01101
14
01110
15
01111
16
10000
17
10001
18
10010
19
10011
20
10100
21
10101
22
10110
23
10111
24
11000
25
11001
26
11010
http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx
4/15
07/12/2014
FundamentoseModelagemdeBancosdeDadosMultidimensionais
http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx
5/15
07/12/2014
FundamentoseModelagemdeBancosdeDadosMultidimensionais
http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx
6/15
07/12/2014
FundamentoseModelagemdeBancosdeDadosMultidimensionais
Os relacionamentos nos dados de entrada precisam ser claros.
http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx
7/15
07/12/2014
FundamentoseModelagemdeBancosdeDadosMultidimensionais
http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx
8/15
07/12/2014
FundamentoseModelagemdeBancosdeDadosMultidimensionais
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
http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx
9/15
07/12/2014
FundamentoseModelagemdeBancosdeDadosMultidimensionais
http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx
10/15
07/12/2014
FundamentoseModelagemdeBancosdeDadosMultidimensionais
http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx
11/15
07/12/2014
FundamentoseModelagemdeBancosdeDadosMultidimensionais
http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx
12/15
07/12/2014
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
http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx
13/15
07/12/2014
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 ilustrado pelas figuras a seguir.
http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx
14/15
07/12/2014
FundamentoseModelagemdeBancosdeDadosMultidimensionais
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
2014 Microsoft
http://msdn.microsoft.com/ptbr/library/cc518031(d=printer).aspx
15/15