Tuning Lílian Simão Oliveira.

Slides:



Advertisements
Apresentações semelhantes
Otimização de Consultas em SQL Estimativas de Custos
Advertisements

Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Banco de Dados Prof. Antonio.
Banco de Dados I Aula 20.
UML Visões – Parte 2.
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
SISTEMAS DE INFORMAÇÃO GERENCIAL Dados / Informação
Data Warehouse Tuning O que é um Data Warehouse? Índices Bitmap
Visões Marilde Santos.
Maurício Edgar Stivanello
Otimização de Consultas em SQL Parte I - Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 19 Profa. Sandra de Amo Programa.
Gerenciamento de Banco de Dados
Otimização de Consultas em SQL Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 24 Profa. Sandra de Amo GBC053 – BCC
Ordenação de Resultados
Operadores Especiais da SQL
Indexação e Hashing Muitas consultas referenciam apenas uma pequena porção dos registros em uma tabela. Portanto necessitamos ser capaz de localizar estes.
Análise de Decisão Aplicada a Gerência Empresarial – UVA Enfoque multicritério Bibliografia: ALMEIDA, Adiel – Cap 3 Prof. Felipe Figueira
Prof. Alexander Roberto Valdameri
ESTRUTURA DE COMUNICAÇÃO DE DADOS
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
TOMADA DE DECISÃO E RACIONALIDADE ADEQUAR OS MEIOS AOS FINS DESEJADOS
HARDWARE do CLP Os controladores lógicos programáveis são equipamentos com uma aplicação muito vasta dentro dos diversos processos de automação. Desta.
Query Tuning Lílian Simão Oliveira.
Comandos de SQL Excel VBA II.
Tecnologias de Linguagens para Banco de Dados
Geração de Planos de Execução Planos para Consultas Aninhadas
Otimizador de consultas
Análise de problemas Capacidade de pensamento crítico
Otimização de Consultas em SQL Planos de Execução
sintonia de banco de dados
Algoritmos de Processamento e Otimização de Consultas
Exercícios SGBD - CESPE
BD Distribuído Conceitos Iniciais.
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros waelson.com.br “Está conosco o Senhor dos Exércitos”
Marcio de Carvalho Victorino Processo Unificado. Unidade VI: Teste.
Baseado no material do Professor Raul Paradeda
SGBD Distribuído Lílian Simão Oliveira.
Teste de Software Conceitos iniciais.
Sistemas Operacionais
ANÁLISE ESTRUTURADA DE SISTEMAS
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Objetivos do Capítulo Explicar a importância da implementação de processos e tecnologias de gerenciamento de dados numa organização. Explicar as vantagens.
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Linguagem de Manipulação de Dados. 2 Conteúdos Introdução ao SQL Comando SELECT – Extracção de Dados  Pesquisas Simples  Restrições na pesquisa de dados.
Introdução a Banco de Dados Aula 04
Bancos de Dados Estrutura e Funcionamento de um SGBD
Banco de Dados I I Comandos SQL
Linguagem SQL Prof. Juliano.
SISTEMAS DE APOIO À DECISÃO - SAD
1 24/4/ :29 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
Sumário 1 SQL Embutida 2 Processamento de Consultas
Banco de Dados I Unidade 6 Processamento de Consultas Otimização Lógica.
Abordagem Sistemática Guilherme Amaral Avelino Avaliação e Controle de Sistemas de Informação.
Daniel Paulo Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às.
Daniel Paulo Introdução Neste capítulo trataremos a relação entre tabelas e FILEGROUPS, bem como a alocação interna de dados.
Daniel Paulo SQL Módulo I Daniel Paulo
Projeto de Banco de Dados
VBA – Visual Basic para Aplicativos
UCSal – Bacharelado em Informática
UCSal – Bacharelado em Informática Banco de Dados Profa. Semíramis Assis
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 1 Tópicos  Introdução  Um exemplo  Características da abordagem de banco de dados  Vantagens.
Modelos de dados.
BD SQL (Insert, Update, Delete) e Select Hayslan Nicolas Colicheski Bucarth – IFRO / 2015 –
FERRAMENTAS DA QUALIDADE
INTELIGÊNCIA EMPRESARIAL Aula 8 - Metadados e Operações OLAP.
Persistência de dados e padrão DAO
Gestão da Tecnologia da Informação Fundamentos de Sistemas de Banco de Dados Faculdade de Tecnologia Senac Jaraguá do Sul.
Prática de Banco de Dados Créditos: Prof. Jefferson Silva Adaptações: Prof. Nécio de Lima Veras.
Modelagem de Dados Aula 3.
Modelagem de Banco de Dados: Conceitos
Transcrição da apresentação:

Tuning Lílian Simão Oliveira

Bom desempenho do SGBD Boas decisões durante o projeto (design) do sistema. Considerações sobre: o volume esperado de dados em cada relação (tabela) do sistema quais consultas serão realizadas quais dessas consultas serão mais frequentes Funcionamento real conhecido somente quando implementado muitas das considerações que os projetistas haviam feito durante a fase de design podem mostrar-se incorretas.

Para um bom projeto de SGBD Conhecer as cargas de trabalho do SGBD: Uma lista das consultas (com suas frequˆencias) Uma lista de atualizações (com suas frequˆencias) Objetivos de desempenho para cada tipo de consulta e atualização

Para cada carga de trabalho Para cada consulta da carga de trabalho é preciso identificar: Quais relações s˜ão acessadas Quais atributos s˜ão retidos (na cláusula SELECT) Quais atributos possuem condições de junção ou seleção expressas sobre eles (na cláusula WHERE) e qu˜ão seletivas estas condições tendem a ser

