Memnemonics fike’s Rotating Header Image

Esperando o PostgreSQL 8.4: tamanho de bloco

    Frenquentemente pergutam se é possível alterar o tamanho de bloco das  tabelas PostgreSQL, até a versão 8.3 (atualmente estável) isso é possível mas é necessário alterar o código-fonte para isso. A próxima versão (8.4) que será lançada, provavelmente em Março de 2009, será mais fazer essa alteração de tamanho de bloco. Ainda é na etapa de compilação do PostgreSQL mas agora é parâmetro do ./configure. Além de alterar o tamanho de bloco das tabelas, será possível alterar o tamanho dos arquivos do WAL, do tamanho total de cada tabela gerenciada pelo TOAST(depois eu escrevo uma nota sobre o TOAST), etc.

    Apesar de ainda de estas opções ainda estarem no estágio de compilação/instalação, essas novas funcionalidades permitem melhor ajuste do PostgreSQL para ambientes OLTP, Web ou Datawarehouse (vulgo BI).

   No 8.4 você poderá alterar:
 

- Tamanho de bloco das tabelas: –with-blocksize -> Valores possíveis (1, 2, 4, 8, 16, 32, 64)

- Tamanho máximo das tabelas gerenciadas pelo TOAST: –with-segsize -> Valores em GigaByte (Até o limite do Sistema Operacional/Sistema de Arquivo)

- Tamanho dos blocos do WAL: –with-wal-blocksize -> Valores possíveis ( 1, 2, 4, 8, 16, 32, 64)

- Tamanho dos arquivos do WAL–with-wal-segsize-> Valores possíveis (1, 2, 4, 8, 16, 32, 64)
 

   Esses novos parâmetros ajudam a melhorar a perforamance do PostgreSQL ajustando so blocos conforme o tipo de uso do banco de dados, seja OLTP, BI ou WEB. De modo geral só mexe-se nesses parâmetros se tem bom conhecimento de banco de dados e Sistema Operacionais, mudar usando receitas de bolos pode ter alguns resultados desastrosos e culparem o banco de dados. ;)

  Observação importante é que se precisar alterar os tamanhos dos blocos do WAL ou dos arquivos do WAL não precisará criar novamente um cluster, somente recompilar e instalar novamente. :)

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google

2 Comments on “Esperando o PostgreSQL 8.4: tamanho de bloco”

  1. #1 Fábio Telles
    on Sep 15th, 2008 at 07:09

    Hum… notícias realmente interessantes. Um detalhe que vale resaltar. Embora seja possível alterar o WAL sem recriar o cluster… provavelmente seus arquivos do WAL arquivados serão inúteis após esta alteração. Então uma tonelada de logs do WAL guardados em fita podem se tornar inúteis.

    Mas realmente é uma boa notícia. O mais interessante é que está começando a sair testes comparativos mais sérios sobre a eficiência (ou não) deste tipo de ajuste. Se a eficiência for comprovada, pode ser que mais para frente tenhamos tablespaces com diferentes tamanhos de bloco como no Oracle…

  2. #2 Fernando Ike
    on Sep 15th, 2008 at 22:46

    Valeu pelo comentário. Vamos ver se consigo testar esses parâmetros e depois mandar para pgdg. :)

Leave a Comment

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word