380 likes | 530 Vues
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
E N D
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 • 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 Free Block Free Block Free Block Free Block Somente índices único Idxdel Block Idxdel Block Idxdel Block Mixed Object 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 Area Object Block Free Block Free Block Free Block Free Block Free Cluster List (for Area) Objeto de Controle de Área 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 Somente índices únicos Idxdel Block Total blocks, Cluster HWM Free Block Free Block Free Block Free Block Por que eu deveria me preocupar Rec Free Block Rec Free Block Rec Free Block Table 1 Object Block Rec Free Block Total blocks, Cluster HWM Rec Free Block Rec Free Block Rec Free Block Table 2 Object 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 • 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 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 Area Data (Free & in use) Objeto Area Control 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 Level 3 (folha) Root Level 1 Level 2 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; 3rd Cluster 2nd Cluster 1st Cluster 4th Cluster - Cursor mantém info do último registro acessado - I/O Sequência através do cluster DB-03: The OpenEdge™ RDBMS Storage Architecture
Rápida deleção de Objeto Area Data (Free & in use) Objeto Area Control Cluster Free List Object #1 Object #2 Object #3 DB-03: The OpenEdge™ RDBMS Storage Architecture
Rápida deleção de Objetos Area Data (Free & in use) Objeto Area Control Cluster Free List Object #2 Object #3 DB-03: The OpenEdge™ RDBMS Storage Architecture
Rápida deleção de Objeto Area Data (Free & in use) Objeto Area Control 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 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
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 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
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