- Comentários sobre as funcionalidades voltadas para a melhoria de desempenho da versão 8.3 do PostgreSQL. Coloco o texto original em inglês e abaixo uma nota explicativa sobre a nova implementação:
- - HOT
- "Heap Only Tuple (HOT) dramatically reduces the database maintenance issues associated with frequently updated data, reducing the need to vacuum and giving substantial throughput improvements for some applications."
Nota: O HOT - Heap Only Tuple é uma alteração que reduz a necessidade do banco de dados fazer atualizações nos índices. No PostgreSQL, cada alteração nos dados gera uma nova versão do registro. Caso seja alterado um campo de um arquivo e este campo não seja parte do índice, o mesmo não precisa mais ser atualizado. A entrada original de índice aponta, ainda que indiretamente, para o dado alterado. Esta implementação de HOT traz um ganho substancial, especialmente em dados alterados com muita freqüência. O termo "Heap only" significa exatamente que os dados estão apenas no arquivo de dados, não nos índices.
- - Asynchronous Commit
- "Allows the ability for COMMIT to return control without waiting for a physical disk write. This gives better response time at the expense of potentially losing a set amount of transactions in the event of system failure."
- - Spread Checkpoints
- "Checkpoint autotuning: delays and spreads out checkpoints, reducing the impact of checkpoints on response times."
- Just-in-time background writing strategy
- "Auto-tuning for the Background Writer estimates how many buffers it should try to clean based on statistics about recent activity."
Dessas novas funcionalidades, as que apresentam uma ganho sensível de performance é Spread Checkpoints que no postgresql.conf é o parâmetro checkpoint_target e o HOT. Quem testar e comparar perceberá a diferença de performance.
ResponderExcluir