Escolar Documentos
Profissional Documentos
Cultura Documentos
BALANCEAMENTO DE BANCO DE
DADOS
Introdução
2020/01
Não tem Exame. Quem precisar de nota deve fazer os trabalhos para somar pontos.
2014-01 5
Tópicos abordados
• Monitoramento diário de banco de dados.
• Metodologia de otimização.
• Ferramentas de otimização de desempenho.
• Reestruturação de arquivos para desempenho.
• Identificação e solução de problemas de I/O.
• Armazenagem de dados e configuração de banco de
dados para desempenho.
• Problemas comuns de otimização e desempenho.
• Dimensionamento de pool de compartilhamento.
• Processamento de consultas e otimização.
Referências - Livros
Damas, L. M. D. SQL - Structured Query
Language. LTC, 2007. ISBN: 8521615582
PRICE, Jason. Oracle Database 11g SQL:
domine SQL e PL/SQL no banco de dados
Oracle, 1a. ed. Bookman, 2009.
KLINE, Kevin E; KLINE, Daniel. SQL - o guia
essencial: manual de referência profissional.
Starlin Alta Consult, 2010.
Faroult, Stephane. Refactoring SQL
Applications. Oreilly & Assoc, 2006. e-book.
2014-01 7
Referências - www
•VLDB (Very Large Data Bases) Conference
• ACM SIGMOD International Conference on Management of
Data
• ACM SIGMOD-SIGACT-SIGART Symposium on Principles of
Database Systems
•http://www.vldb.org
•http://www.sigmod09.org
•http://www.oracle.com
•Executive Briefing Computerworld: O Futuro do banco de
dados [http://lt.idg.com.br/lt_form/270]
•DeWitt, D., Gray, J. Parallel Database Systems: The Future of
Database Processing or a Passing Fad?. ACM SIGMOD
Record, Volume 19, Issue 4, 1990
– https://oracle-base.com/
– https://www.dbi-services.com/
– https://pythian.com/
Princípios básicos da otimização
• Considere os princípios básicos a seguir
durante o processo de otimização:
– Pense globalmente, corrija localmente
– Particionamento elimina gargalos
– Custos de inicialização são altos, custos de
execução são baixos
– Aprimore a utilização do servidor
– prepare-se para os ajustes e desvios
Ambiente de Laboratório
• Oracle 19C (versão 19.3.0 Enterprise Edition);
• Usaremos os esquemas de exemplo do oracle;
• Disponível Máquina Virtual rodando no Virtual
Box usando Oracle Linux;
• Caso necessite, poderá usar essa VM no
computador do laboratório da FATEC;
• Requisitos Mínimos para o seu PC 2GB de
RAM, cerca de uns 5GB de disco, algum dos
processadores modernos (i.e. I3);
Links para download
• Virtual Machine:
https://www
.oracle.com/database/technologies/databaseappdev-vm
.html#license-lightbox
• Oracle for windows:
https://www.oracle.com/br/database/technologies/oracle
19c-windows-downloads.html#license-lightbox
• Oracle for Linux:
https://www.oracle.com/br/database/technologies/oracle
19c-linux-downloads.html#license-lightbox
Pense globalmente, corrija
localmente
• Ajustes efetivos geralmente envolvem
compreensão global do problema e intervenção
mínima
• Implica em medidas corretas que levam a
conclusões exatas
• Quando corrigindo uma consulta lenta, um modo
de pensar global é conhecer as transações
envolvidas com aquela consulta
• Para isso, faz-se necessário conhecer o projeto
da aplicação.
Particionamento elimina gargalos
• É raro que um sistema esteja lento porque
todas as suas partes estão.
• Usualmente uma parte do sistema limita o
seu funcionamento geral.
• Esta parte é o gargalo.
• Similar a uma rodovia, o gargalo é como
uma pista interditada de uma rodovia.
Particionamento em SGBD
• É a técnica utilizada para reduzir a carga
em certo componente do sistema.
• Isto pode ser acrescentando mais
componentes na mesma função, ou
• Distribuindo a carga ao longo do tempo.
• Particionamento pode levar a excesso de
comunicação entre as frações.
Custos iniciais são altos
• Em geral os objetos feitos pelo apresentam
grande uso de recursos para iniciar seu
funcionamento.
• Exemplo: os carros, as lâmpadas fluorescentes.
• Os bancos de dados também são assim, como
visto a seguir:
– Iniciar leitura em disco;
– Latência no envio de mensagens;
– Custo de parse e verificação de semântica dos
comandos;
– Abertura de conexões;
Alocação adequada dos recursos
do servidor
• A melhor performance de um sistema
implica não somente no ajuste do servidor
• Ajustes entre servidor e cliente devem
buscar a distribuição entre essas partes.
• Esta alocação implica em três principais
aspectos:
– Os recursos disponíveis no cliente
– Onde a informação está disponível
– A interação do BD com as telas
Aspectos gerais
• Se o servidor está sobrecarregado, então
todas as requisições serão iguais e para
resolver deve-se delegar ao cliente.
• Eventos do BD liberam a aplicação de
fazer pooling.
• Transações podem segurar recursos do
banco enquanto aguarda a interface.