Buscar

04. Projeto Físico de Banco de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 9 páginas

Prévia do material em texto

26/08/2013
Banco de Dados - Prof. Jorge Soares 1
Sistemas de Bancos de Dados
Prof. Jorge Soares
jasoares@uerj.br
Tema
Projeto Físico de Bancos de Dados
Agenda
• Conceito
• Projeto de índices
• Desnormalização
Banco de Dados – Prof. Jorge Soares 2
26/08/2013
Banco de Dados - Prof. Jorge Soares 2
Introdução
• Etapa do projeto de BD que ajusta o projeto 
lógico, otimizando seu projeto.
• Ações marcantes:
– Projeto de índices
– Desnormalização de relações
Banco de Dados – Prof. Jorge Soares 3
Índices
• Estruturas de dados mantidas internamente pelo SGBD para
otimizar o acesso aos dados nas relações.
• Diversos tipos: Árvore-B ou B+ (mais comuns para a chave
primária), Tabelas Hash, Listas Invertidas, ISAM etc.
• Os índices guardam internamente, como informação,
apenas os valores dos atributos sendo indexados, dentro de
uma ordem estabelecida pelo algoritmo de formação do
índice.
Banco de Dados – Prof. Jorge Soares 4
26/08/2013
Banco de Dados - Prof. Jorge Soares 3
Índices
• Benefício: quando uma operação a ser efetuada envolver somente
o atributo pertencente ao índice, não haverá a necessidade de
acessar os dados da relação
• Os SGBDs criam automaticamente índices para as chaves
primárias das relações.
• Índices para os demais atributos são usados ou para encontrar
elementos da relação, ou como critério para ordenar os elementos
ao exibí-los.
Banco de Dados – Prof. Jorge Soares 5
Índices
• Idealmente, os índices são criados como parte do projeto de BD.
Porém, é recomendável que o administrador monitore o uso do BD
em produção, e otimize os índices ao longo do tempo.
• Indexação e a Chave Primária
– Toda chave primária deve ser definida
– Problema que o SGBD não resolve: a não definição de chave
primária.
– Neste caso, a busca é realizada de forma sequencial.
Banco de Dados – Prof. Jorge Soares 6
26/08/2013
Banco de Dados - Prof. Jorge Soares 4
Índices
• Atributos usados como filtros
– Criam-se índices se eles entram em consultas com frequência de
execução alta, ou tempo de resposta insatisfatório
– O benefício obtido pela criação de um índice será tanto maior
quanto maior for a diversidade de valores do atributo indexado.
– Caso o desempenho seja crítico, a variedade de valores pode ser
aumentada artificialmente, criando um índice que, além do atributo
em questão, inclua um outro com muitos valores diferentes
(embora este não faça parte de nenhuma busca)
Banco de Dados – Prof. Jorge Soares 7
Índices
• Atributos Usados em Junções
– Criação de índices para as chaves estrangeiras.
• Índices Únicos
– Evitam que um atributo assuma o mesmo valor em duas
ou mais tuplas distintas
– São os usados em chaves primárias
Banco de Dados – Prof. Jorge Soares 8
26/08/2013
Banco de Dados - Prof. Jorge Soares 5
Índices
• Índices Compostos
– Usados quando uma consulta deve ser executada utilizando n atributos
– Se faltar um índice de um atributo de consulta, a busca é feita de forma
sequencial.
• Índices Numéricos x Índices sobre Caracteres
– Sempre prefira tipos numéricos a tipos string para campos que
comportem estas duas categorias, e que necessitem ser indexados
– Nos tipos numéricos, escolha sempre o de menor tamanho (mas que
obviamente contemple todos os valores do domínio do atributo)
Banco de Dados – Prof. Jorge Soares 9
Índices
• Evitando Índices com Duplicações
– Um índice com taxa elevada de duplicações é um índice
que contém um universo restrito de valores.
– Índices com elevada taxa de duplicação em geral
degradam o desempenho, porque o custo das operações
individuais de incluir, eliminar e modificar valores no índice
fica muito elevado.
Banco de Dados – Prof. Jorge Soares 10
26/08/2013
Banco de Dados - Prof. Jorge Soares 6
Índices
• Impacto do Comprimento das Chaves de Indexação
– Um índice é dito largo se contém uma quantidade grande de
informação.
– Esta situação ocorre se o índice é baseado em um atributo, cujos
valores são compridos, ou se o índice é composto de vários atributos.
– Quanto menor for a largura do índice, melhor será o desempenho do
SGBD.
– Use índices largos quando ele evita o acesso à relação propriamente
dita, porque todos os valores necessários fazem parte do índice.
Banco de Dados – Prof. Jorge Soares 11
Índices
• Evitando Índices em Excesso
– Cuidado com os índices criados em tempo de testes, e depois
esquecidos!
– Relacionamentos em excesso geram índices em excesso
– Inserção, remoção ou alteração de dados causam mudanças nos
índices
– Espaço em disco desnecessário sendo utilizado
– O SGBD pode escolher o índice errado, dado o enorme número de
índices
Banco de Dados – Prof. Jorge Soares 12
26/08/2013
Banco de Dados - Prof. Jorge Soares 7
Índices
• Localização Física de Índices
– Não é válida para todos os SGBDs
– Prefira, se possível, localizar os índices em unidades de
disco diferentes dos que estão os dados. Assim, podem-
se aproveitar recursos de acesso simultâneo ou de
threads
Banco de Dados – Prof. Jorge Soares 13
Cuidados a tomar durante a otimização
• Hardware do ambiente de desenvolvimento e de produção:
→ Tipo, velocidade e quantidade de CPUs
→ Disponibilidade de memória principal (deve ser igual nos
dois ambientes)
→ Velocidade dos discos rígidos
Banco de Dados – Prof. Jorge Soares 14
26/08/2013
Banco de Dados - Prof. Jorge Soares 8
Cuidados a tomar durante a otimização
• OBSERVAÇÃO: Quando o equipamento de testes não puder
ser o mesmo do de produção, ou quando não existir
equipamento de testes, deve-se executar os testes em
horário alternativo no próprio ambiente de produção.
• Utilização da rede (em BDs cliente/servidor e/ou distribuídos)
• Softwares utilizados: versões do Sistema Operacional, do
SGBD, e de eventuais ferramentas de monitoramento e
aplicação.
Banco de Dados – Prof. Jorge Soares 15
Cuidados a tomar durante a otimização
• Os dados utilizados nos testes devem ser, idealmente, os mesmos do
ambiente de produção: as mesmas relações, os mesmos índices, os
mesmos dados, a mesma quantidade.
• Caso o ambiente de testes não possua espaço disponível para todos os
dados, diminua-os em uma fração conhecida (metade, por exemplo), para
que os resultados sejam interpretados de forma aproximada
• Exceção: Otimização de uma única consulta. Neste caso, é preferível
manter todos os dados das relações envolvidas nessa consulta e ignorar os
dados das demais relações
Banco de Dados – Prof. Jorge Soares 16
26/08/2013
Banco de Dados - Prof. Jorge Soares 9
Considerações sobre a desnormalização
• As normalizações devem ser sempre entendidas como orientações
• Alguns casos:
1. Endereços (decompor ou não)
Ex.: CEP → cidade e estado (CEP permanece na tabela original)
2. Totalizações
por exemplo as consolidadas (ex.: média de pagamentos p/ novos 
creditos)
geralmente são armazenadas em relações diferentes das consolidadas 
(ex.: total de pedidos armazenado na tabela de clientes, ao invés de 
pedidos)
Neste caso, processamento batch é necessário, para atualizar os valores
Banco de Dados – Prof. Jorge Soares 17
Considerações sobre a desnormalização
3. Dados históricos
Existe uma relação com um número muito grande de elementos, 
dos quais uma minoria é acessada com certa frequência, enquanto 
a maioria dos elementos raramente é acessada, mas precisa estar 
presente.
Solução: particionamento da relação
Ex.: COMPRAS = COMPRAS_MES_ATUAL + 
COMPRAS_MES_ANTERIOR + COMPRAS_DOIS_MESES + ...
Processamento de atualização também é necessário
Banco de Dados – Prof. Jorge Soares 18

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes