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 banco de dados

Hélder Manoel Lima e Silva - hmls

  • Upload
    daria

  • View
    28

  • Download
    0

Embed Size (px)

DESCRIPTION

sintonia de banco de dados. SISTEMAS DE GERENCIAMENTO 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;. DESEMPENHO. O QUE É? - PowerPoint PPT Presentation

Citation preview

Page 1: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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 objetivosCOMO 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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

select nome from funcionário

Resultado

Varredura completa da

tabelaselect nome from

funcionárioWhere matrícula

= 10Resultado

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

Page 20: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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é hoje

2. 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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

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: Hélder Manoel Lima e Silva - hmls

sintonia de banco de dados

hélder manoel lima e silva

- hmls -

fim