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

Post on 18-Apr-2015

130 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

sandro@sgmti.com.br

top related