Um Tour pela Arquitetura do OpenEdge™ RDBMS
Regis EzipatoSenior ConsultantField Services, South America
2 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
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
3 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Agenda
Layout Físico
Vantagens
Exemplo de uso
Sumário
4 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Á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”
5 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Área Tipo II ObjetosObjetos são feitos de um ou mais blocos de clusters
(Objetos: tabelas, índices, lobs, controle de área)
6 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Área Tipo II ObjetosClusters encadeados para rápido acesso
(Objetos: tabelas, índices, LOBS, controle de área)
Permite Table Scan sem índicePermite rápida deleção de tabelas
7 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
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
8 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Blocos de Objetos (Area Tipo I):Cadeia de alocação de Espaço
MixedObjectBlock
MixedRec
Block
MixedRec
Block
MixedRec
Block
MixedRec
Block
FreeBlock
FreeBlock
FreeBlock
FreeBlock
Record Free Chain
IdxdelBlock
IdxdelBlock
IdxdelBlock
Somente índices
único
Total blocks, HWM
9 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Blocos de Objeto (Area Tipo II):Cadeia de alocação de Espaço Livre
AreaObjectBlock
FreeBlock
FreeBlock
FreeBlock
FreeBlock
Objeto de Controle de Área
Total blocks, Cluster HWM
Free Cluster List (for Area)
10 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Bloco de Objeto (Área Type II):Cadeia de alocação de espaço
IndexObjectBlock
RecFreeBlock
RecFreeBlock
RecFreeBlock
RecFreeBlock
FreeBlock
FreeBlock
FreeBlock
FreeBlock
IdxdelBlock
IdxdelBlock
IdxdelBlock
Somente índices
únicos
Table 2ObjectBlock
RecFreeBlock
RecFreeBlock
RecFreeBlock
RecFreeBlock
Table 1ObjectBlock
Total blocks,
Cluster HWM
Total blocks,
Cluster HWM
Total blocks,
Cluster HWM
11 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
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
12 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
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)
13 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
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
14 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
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
15 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Layout Total Tipo II
Objeto
Area
Control
Object #1
Object #2
Cluster Free List
Object #3
Area Data (Free & in use)
16 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Agenda
Layout Físico
Vantagens
Um exemplo de uso
Sumário
17 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
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
18 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
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
19 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
RootLevel 1
Level 2
Level 3(folha)
- Folha de entrada contém ponteiro de registros
Registros
- Cursor mantém info ou última chave acessada
Table scan via B-tree
20 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Select * from Customer;
- Cursor mantém info do último registro acessado
- I/O Sequência através do cluster
2nd Cluster
1st Cluster
3rd Cluster
4th Cluster
21 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Rápida deleção de Objeto
Objeto
Area
Control
Object #1
Object #2
Cluster Free List
Object #3
Area Data (Free & in use)
22 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Rápida deleção de Objetos
Objeto
Area
Control
Object #2
Cluster Free List
Object #3
Area Data (Free & in use)
23 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Rápida deleção de Objeto
Objeto
Area
Control
Object #2
Cluster Free List
Object #3
Area Data (Free & in use)
24 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
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
25 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Agenda
Layout Físico
Vantagens
Um exemplo de uso
Sumário
26 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
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
27 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
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
28 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
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;88 /db/exampleDB_7.d1 f 512000
d “Customer Indexes":7,1;88 /db/exampleDB_7.d2
#
d “Customer Data":8,128;6464 /db/exampleDB_8.d1 f 1024000
d “Customer Data":8,128;6464 /db/exampleDB_8.d2
29 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
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,11;8 /db/exampleDB_7.d1 f 512000
d “Customer Indexes":7,11;8 /db/exampleDB_7.d2
#
d “Customer Data":8,128128;64 /db/exampleDB_8.d1 f 1024000
d “Customer Data":8,128128;64 /db/exampleDB_8.d2
30 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Á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
31 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Tamanho do Cluster:Rápido crescimento de tabelas
d “Misc Indexes":13,1;6464 /db/exampleDB_13.d1 f 512000
d “Misc Indexes":13,1;6464 /db/exampleDB_13.d2
#
d “Fast Growing Tables":14,64;512512 /db/exampleDB_14.d1 f 1024000
d “Fast Growing Tables":14,64;512512 /db/exampleDB_14.d2 f 1024000
d “Fast Growing Tables":14,64;512512 /db/exampleDB_14.d3
#
a /ai/exampleDB.a1 f 51200
a /ai/exampleDB.a2 f 51200
a /ai/exampleDB.a3 f 51200
…
32 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Registros por bloco:Rápido crescimento de tabelas
d “Misc Indexes":13,11;64 /db/exampleDB_13.d1 f 512000
d “Misc Indexes":13,11;64 /db/exampleDB_13.d2
#
d “Fast Growing Tables":14,6464;512 /db/exampleDB_14.d1 f 1024000
d “Fast Growing Tables":14,6464;512 /db/exampleDB_14.d2 f 1024000
d “Fast Growing Tables":14,6464;512 /db/exampleDB_14.d3
#
a /ai/exampleDB.a1 f 51200
a /ai/exampleDB.a2 f 51200
a /ai/exampleDB.a3 f 51200
…
33 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
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
…
34 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Em Resumo
Layout mais eficiente Melhor Performance Caminho de migração Fundação para o futuro
35 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Perguntas?
36 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
Obrigado pelo seu tempo!
37 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
38 DB-03: The OpenEdge™ RDBMS Storage Architecture© 2005 Progress Software Corporation
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