evolução dos métodos de otimização de performance em banco de dados oracle sandro gonçalves...

17
Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara [email protected]

Upload: internet

Post on 18-Apr-2015

130 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara sandro@sgmti.com.br

Evolução dos Métodos de Otimização de Performance em Banco de Dados

Oracle

Sandro Gonçalves Murara

[email protected]

Page 2: Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara sandro@sgmti.com.br

Agenda

• Histórico sobre o Oracle Database Server

• Performance

• Arquitetura Oracle

• Otimizador Oracle

• Evolução

• Tendências Futuras

• Perguntas

Page 3: Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara sandro@sgmti.com.br

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

Page 4: Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara sandro@sgmti.com.br

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

Page 5: Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara sandro@sgmti.com.br

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

Page 6: Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara sandro@sgmti.com.br

Performance

Performance = Desempenho

Tempo de resposta de acordo com a expectativa do usuário.

Page 7: Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara sandro@sgmti.com.br

Infra-estrutura de TI

Page 8: Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara sandro@sgmti.com.br

Otimização de Performance

• Banco de Dados– Ajustes de Configuração (tunning)

• Aplicação– Modelagem de Sistemas– SQL– Programação

Page 9: Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara sandro@sgmti.com.br

Arquitetura Oracle

Page 10: Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara sandro@sgmti.com.br

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 ...

Page 11: Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara sandro@sgmti.com.br

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

Page 12: Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara sandro@sgmti.com.br

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

Page 13: Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara sandro@sgmti.com.br

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

Page 14: Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara sandro@sgmti.com.br

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)

Page 15: Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara sandro@sgmti.com.br

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

Page 16: Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara sandro@sgmti.com.br

Tendências Futuras

• Auto Tunning

• Workload

• Compactação de Dados

• Otimização de SQL e Aplicações

Page 17: Evolução dos Métodos de Otimização de Performance em Banco de Dados Oracle Sandro Gonçalves Murara sandro@sgmti.com.br

Perguntas?

SGM Tecnologia da Informação

http://www.sgmti.com.br

Fone: (48) 3028-2169

Sandro Murara

[email protected]