Data Warehouse Tuning

O que é um Data Warehouse?

Índices Bitmap

Índices Multidimensionais

Vistas Materializadas

Índices Join
Um Data Warehouse é...
...uma fonte única e integrada de
informação de suporte à decisão que é
formada recolhendo dados de múltiplas
fontes, quer internas ou externas à
organização, e que transforma e sumariza
essa informação para permitir o
melhoramento da tomada de decisões.
Motivação
Objectivo – Acumular informação para produzir
indicadores de negócio que permitam tomar
decisões.
Finalidade - Possibilitar aos utilizadores um acesso
fácil a grandes quantidades de informação,
sendo este acesso normalmente, suportado por
ferramentas especializadas em análise de dados.
Contexto (em comparação com os
Sistemas Operacionais)


Introduzir uma nova encomenda
Obter as 10 encomendas de maior valor que não foram entregues
Cubo de Dados


Formato lógico que permite modelar e
visualizar dados sob várias perspectivas
É constituído por:


Tabelas de dimensões
Tabela de factos
Representam o tema central do cubo
 Consiste em medidas numéricas pelas quais
queremos analisar as relações existentes entre as
dimensões

Índices Bitmap
Constroiem-se para uma coluna de cada vez.
Quando usar?
Tabelas que não têm ou têm poucos Inserts /
Updates são boas candidatas.
Índices Bitmap

Adequam-se melhor a múltiplas condições sobre
vários atributos que tenham cardinalidade
baixa(poucas valores únicos).
Índices Bitmap


Constrói-se um vector bi-dimensional AxB
sendo A os valores distintos que a coluna
indexada tem e B o número de registos da
tabela.
Cada índice desse vector corresponde a
um campo da tabela e está a 1 se a linha
que estamos a considerar possui esse
valor na coluna indexada.
Índices Multidimensionais – Bitmap
Operações de comparação, join e agregados são
mais eficientes porque se reduzem a operações
de aritmética binária
Índices Multidimensionais – R-Tree
Índices Multidimensionais – R-Tree
Índices Multidimensionais – R-Tree



É uma árvore com pesos (height-balanced tree)
com índices registo nos nós folha que contêm
apontadores para os objectos de dados.
Os nós folha têm entradas da forma (I, id_tuplo),
sendo I o rectângulo mais pequeno que contêm,
espacialmente, o objecto de dados n-dimensional
representado pelo tuplo indicado.
Nos nós não-folha as entradas são da forma (I,
ponteiro_filho) onde I é o rectângulo mais
pequeno que cobre todos os rectângulos do nó
filho.
Vistas Materializadas
create materialized view vendorOutstanding
build immediate
refresh complete
enable query rewrite
as
select orders.vendor, sum(orders.quantity*item.price)
from orders,item
where orders.itemnum = item.itemnum
group by orders.vendor;
Vistas Materializadas


Basicamente, o que é feito é prá-calcular a
soma das quantidades a multiplicar pelo
preço.
É criada uma tabela real como resultado
da materialização da vista e esta tabela
pode ser indexada.
Vistas Materializadas



Existe um compromisso entre rapidez no
processamento de querys e manutenção das
vistas.
Quando é necessário manter um grande número
de vistas, temos um problema.
Uma vista pode ser computada a partir de outra.
Join Índices



Quando temos índices separados sobre
colunas referenciadas numa query.
Para optimizar o processamento podemos
fazer a junção dos índices, combinando-os
para encontrar só os registos que
satisfazem a query
Identificam tuplos de uma forma pouco
dispendiosa
Bibliografia

www.dbazine.com/datawarehouse/dwarticles/shasha1

Database Tuning, Shasha & Bonnet – Capítulo 10

www.akadia.com/services/ora_materialized_views

www.linhadecodigo.com.br/

Apontamentos de Sistemas de Apoio à Decisão
Download

DW Tuning