Atualização de carga de trabalho para cada atualização da carga de trabalho é necessário considerar: Quais atributos possuem condições de junção ou seleção expressas sobre eles (na cláusula WHERE) e qu˜ao seletivas estas condições tendem a ser O tipo de atualização (INSERT, DELETE ou UPDATE) e a relação a ser atualizada Para os comandos de atualização, quais campos ser˜ão modicados

O que é Tuning? Fase de ajuste do sistema com o objetivo de melhorar o desempenho do sistema de banco de dados. Fase posterior ao design e a implementação

Tuning – Processo de refinamento Envolve vários aspectos do SGBD: Esquemas e Projeto do BD Configurações do Software Ajuste do Hardware

Fase de Design – Fase de Tuning Segundo Ramakrishnan e Gerke (2002) Fase de Design: análise de requisitos projeto conceitual projeto lógico refinamento dos esquemas das relações projeto físico projeto dos aspectos de segurança do dados

Fase de Design – Fase de Tuning Segundo Ramakrishnan e Gerke (2002) Fase de Tuning: execução de ações relacionadas as 6 fases de design (não necessariamente de maneira ordenada) para aumentar o desempenho do SGBD.

Fases do Tuning Em termos didáticos podem ser divididos nas seguintes fases: refinamento do esquema das relações e as consultas/updates feitas no BD configuração do sistema operacional em uso configuração dos parâmetros dos SGBDs

Como saber o que precisa de ajustes? Monitoramento do SGBD Descobrir qual é o gargalo do sistema Tomar as medidas necessárias para o problema em questão

Tuning – Decisões importantes Decisões tomadas durante o projeto físico e posteriormente nos ajustes: Escolha dos índices a serem criados: Para quais relações serão criados índices e qual campo ou combinação de campos serão escolhidos como chaves de busca. Para cada índice, se ele deve ser agrupado ou n˜ão. Ajustando o esquema conceitual: Qual a melhor forma normal a ser utilizada (por exemplo, BCNF ou 3NF). Em alguns casos, pode ser interessante desnormalizar o esquema a fim de se obter um ganho de desempenho.

Tuning – Decisões importantes Decisões tomadas durante o projeto físico e posteriormente nos ajustes: (Cont.) Ajustando o esquema conceitual: Pode-se optar também pelo particionamento vertical, ou seja, decompor ainda mais certos esquemas já decompostos. Vis˜ões podem ser utilizadas para mascarar as mudanças no esquema conceitual dos usuários. Ajustes de consultas e transações: Consultas e transações frequentemente executadas podem ser reescritas para ficarem mais rápidas.

Seleção de índices A escolha de um bom conjunto de índices é uma tarefa difícil. Para uma boa decisão, faz-se necessário o conhecimento das técnicas de indexação existentes e do funcionamento do otimizador de consultas.

Índices Pontos a serem considerados: Necessidade do índice: A menos que exista uma consulta que possa se beneficiar do índice, a sua construção é desnecessária. Escolha da chave de busca: Os candidatos naturais a chave de busca s˜ão os atributos que aparecem nas cláusulas WHERE, ORDER BY e GROUP BY. Quanto ao tipo de índice a ser utilizado, se a cláusula apresentar uma condição de igualdade a melhor escolha é um índice do tipo hash. Por outro lado, se ocorrerem intervalos de valores a melhor alternativa é um índice do tipo árvore B+.

Índices Pontos a serem considerados: Utilização de múltiplos atributos na chave de busca: Esta opção deve ser considerada quando: (1) Uma cláusula WHERE inclui condições em mais de um atributo de uma relação (2) Pode-se chegar numa estratégia apenas de índice (o acesso à relação é evitado) para consultas importantes. Deve-se atentar para a ordem dos atributos na chave de busca, que deve ser a mesma ordem em que os atributos aparecem na cláusula WHERE.

Índices Pontos a serem considerados: Necessidade do agrupamento: A opção de agrupamento é muito importante, pois implica significamente no desempenho do acesso a relação considerada. Além disso, apenas um índice por relação pode ser agrupado, o que aumenta ainda mais a importˆância de tal decis˜ão. Como regra geral, consultas de intervalos tendem a se beneficiar mais do agrupamento. Tendo que decidir sobre várias consultas, cada uma envolvendo diferentes conjuntos de atributos, deve-se considerar a seletividade e a frequˆencia de cada uma delas.

Índices Índice hash versus árvore: Pontos a serem considerados: Índice hash versus árvore: Índices do tipo árvore B+ devem ser considerados em consultas que envolvem intervalos índices do tipo hash nos casos de igualdade. Quando se tem junções por laços aninhados, a opção de hash é a mais adequada para a relação mais interna pois o ganho obtido é significativo (neste caso a chave de busca deve incluir as colunas de junção).

Índices Índice hash versus árvore: Pontos a serem considerados: Índice hash versus árvore: Índices do tipo árvore B+ devem ser considerados em consultas que envolvem intervalos índices do tipo hash nos casos de igualdade. Quando se tem junções por laços aninhados, a opção de hash é a mais adequada para a relação mais interna pois o ganho obtido é significativo (neste caso a chave de busca deve incluir as colunas de junção). Ponderação do custo de manutenção do índice: Para cada índice criado é necessário um estudo sobre o impacto que o mesmo irá causar no sistema, principalmente com relação a sobrecarga de sua manutenção nas atualizações.