Top Banner
sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de banco de dados
31

Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

Apr 19, 2015

Download

Documents

Internet User
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

Hélder Manoel Lima e Silva - hmls

SISTEMAS DE GERENCIAMENTO DE

BANCO DE DADOS

sintonia de banco de

dados

Page 2: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

Visa melhorar o tempo de resposta na base de dados;

Exige conhecimento da arquitetura, SGBD, projeto do BD;

Sintonia x Otimização de consultas;

Page 3: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

DESEMPENHOO QUE É?eficiência com que um sistema de computação atinge seus objetivos

COMO MEDIR?1. modelagem analítica: não precisa da implantação real do sistema, porém simplificações são necessárias e podem comprometer a qualidade e generalidade dos resultados. 2. simulação: permite resultados mais precisos, mas, exige maior esforço e conhecimento de ferramentas.3. monitoramento: pode ser aplicado apenas em sistemas já existentes podendo gerar medições mais realistas, todavia, se constitui em carga extra para o sistema

Page 4: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

SINTONIA MANUALatividade do DBA: tarefa complexa pela necessidade de compreensão dos algoritmos utilizados pelo sistema e pela possibilidade de inter-relações entre os ajustes

SINTONIA AUTOMÁTICAcenário ideal: sistemas alcançam desempenho adequado sem necessidade de ajuste manual

Page 5: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

PRINCIPAIS ETAPAS DE AVALIAÇÃO DE UMA CONSULTA:

Verificação da sintaxeErros sintáticos são detectados

Verificação de semânticaverifica se os objetos utilizados no comando SQL existem,

estão acessíveis para o usuário, e foram aplicados corretamente.

PROCESSAMENTO E OTIMIZAÇÃO DE CONSULTAS

Page 6: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

Reescrita de queryReescrita do comando SQL em uma

representação mais adequada para a manipulação do SGBD

Otimização de plano de acessoSimplificação do comando SQL em unidades mais

simples para que o SGBD seja capaz de mapear isoladamente para suas rotinas básicas

PROCESSAMENTO E OTIMIZAÇÃO DE CONSULTAS

Page 7: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

Geração de códigomapeamento do comando SQL em rotinas básicas do SGBD

Complexidade NP (não é possível determinar solução ótima)

PROCESSAMENTO E OTIMIZAÇÃO DE CONSULTAS

Page 8: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

ÍNDICES visam permitir acesso mais rápido aos dados usualmente mantidos em estruturas de árvores B+

PRINCIPAIS TIPOS1. não cluster: ponteiros para cada uma das tuplas da tabela de

cada um dos valores indexados. dados separados dos índices.

2. cluster: nas folhas, alem das chaves, as tuplas correspondentes.

Page 9: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

1. varredura seqüencial (full table scan): leitura de todas as páginas do disco que contém dados referentes a uma tabela

2. busca baseada em rowid: busca a tupla sem percorrer toda a tabela.

3. varredura indexada única: o índice é percorrido para a obtenção de informações referentes a uma única tupla.

4. varredura indexada por faixa de valores : uma faixa de valores do índice é percorrida na busca por um conjunto de um ou mais valores da chave

MÉTODOS DE ACESSO

Page 10: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

Além dos métodos de acesso, outras operações são necessárias para obter resultados a partir de comandos SQl como junção e ordenação.

ALGORITMOS PARA IMPLEMENTAÇÃO

1. Laços aninhados

2. Ordenação fusão

3. Junção hash

JUNÇÃO E ORDENAÇÃO

Page 11: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

OUTRAS CLÁUSULAS SQL SÃO RESOLVIDAS POR OPERAÇÕES DE ORDENAÇÃO

Order by Group by Union

Page 12: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

OTIMIZAÇÃO POR CUSTO E POR REGRAS Para a escolha das operações a serem utilizadas e montagem dos planos de acesso devem-se tomar decisões baseadas em custo ou regras.

REGRAS 1. utilizam um conjunto de regras para definir a ordem das operações.2. operações mais restritivas devem ser realizadas antes.

Page 13: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

OTIMIZAÇÃO POR CUSTO E POR REGRAS

CUSTO1. Um custo é atribuído a cada operação

2. O plano escolhido é o que apresentar menor custo total.

Page 14: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

select nome from funcionário

Resultado

Varredura completa da

tabela

select nome from funcionário

Where matrícula = 10

Resultado

Busca baseada em rowid

Varredura indexada única

B

A

select e.nome, d.nome from empregado e inner join departamento d on e.depnum = d.num order by e.nome

Resultado

Ordenação

Junção por laços aninhados

Varredura indexada única em

índice cluster (tabela

departamento)

Varredura indexada

completa em índice cluster

(tabela empregado)

C

Page 15: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

SINTONIA Alterações visando melhor desempenho na execução de um comando ou acréscimo da vazão (throughput) do SGBD.

1.Essencial conhecimento dos planos de acesso e como o SBGD os monta2.Reduzir operações de I/O3.Reescrita de comandos4.Dicas

Page 16: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

SINTONIA

