Você está na página 1de 17

OTIMIZAÇÃO E

BALANCEAMENTO DE BANCO DE
DADOS

Introdução
2020/01

Prof. Carlos Garcia


Conteúdo
• Apresentações
• Referências Bibliográficas
• Planejamento do módulo
• Visão geral da otimização e balanceamento
de banco de dados
Objetivo
• Ao final da disciplina o aluno será capaz de:
analisar e otimizar o desempenho de Bancos
de Dados.
Planejamento
• Como tratar os problemas mais frequentes
– Consultas
– Parâmetros de memória
– Gargalos
• Monitoramento
– Atividades
– Ferramentas
• Otimização
– Metodologia
– Ferramentas
• Storage
• Particionamento
Avaliação
 5laboratórios previstos
 Primeiro bimestre:
 Relatórios nos laboratórios (50%) (bi-semanal)
 Lab01 (week 03/04)
 Lab02 (week 05/07)
 Lab03 (week 08/10)
 Trabalho (50%) (workshop) (Week 11 e 14)
Week 11 e 12 semanas para preparar
Week 13 e 14 semanas para apresentar
Segundo bimestre:
 Relatórios nos laboratórios (100%) (semanal)
Lab 04 (Week 15 e 16)
Lab 05 (Week 17 e 18)
 Conteúdo mínimo: enunciado; prints; resultados; codigo-fonte.
 As notas e os relatórios são finalizados ao término do bimestre, por isso precisa entregar
dentro desse prazo.

 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.

Você também pode gostar