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 DB-03: The OpenEdge™ RDBMS Storage Architecture
Agenda Layout Físico Vantagens Exemplo de uso Sumário DB-03: The OpenEdge™ RDBMS Storage Architecture
Área Tipo II 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” 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) 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) 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 DB-03: The OpenEdge™ RDBMS Storage Architecture
Blocos de Objetos (Area Tipo I): Cadeia de alocação de Espaço Somente índices único Idxdel Block Idxdel Block Idxdel Block Mixed Object Block Free Block Mixed Rec Block Mixed Rec Block Mixed Rec Block Mixed Rec Block Record Free Chain Total blocks, HWM 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 Free Cluster List (for Area) Total blocks, Cluster HWM DB-03: The OpenEdge™ RDBMS Storage Architecture
Bloco de Objeto (Área Type II): Cadeia de alocação de espaço Index Object Block Idxdel Block Idxdel Block Idxdel Block Somente índices únicos Total blocks, Cluster HWM Free Block Free Block Free Block Free Block Por que eu deveria me preocupar Table 1 Object Block Rec Free Block Rec Free Block Rec Free Block Rec Free Block Total blocks, Cluster HWM Table 2 Object Block Rec Free Block Rec Free Block Rec Free Block Rec Free Block Total blocks, Cluster HWM 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 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) DB-03: The OpenEdge™ RDBMS Storage Architecture
Alterando RPF Registros por Bloco Limites de Create/Toss Alterado via arquivo .st Granularidade Valor por área Limites de Create/Toss _proutil <db> C setTableTossLimit <table> value Valores por área em Storage Area Tipo I Valores por objeto em Storage Area Tipo II 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 DB-03: The OpenEdge™ RDBMS Storage Architecture
Layout Total Tipo II Objeto Area Control Area Data (Free & in use) Cluster Free List Object #1 Object #2 Object #3 DB-03: The OpenEdge™ RDBMS Storage Architecture
Agenda Layout Físico Vantagens Um exemplo de uso Sumário 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 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 DB-03: The OpenEdge™ RDBMS Storage Architecture
Table scan via B-tree - Folha de entrada contém ponteiro de registros 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 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 2nd Cluster 1st Cluster 3rd Cluster 4th Cluster DB-03: The OpenEdge™ RDBMS Storage Architecture
Rápida deleção de Objeto Area Control Area Data (Free & in use) Cluster Free List Object #1 Object #2 Object #3 DB-03: The OpenEdge™ RDBMS Storage Architecture
Rápida deleção de Objetos Area Control Area Data (Free & in use) Cluster Free List Object #2 Object #3 DB-03: The OpenEdge™ RDBMS Storage Architecture
Rápida deleção de Objeto Area Control Area Data (Free & in use) Cluster Free List Por que eu deveria me preocupar? Object #2 Object #3 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 DB-03: The OpenEdge™ RDBMS Storage Architecture
Agenda Layout Físico Vantagens Um exemplo de uso Sumário 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 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 DB-03: The OpenEdge™ RDBMS Storage Architecture
Tamanho de Cluster b /bi/exampleDB.b1 f 1024000 # 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 DB-03: The OpenEdge™ RDBMS Storage Architecture
Registros por Bloco b /bi/exampleDB.b1 f 1024000 # 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 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 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 … 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 … 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 … DB-03: The OpenEdge™ RDBMS Storage Architecture
Em Resumo Layout mais eficiente Melhor Performance Caminho de migração Fundação para o futuro DB-03: The OpenEdge™ RDBMS Storage Architecture
Perguntas? DB-03: The OpenEdge™ RDBMS Storage Architecture
Obrigado pelo seu tempo! DB-03: The OpenEdge™ RDBMS Storage Architecture
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 DB-03: The OpenEdge™ RDBMS Storage Architecture