1.Reescrita de Comandos

Comandos diferentes resultados iguais

Performances diferentes

Page 17: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

select distinct

matricula,nome from

empregado

select matricula,nome from

empregado

A

select matricula,no

me from empregado e

inner join departamento

d on e.depnum = d.num where d.num = 5

select matricula, nome from

empregado e where

e.depnum = 5

B C

select depnum,count(

*) from empregado e

group by depnum having

depnum > 5 select and

depnum < 10

select depnum,count(*

) from empregado e

where depnum >5 and depnum <10 group by

depnum

Page 18: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

CONSULTAS E SUB-CONSULTAS

Não correlacionadas >>> tendem a não utilizar índice na sub-consulta

Correlacionadas >>> referenciam atributo das tabelas da consulta externa

Junções >>> usualmente, o melhor desempenho

Page 19: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

Page 20: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

DICASindicam uma operação que deve ser realizada dentro do plano de acesso que não foi determinada quando o plano foi gerado pelo otimizador.

EXEMPLOSSelect /* + INDEX(nome_tabela nome_indice) */ Coluna1, coluna2 from tabelaSelect /* + FULL(nome_tabela) */ coluna1,coluna2 from tabela

Page 21: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

FATOR DE FILTRO

Percentual de tuplas que satisfazem um predicado SQL

Baseado em Estatísticas coletadas pelo SGBD

Operadores AND ,OR

Page 22: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

ÍNDICES COMPOSTOS

IS NULL, NOT LIKE, NOT EXISTS: impedimento do uso de índices

USO DE ÍNDICES COMPOSTOS

CAUSA PROBLEMAS SE CRIADOS COM BASE EM ATRIBUTOS ATUALIZADOS FREQUENTEMENTE: necessidade de se atualizar os índices dos atributos que sofreram atualização.

Page 23: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

SINTONIA DE PROJETO

Problemas de performance com junções >>> Desnormalização

Espaço em disco abundante>>> Views materializadas

Particionamento

Page 24: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

Manter operações mais necessárias em memória principal (minimizar leitura física)

Hit Ratio = nº de leituras lógicas – nº de leituras físicas X 100 nº de leituras lógicas

1. Indicador de acertos na memória.2. Pode ser utilizado como alerta para necessidade de sintonia.

HIT RATIO

Page 25: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

Transações longas >>> Dados bloqueados

Padrão dos SGBD Read Commited (2PL restrito).

BLOQUEIOS

Page 26: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

1. Transações longas >>> Criação de estruturas de apoio para acelerar buscas

2. Coleta de estatísticas sobre dados armazenados3. Alocação dos dados em disco em memória4. Controle de quantas transações serão atendidas

pelo sistema e qual tempo de resposta

AUTO-SINTONIA

Page 27: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

1. Definição do ambiente em que o componente de auto-sintonia esta inserido. (local ou global)

2. Modificação do sistema através de um ciclo de controle de realimentação

3. Coleção de estatísticas e informações de forma que haja pouco impacto no desempenho do sistema

4. Utilização de modelos matemáticos e estimativas para prever o desempenho futuro do sistema.

5. Realização de ajustes simples online e ajustes complexos offline.

6. Substituições de políticas de sintonia por decisões de política de uso

PROPOSTAS PARA AUTO SINTONIA

Page 28: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

Interações entre componentes podem causar desestabilização do sistema provocadas por

sintonia em um recurso particular.

1. Sistemas que são projetados para satisfazer requisitos de desempenho

<< Projetar sistemas mais simples Possibilidade de modelar formalmente comportamento e ajuste

<< Nenhum sistema implementado até hoje2. Sistemas aos quais são acrescentados módulos de

auto-sintonia<< Calcular vantagens da execução de cada

possível sintonia escolher a melhor e intensidade da mudança.

<< Incluído no SQL Server (Index tuning wizard)Projetar sistemas mais simples Possibilidade de modelar formalmente comportamento e ajuste

AUTO-SINTONIA GLOBAL

Page 29: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

1. Projeto físico >> escolher a melhor organização física para um dado esquema

2. Alocação de dados >> determinar como deve-se alocar e realocar fragmentos de arquivos ou relações de modo que o equilíbrio de carga seja o menor possível

3. Controle de carga >> evitar que a vazão caia devido a conflitos de bloqueio

4. Substituição de páginas >> manter em memória as páginas mais acessadas do banco de dados

5. Ajuste de buffers >> buscar a quantidade de buffers ideal de buffers distintos para que o desempenho aumente

6. Refino de estatísticas >> definir quais estatísticas devem ser criadas no banco de dados

AUTO-SINTONIA LOCAL

Page 30: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

1. Agente de software integrado ao SGBD

2. Coleta de informações sobre consultas ao SGBD

3. Com base em uma heurística, decide quando deve criar ou destruir índices.

AUTO-SINTONIA ÍNDICE

Page 31: Sintonia de banco de dados hélder manoel lima e silva - hmls - Hélder Manoel Lima e Silva - hmls SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS sintonia de.

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

fim