A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Tunning de SQL. O que é tunning de BD ? Ajustes que fazem a aplicação de BD executar mais rapidamente Rapidamente implica –maior throughput ( vazão) –menor.

Apresentações semelhantes


Apresentação em tema: "Tunning de SQL. O que é tunning de BD ? Ajustes que fazem a aplicação de BD executar mais rapidamente Rapidamente implica –maior throughput ( vazão) –menor."— Transcrição da apresentação:

1 Tunning de SQL

2 O que é tunning de BD ? Ajustes que fazem a aplicação de BD executar mais rapidamente Rapidamente implica –maior throughput ( vazão) –menor tempo de resposta

3 O que pode ser feito ? Mudar –a forma de construção de aplicações –estruturas de dados –parâmetros do BD –Configuração do sistema operacional –Hardware Ênfase no conhecimento da aplicação e de sistemas computacionais

4 Princípios básicos Tunning é livre de modelos matemáticos ( facilidade ) Conhecimento necessário ( difícil ) –Aplicação –Sw do DB –Sistema operacional –Aspectos físicos do hw

5 Princípios básicos Nunca usar funções de agregação quando o tempo de transação é crítico –Esse tipo de função recupera grandes quantias de informação, bloqueando outras consultas –Se função for aplicável a poucas tuplas selecionadas por índice, isso pode não se aplicar Regra: Não busque grandes qtde de dados em ambientes de grande concorrência

6 5 princípios básicos 1.Pense globalmente, corrija localmente 2.Balanceamento evita gargalos 3.Inicialização é mais cara que execução 4.Delegue ao servidor o que é de servidor 5.Prepare-se para mudanças e escolhas

7 Princípio 1 Medir corretamente, na quantidade correta, Para chegar ao resultado correto

8 Princípio 1 Tunning global: 1.Estatísticas de hardware 1.Utilização da CPU 2.Atividade de E/S 3.Paginação, etc. –Nota: observar valores altos e tomar ação -Ex. alta atividade de disco – comprar mais hw para distribuir ( mais discos)

9 Princípio 1 Ex. alta atividade de disco –Pode ser inapropriado-> CAUSA -Alta busca de consulta em tabelas sem índices -Log compartilha um disco com dados acessados muito frequentemente (OFA) -DBA não dimensionou buffer do BD ( mais E/S)

10 Princípio 1 Ex. alta atividade de disco –Medir tempo de execução de uma consulta -Se for pouco frequente : não perca tempo para fazer esse ajuste

11 Princípio 1 Questões de distribuição dos dados X acessos 1.Criação de índices 2.Logs que concorrem em discos com muitos dados acessados - pode ser mais efetivos que comprar mais hw

12 Princípio 1 DBA deve fazer seu papel Ex. Alta atividade no disco pois o DBA esqueceu de incrementar o tamanho do buffer da DB ( mais acessos de disco) Medição de tempo de uma consulta específica –se o tempo é alto, REDUZIR ? Sse é executada frequentemente Reduzir tempo de uma query somente se ela é usada com freqüência

13 Princípio 2 Dificilmente um sistema está lento porque TODOS seus componentes estão saturados Uma parte do sistema limita a performance geral ( gargalo)

14 Princípio 2 Balanceamento evita gargalos Uso de particionamento –Técnica para redução da carga em um componente do sistema –Divisão da carga entre mais recursos OU –Gerenciamento de carga por intervalos de tempo

15 Princípio 2: Particionamento Um banco tem N setores. Os clientes acessam suas contas de casa. Se o sistema central fica sobrecarregado : –dispor os dados das contas de clientes que acessam de casa num subsistema –Forma de particionamento de espaço ( recursos físicos)

16 Princípio 2 Problemas de conflito de bloqueio –Envolve poucos recursos –Lista de páginas de buffers não usados no BD sofrem concorrência/ conflito antes dos arquivos de dados –Solução: dividir tais recursos em partes para diminuir conflitos em cada bloqueio

17 Princípio 2 Ex. das listas : criar uma lista com ponteiros para apontar porções de páginas livres Uma thread bloqueia a lista em uso e um força o acesso a uma outra lista, randômica. Particionamento lógico ( de recursos bloqueáveis

18 Princípio 2 Sistemas de poucas transações longas/curtas concorrendo nos mesmo dados sempre tem desempenho ruim devido a conflitos de bloqueio e de recursos. Deadlocks: Forçam transações longas a abortarem >> bloquear as curtas Transações longas usam maiores porções de pool de buffers >> atrasando as t. curtas

19 Princípio 2 Solução : executar transação longa qdo há atividade de pequenas transações e e serializar as longas ( particionamento no tempo) Solução 2: permitir t. longas (read-only) submeter dados antigos em hw separado. ( particionamento no espaço)

20 Princípio 3: Inicialização é mais cara que execução Ex. operação de leitura –Início é caro, depois o disco provê dados em alta velocidade –Leitura de segmento de 64 kbytes em um único disco é cerca de 2 X mais barata que 512 bytes de uma trilha –Tabelas lidas devem ser dispostas consecutivamente em disco –Particionamento vertical : bom para consultas de poucas colunas em tabelas com centenas de colunas

21 Fragmentação/ Particionamento de dados Sob a perspectiva de esquemas, Maior sentido em particionar subconjuntos da tabela do que toda a tabela Ao fragmentar, execução paralela de uma única consulta ( DIV : subconsultas em fragmentos) Aumenta o nível de concorrência Maior throughput( vazão)

22 Desvantagens da Fragmentação/ Particionamento de dados Aplicativos tem requisitos conflitantes q impedem a decomposição da relação em fragmentos mutuamente exclusivos Visões definidas sobre mais de um fragmento Controle sobre semântica de dados ( controle de integridade) >> degrada desempenho

23 Alternativas de Fragmentação Vertical Horizontal

24 Fragmentação Horizontal ( tuplas) Paris31.000ManutençãoP4 NY CAD/CAMP3 NY20.000Desenv. BDP2 Montreal15.000INSTRUMENTACAOP1 LOCORÇAMPNOMEPNO NY20.000Desenv. BDP2 Montreal INSTRUMENTAC AO P1 LOCORÇAMPNOMEPNO Paris31.000ManutençãoP4 NY CAD/CAMP3 LOCORÇAMPNOMEPN O

25 Fragmentação Vertical ( atributos) Paris31.000ManutençãoP4 NY CAD/CAMP3 NY20.000Desenv. BDP2 Montreal15.000INSTRUMENTACAOP1 LOCORÇAMPNOMEPNO P P P P1 ORÇAMPNO ParisManutenção NYCAD/CAM NYDesenv. BD MontrealINSTRUMENTACAO LOCPNOME


Carregar ppt "Tunning de SQL. O que é tunning de BD ? Ajustes que fazem a aplicação de BD executar mais rapidamente Rapidamente implica –maior throughput ( vazão) –menor."

Apresentações semelhantes


Anúncios Google