O que é Tuning em Banco de Dados?
Tuning diz respeito ao ajuste do SGBD para melhor utilização dos recursos deste, provendo um uso eficaz e eficiente do SGBD.
Tuning requer conhecimento de:
- Desenvolvimento de Aplicações;
- SGBD;
- Sistema operacional;
- Hardware .
O processo de tuning é algo que só deve ser realizado quando houver uma real necessidade, pois envolve uma grande quantidade de processos tanto do
SGBD como do sistema operacional. Tuning não é só configuração do SGBD, algumas vezes requer configuração no sistema operacional ou otimizar as
consultas realizadas nos bancos, e algumas configurações podem acarretar em problemas futuros ou até mesmo mau funcionamento do SGBD.
A técnica de tuning de desempenho é uma prática feita em todos os SGBDs importantes com técnicas diferentes. É uma necessidade de toda grande empresa, e requer um grande nível de conhecimento e experiência sobre os processos e suas técnicas, pois nem sempre o problema será resolvido com uma ou duas alterações.
E sabe-se que somente o investimento na capacidade física (hardware) dos servidores não é garantia de melhora na performance do banco de dados.
Qual é a importância do Tuning?
Tuning é um termo que desperta um grande interesse nos profissionais na área, devido aos seguintes fatos:
- Aumento do legado de sistemas corporativos (ERPs, GEDs etc.) e sistemas web;
- Aumento da quantidade de usuários de BDs;
- Aumento da quantidade de dados.
Tuning refere-se basicamente ao conceito de propor e aplicar mudanças visando otimizar o desempenho na recuperação ou atualização de dados. Em curtas palavras, Tuning é sinônimo de otimização. Atualmente existem muitas técnicas e dicas de tuning que podem ser aplicadas para otimizar os sistemas corporativos, compreendo-os desde o nível do sistema operacional, até o nível do seu código-fonte. Para fazer um bom trabalho de Tuning, é necessário executar criteriosamente os seguintes processos:
- Entender o problema;
- Elaborar o diagnóstico;
- Aplicar as dicas e técnicas de otimização (que se aplicam ao diagnóstico elaborado).
Cada banco de dados possui seu mecanismo interno de processamento e, embora possam ser parecidos, não necessariamente são idênticos e tão pouco executam tarefas idênticas da mesma forma. Conhecer as características do Sistema Gerenciador de Banco de Dados (SGBD) usado é crucial para administrar e desenvolver aplicações com desempenho e escalabilidade melhores, mais seguras, enfim, superiores.
Objetivo de tuning
- Minimizar o tempo de resposta e recuperação dos dados das aplicações.
- Em um Banco de Dados, os 3 tipos de atividades de tuning que podem ser realizadas, são:
1- Planejamento de performance: Definição e configuração do ambiente em que o BD será instalado, considerando-se os seguintes itens: Hardware, Software, Sistema Operacional e Infraestrutura de rede. 2- Tuning de instância e BD: Ajuste de parâmetros e configurações do BD (atividades que fazem parte do trabalho de um DBA). 3- SQL Tuning: Otimização de instruções SQL. Uma metodologia que pode ser utilizada é a seguinte: