Um Tour pela
Arquitetura do
OpenEdge™ RDBMS
Regis Ezipato
Senior Consultant
Field Services, South America
O que é novo:
Storage Areas Tipo II

Clusterização de Blocos
– Diminui a fragmentação de objetos
– Melhora a eficiência de I/O

Alocação de espaço concorrente
– Alocação de espaço na Area
– Alocação de espaço para os Objetos

Implementação de manipulação de objetos
– Table scan sem índices
– Rápida deleção de Objetos
2 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Agenda

Layout Físico

Vantagens

Exemplo de uso

Sumário
3 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Área Tipo II Clusterização de blocos
Clusterização de blocos:
 8, 64, ou 512 blocos adjacentes
 Configurado no arquivo .st
 Aplicado via prostrct
 Tamanho fixado por area
 Unidade de espaço alocado para objetos
 Blocos em clusters são “não-sociais”
4 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Área Tipo II Objetos
Objetos são feitos de um ou mais blocos de clusters
(Objetos: tabelas, índices, lobs, controle de área)
5 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Área Tipo II Objetos
Clusters encadeados para rápido acesso
Permite Table Scan sem índice
Permite rápida deleção de tabelas
(Objetos: tabelas, índices, LOBS, controle de área)
6 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
O que é diferente com Tipo II

Area HWM incrementa um cluster por vez
– Mais eficiência na formatação de blocos
– Alocação de Espaço concorrente

Partições de Banco de Dados
– MAX(64, tamanho dos clusters)

Outros
– Reduz fragmentação e scatter
– Permite projeto de ferramentas mais avançadas
7 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Blocos de Objetos (Area Tipo I):
Cadeia de alocação de Espaço
Somente índices
Mixed
Object
Block
Record
Free Chain
Idxdel
Block
Idxdel
Block
Idxdel
Block
Free
Block
Free
Block
Free
Block
Free
Block
Mixed
Rec
Block
Mixed
Rec
Block
Mixed
Rec
Block
Mixed
Rec
Block
único
Total blocks, HWM
8 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Blocos de Objeto (Area Tipo II):
Cadeia de alocação de Espaço Livre
Objeto de Controle de Área
Area
Object
Block
Free
Block
Free
Block
Free
Block
Free
Block
Free Cluster List (for Area)
Total blocks, Cluster HWM
9 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Bloco de Objeto (Área Type II):
Cadeia de alocação de espaço
Index
Object
Block
Table 1
Object
Block
Table 2
Object
Block
Total blocks,
Somente índices
Idxdel
Block
Idxdel
Block
Idxdel
Block
Free
Block
Free
Block
Free
Block
Free
Block
Rec
Free
Block
Rec
Free
Block
Rec
Free
Block
Rec
Free
Block
Rec
Free
Block
Rec
Free
Block
Rec
Free
Block
Rec
Free
Block
únicos
Cluster HWM
Total blocks,
Cluster HWM
Total blocks,
Cluster HWM
10 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Isto é material importante

Índices
– Manutenção da cadeia de deleção de índices
– Blocos de índices são clusterizados juntos
together

Áreas Misturadas
– Vasto implemento de áreas de múltiplas tabelas ou
múltiplos índices
– Não terá blocos de índices e dados misturados

Reduz fragmentação e scatter
– Poucos Dump e Loads!

Maior eficiência de I/O
11 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Alocação de espaço de Registros

Fator de empacotamento de registros
– Registros armazenados com tamanhos variáveis
– Alocação de espaço a partir da cadeia de registros
de blocos livres
– RPF regula o conteúdo da cadeia de registros de
blocos livres

Definições
– Registros por Bloco: (Blocksize / mean rec size)
– Create Limit: rec block free space requerido para a
–
expansão de registros. Também o mínimo tamanho de
fragmentação de registros. (75/150)
Toss Limit: free space requerido para um bloco de
registro para manter um registro na cadeia de blocos livres
(150/300)
12 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Alterando RPF

Registros por Bloco
– Alterado via arquivo .st
– Granularidade


Valor por área
Limites de Create/Toss
– _proutil <db> C setTableTossLimit <table> value
– Granularidade


Valores por área em Storage Area Tipo I
Valores por objeto em Storage Area Tipo II
13 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
RPF Sugestões

Altere o Create Limit se:
– Fragmentação ocorrer devido a alteração de
registros em registros recentemente criados
– Você espera ver 1 fragmento, mas vê 2

Altere Toss Limit se fragmentação ocorrer devido
a alteração de registros de registros existentes
– Você espera 1 ou 2 fragmentos, mas tem 3 ou 4

Coordenado com RPB
– (Blocksize / mean rec size)

Não altere se você não tiver razão para isso
14 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Layout Total Tipo II
Area Data (Free & in use)
Objeto
Area
Cluster Free List
Control
Object #1
Object #2
Object #3
15 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Agenda

Layout Físico

Vantagens

Um exemplo de uso

Sumário
16 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Outras vantagens de
Storage Areas Tipo II

Block level Check sum
– Identifica e prioriza blocos corrompidos para
alteração de dados
– Permitido para altos volumes de I/O no futuro

Storage
– Rowids armazenados como 64 bits
– Cabeçalho de bloco com tamanho variável

Informação de Objeto armazenado no cabeçalho de
bloco
– Permitido para melhorar a manutenção
– Melhora a operação de reparação de banco de dados
17 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Vantagens no gerenciamento de
Storage


Melhorias através da organização
Formatação eficiente de blocos
– Cluster é o tempo
– Pouca escrita de notas de bi/ai

Gargalos resolvidos
– Alocação de espaço concorrente
– Lock otimista de buffer e índices

Caminho da migração
– Você pode usar ambas Tipo I & Tipo II no mesmo
banco de dados
18 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Table scan via B-tree
Root
Level 1
Level 2
Level 3
(folha)
Registros
- Folha de entrada contém ponteiro de registros
- Cursor mantém info ou última chave acessada
19 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Select * from Customer;
- Cursor mantém info do último registro acessado
- I/O Sequência através do cluster
3rd Cluster
2nd Cluster
1st Cluster
4th Cluster
20 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Rápida deleção de Objeto
Area Data (Free & in use)
Objeto
Area
Cluster Free List
Control
Object #1
Object #2
Object #3
21 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Rápida deleção de Objetos
Area Data (Free & in use)
Objeto
Area
Cluster Free List
Control
Object #2
Object #3
22 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Rápida deleção de Objeto
Area Data (Free & in use)
Objeto
Area
Cluster Free List
Control
Object #2
Object #3
23 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
OpenEdge 10 Temp tables




Iniciado na 10.0b
– Rápida Deleção
– Rápida Deleção/Criação quando vazia
Lançado na 10.0b02
– Permite delete/create
– Permite I/O quando formatando
Híbrido Storage Areas Tipo I & II
– Objetos Índices Tipo I
– Outros Objetos Tipo II
– 8 Blocos por Clusters
Sugestões
– “empty temp-table <name>”
– -tmpbsize 1, -tmpbsize 8
– Melhor performance com incremento de –Bt
24 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Agenda

Layout Físico

Vantagens

Um exemplo de uso

Sumário
25 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Melhores práticas de uso

Físico
– Inclui divisão (RAID ou faça você mesmo)
– Alocação de extents

Schema
– Separe Dados e índices das tabelas
– Áreas de multiplas tabelas para pequenos, médios
e grandes registros
– Registros por bloco setado para cada área

