Vous êtes sur la page 1sur 34

Aula 5

SISTEMA GERENCIADOR
DE BANCO DE DADOS

Prof. Martin Morães


Conversa Inicial
Projeto Físico

 Se faz os ajustes para


que se possa tirar o
melhor proveito
 Atividades de análise
e de ajustes
Contextualizando
Projeto Físico

 Como será a
performance do
sistema?
 Quais serão os
gargalos?
 Como contornar?
Pesquisa
Quando e quem?

 “O projeto físico é uma


atividade em que o
objetivo é não apenas
criar a estruturação
apropriada de dados
no armazenamento,
mas também fazer isso
de modo que garanta
um bom desempenho”.
 ELMASRI et. al. (2011, p. 490).
Quando e quem?

 Não é possível tomar decisões


significativas de projeto físico
e análise de desempenho até
que o projetista de banco de
dados conheça a combinação
de consultas, transações e
aplicações que deverão usar o
banco de dados. Isso é
chamado de combinação de
tarefas para determinado
conjunto de aplicações de
sistema de banco de dados.
 ELMASRI (2011, p. 490).
Atividade de Analise (1/7)

 Analisando consultas
e transações
 identificar os
elementos
envolvidos nas
operações.
Atividade de Analise (1/7)

 Para cada consulta de


recuperação, as seguintes
informações seriam
necessárias:
 Quais arquivos.
 Os atributos x condições de
seleção.
 Condição de seleção:
igualdade, desigualdade ou
intervalo.
 Os atributos x condições de
junção.
 Os atributos que serão
recuperados pela consulta.
Atividade de Analise (1/7)

 Para cada operação de


atualização ou transação de
atualização, a informação a
seguir seria necessária:
 Os arquivos.
 Operação (inserção,
atualização ou exclusão).
 Os atributos x condições de
seleção.
 Os atributos cujos valores
serão alterados por uma
operação de atualização.
Atividade de Analise (1/7)

 Aplicação:
 Índices
 Procedimentos
 Gatilhos
Atividade de Analise (2/7)

 Analisando a
frequência de
chamada de consultas
e transações esperada
 Quantas instruções
utilizam cada
atributo de cada
tabela para seleção e
para junção.
Atividade de Analise (2/7)

 A regra dos 80-20


informal pode ser
usada:
 +/- 80% do
processamento é
atribuído a apenas
20% das consultas
e transações.
 ELMASRI(2011, p. 490).
Atividade de Analise (3/7)

 Analisando as
restrições de tempo de
consultas e transações
 especificações em
que o tempo de
resposta estão
explícitos.
 terminar em 5 seg.
em 95% das
ocasiões em que é
chamada.
Atividade de Analise (4/7)

 Analisando as
frequências esperadas
de operações de
atualização
 manter uma
quantidade ideal de
caminhos de acesso.
 Quanto mais
atualizações de
dados mais
atualizações de
índices.
Atividade de Analise (5/7)

 Analisando as
restrições de
exclusividade em
atributos.
 As chaves
primárias devem
ter índices
Atividade de Analise (6/7)

 Decisões sobre
indexação
 os tempos de
respostas tem de
serem satisfatórios
mesmo com os
overhead.
Atividade de Analise (6/7)

 Neste contexto as
perguntas sobre índice
devem ser:
 Se um atributo deve ser
indexado.
 Que atributo ou
atributos indexar.
 Se um índice agrupado
deve ser montado ou
de outro tipo (hash,
secundário e etc...).
Atividade de Analise (7/7)

 Desnormalização
 as vezes será
necessário que se
repita atributos
(campos) em outra
tabela, ganhando
assim a eliminação
de uma operação
de junção.
Ajustes de banco de
dados
Ajustes de banco de dados

 O ajuste de um banco de dados


envolve lidar com os seguintes
tipos de problemas:
 Como evitar disputa excessiva
por bloqueio, aumentando
assim a concorrência entre as
transações.
 Como minimizar o overhead do
logging e o dumping
desnecessário de dados.
 Como otimizar o tamanho do
buffer e o escalonamento de
processos.
 Como alocar recursos como
discos, RAM e processos para
que a utilização seja mais
eficiente.
 ELMASRI(2011, p. 494).
Ajustes de banco de dados

 Ajuste de Índices
 Ajuste de Consultas
Ajuste de Índices
 A escolha inicial de índices
pode ter que ser revisada
pelos seguintes motivos:
 Certas consultas podem
levar muito tempo para
serem executadas, por
falta de um índice.
 Certos índices podem
nem ser utilizados.
 Certos índices podem
sofrer muita atualização,
pois o índice está em um
atributo que sofre
mudanças frequentes.
 ELMASRI (2011, p. 494)
Ajuste de Consultas

Alguns casos típicos de situações


que precisam de ajuste de
consulta incluem os seguintes:
 Muitos otimizadores de
consulta não usam índices na
presença de expressões
aritméticas, comparações
numéricas de atributos de
diferentes tamanhos e
precisão, comparações NULL e
comparações de substring
(LIKE e etc...)
 Índices não constumam ser
usados para consultas
aninhadas usando IN.
Ajuste de Consultas

 Um DISTINCTs normalmente
causa uma operação de
ordenação e deve ser evitado
ao máximo possível.
 O uso desnecessário de tabelas
de resultado temporários pode
ser evitado ao se reduzir
consultas múltiplas em uma
única consulta.
 Em algumas situações
envolvendo o uso de consultas
correlacionadas, os
temporários são uteis.
Ajuste de Consultas

 Se várias opções para uma


condição de junção são possíveis,
escolha uma que utilize um índice
de agrupamento e evite aquelas
que contêm comparações de
string.
 Uma peculiaridade com alguns
otimizadores de consulta é que a
ordem das tabelas na cláusula
FROM pode afetar o
processamento da Junção. Se isso
acontecer, pode ser preciso trocar
essa ordem para que a menor das
duas relações seja varrida e a
relação maior seja usada com um
índice apropriado.
Ajuste de Consultas
 Alguns otimizadores de
consulta funcionam piore
em consultas aninhadas em
comparação com seus
correspondentes não
aninhados.
 Às vezes, essas visões se
tornam exageradas porque
uma consulta pode ser
proposta diretamente contra
uma tabela de base, em vez
de passar por uma visão que
é definida por JUNÇÃO.
Síntese
Atividade de Analise

1. Analisando
consultas e
transações
2. Analisando a
frequência de
chamada de
consultas e
transações esperada
Atividade de Analise

3. Analisando as
restrições de tempo
de consultas e
transações
4. Analisando as
frequências
esperadas de
operações de
atualização
Atividade de Analise

5. Analisando as
restrições de
exclusividade em
atributos
6. Decisões sobre
indexação
Atividade de Analise

7. Desnormalização
Ajustes de banco de dados

 Ajuste de Índices
 Ajuste de Consultas

Vous aimerez peut-être aussi