Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves...
Transcript of Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves...
Evolução dos Métodos de Otimização de Performance em Banco de Dados
Oracle
Sandro Gonçalves Murara
Agenda
• Histórico sobre o Oracle Database Server
• Performance
• Arquitetura Oracle
• Otimizador Oracle
• Evolução
• Tendências Futuras
• Perguntas
ORACLE - Histórico
Versão Ano Características
Oracle 1 1978 Não foi lançado oficialmente
Escrito em Assembly
Oracle 2 1979 1º SGBDR Comercial
Oracle 3 1983 Portabilidade
Escrito em C
Oracle 4 1984 Leitura Consistente
Oracle 5 1985 Cliente/Servidor
Oracle 6 1988 Row-level locking
Hot backup
PL/SQL
ORACLE - Histórico
Versão Ano Características
Oracle 7 1992 Performance
Utilities e Development Tools
Segurança
Triggers
Stored Procedures e Functions
Integridade Referencial
Cost Based Optmizer (CBO)
Oracle 8 1997 All-your-data Database
Particionamento
Oracle 8i 1999 Internet Database
Java e XML
ORACLE - Histórico
Versão Ano Características
Oracle 9i 2001 Real Application Cluster
“Unbreakable”
Oracle 10g 2003 Grid Computing
Workload Repository
Oracle 11g 2007 Real Application Testing
Performance
Performance = Desempenho
Tempo de resposta de acordo com a expectativa do usuário.
Infra-estrutura de TI
Otimização de Performance
• Banco de Dados– Ajustes de Configuração (tunning)
• Aplicação– Modelagem de Sistemas– SQL– Programação
Arquitetura Oracle
SQL - Fases de Processamento
SELECT * FROM EMPWHERE EMPNO = :1 PARSE
EXECUTEFETCHPLANO
EXECUÇÂOSQL
EMPNO ENAME SALARY DEPTNO----- -------------------------- ------- ------ 110 JOHN LEE 1.500 10 111 ALBERT COLLINS 1.000 10 120 ROBERT SMITH 3.000 20 ...
A Evolução
ProcessoUsuário
SGA
Shared Pool
ProcessoServidorDedicado
Arquivos do BD
DB Buffer• Subdivisões da SGA - Diferentes Estruturas de Memória
• Processos Específicos• Processos Servidores Compartilhados
ProcessoUsuário
ProcessoUsuário
ProcessoUsuário
ProcessosUsuários
DatabaseWriter
ProcessoServidor
Compartilhado
• Cost Based Optimizer / Rule Based Optimizer
• Clustered Tables• Bitmap Indexes• Index Organized Tables• Particionamento
Modos do Otimizador
• RULE BASED OPTIMIZER (RBO)– Regras– Formatação do comando SQL– Método Default
• COST BASED OPTIMIZER (CBO)– Menor Custo de I/O + CPU– Estatíticas Tabelas e Índices– Comando ANALYZE
A evolução continua...
• ORACLE 8 e 8i– Evolução método CBO– Database Resource Manager– Novos tipos de índices
• ORACLE 9i– Gerenciamento Dinâmico da SGA– Monitores de utilização de memória (views)– Coleta de estatísticas mais seletiva e eficiente
(DBMS_STAT)– Novos Parâmetros de BD
• Memória• Otimizador
A evolução continua...
• ORACLE 10g– Diagnóstico e ajustes automáticos de performance– Coleta automática de estatísticas– Gerenciamento automático de memória SGA– Fim do método Rule Based Optimizer– Workload Repository – SQL Access Advisor e SQL Performance Analizer– SQL Profile
• ORACLE 11g– Evolução dos recursos existentes no 10g– Gerenciamento Total de Memória (SGA + PGA)
Resumo da Evolução
• Processos Oracle• Gerenciamento de Memória• Armazenamento e Indexação• Otimizador Geração de Planos de Execução
Otimizados• Informações de Carga e Processamento• Processos e métodos de tunning automatizados• Ajustes de SQL• Ferramentas de Otimização de Performance e
Monitoramento
Tendências Futuras
• Auto Tunning
• Workload
• Compactação de Dados
• Otimização de SQL e Aplicações
Perguntas?
SGM Tecnologia da Informação
http://www.sgmti.com.br
Fone: (48) 3028-2169
Sandro Murara