Upload
internet
View
130
Download
2
Embed Size (px)
Citation preview
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