Crescimento
– Permite ter um extent com tamanho variável
– Habilite large files
26 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Locação, Locação, Locação
b /bi/exampleDB.b1 f 1024000
b /bi/exampleDB.b2 f 1024000
b /bi/exampleDB.b3
#
d "Schema Area":6,64 /db/exampleDB.d1
#
d “Customer Indexes":7,1;8 /db/exampleDB_7.d1 f 512000
d “Customer Indexes":7,1;8 /db/exampleDB_7.d2
#
d “Customer Data":8,128;64 /db/exampleDB_8.d1 f 1024000
d “Customer Data":8,128;64 /db/exampleDB_8.d2
27 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Tamanho de Cluster
b /bi/exampleDB.b1 f 1024000
b /bi/exampleDB.b2 f 1024000
b /bi/exampleDB.b3
#
d "Schema Area":6,64 /db/exampleDB.d1
#
d “Customer Indexes":7,1;8 /db/exampleDB_7.d1 f 512000
d “Customer Indexes":7,1;8 /db/exampleDB_7.d2
#
d “Customer Data":8,128;64 /db/exampleDB_8.d1 f 1024000
d “Customer Data":8,128;64 /db/exampleDB_8.d2
28 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Registros por Bloco
b /bi/exampleDB.b1 f 1024000
b /bi/exampleDB.b2 f 1024000
b /bi/exampleDB.b3
#
d "Schema Area":6,64 /db/exampleDB.d1
#
d “Customer Indexes":7,1;8 /db/exampleDB_7.d1 f 512000
d “Customer Indexes":7,1;8 /db/exampleDB_7.d2
#
d “Customer Data":8,128;64 /db/exampleDB_8.d1 f 1024000
d “Customer Data":8,128;64 /db/exampleDB_8.d2
29 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Áreas de Multi Objetos
d “Large Record Indexes":9,1;8 /db/exampleDB_9.d1 f 512000
d "Large Record Indexes":9,1;8 /db/exampleDB_9.d2
#
d “Large Record Tables":10,16;64 /db/exampleDB_10.d1 f 1024000
d “Large Record Tables":10,16;64 /db/exampleDB_10.d2
#
d “Small Record Indexes":11,1;8 /db/exampleDB_11.d1 f 512000
d “Small Record Indexes":11,1;8 /db/exampleDB_11.d2
#
d “Small Record Tables":12,256;64 /db/exampleDB_12.d1 f 1024000
d “Small Record Tables":12,256;64 /db/exampleDB_12.d2
30 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Tamanho do Cluster:
Rápido crescimento de tabelas
d “Misc Indexes":13,1;64 /db/exampleDB_13.d1 f 512000
d “Misc Indexes":13,1;64 /db/exampleDB_13.d2
#
d “Fast Growing Tables":14,64;512 /db/exampleDB_14.d1 f 1024000
d “Fast Growing Tables":14,64;512 /db/exampleDB_14.d2 f 1024000
d “Fast Growing Tables":14,64;512 /db/exampleDB_14.d3
#
a /ai/exampleDB.a1 f 51200
a /ai/exampleDB.a2 f 51200
a /ai/exampleDB.a3 f 51200
…
31 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Registros por bloco:
Rápido crescimento de tabelas
d “Misc Indexes":13,1;64 /db/exampleDB_13.d1 f 512000
d “Misc Indexes":13,1;64 /db/exampleDB_13.d2
#
d “Fast Growing Tables":14,64;512 /db/exampleDB_14.d1 f 1024000
d “Fast Growing Tables":14,64;512 /db/exampleDB_14.d2 f 1024000
d “Fast Growing Tables":14,64;512 /db/exampleDB_14.d3
#
a /ai/exampleDB.a1 f 51200
a /ai/exampleDB.a2 f 51200
a /ai/exampleDB.a3 f 51200
…
32 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Locação dos Arquivos AI
d “Misc Indexes":13,1;64 /db/exampleDB_13.d1 f 512000
d “Misc Indexes":13,1;64 /db/exampleDB_13.d2
#
d “Fast Growing Tables":14,64;512 /db/exampleDB_14.d1 f 1024000
d “Fast Growing Tables":14,64;512 /db/exampleDB_14.d2 f 1024000
d “Fast Growing Tables":14,64;512 /db/exampleDB_14.d3
#
a /ai/exampleDB.a1 f 51200
a /ai/exampleDB.a2 f 51200
a /ai/exampleDB.a3 f 51200
…
33 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Em Resumo




Layout mais eficiente
Melhor Performance
Caminho de migração
Fundação para o futuro
34 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Perguntas?
35 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Obrigado pelo
seu tempo!
36 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
37 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
OpenEdge 10 RDBMS Advanced Storage Architecture
The following Progress courses cover related subject matter.
Please visit: www.progress.com/education for course
descriptions and relevant curriculum maps.

Database Administration
38 © 2005 Progress Software Corporation
DB-03: The OpenEdge™ RDBMS Storage Architecture
Download

DB-03: A Tour of the OpenEdge™ RDBMS Storage Architecture