quarta-feira, 6 de fevereiro de 2008

PostgreSQL - Funcionalidades de Performance

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."
Nota: a implementação de commits assíncronos faz com que os mesmos sejam mais rápidos em geral. No caso de commits síncronos, operações mais lentas fazem com que as mais rápidas tenham que esperar, impactando a performance como um todo. A alteração implementada faz com que o PostgreSQL não tenha de esperar a conclusão de operações feitas para disco para prosseguir o commit, acelerando este tipo de operação tão freqüente.

- Spread Checkpoints
"Checkpoint autotuning: delays and spreads out checkpoints, reducing the impact of checkpoints on response times."
Nota: periodicamente o banco de dados necessita sincronizar o que está no banco com o que está armazenado em log. Este momento é chamado de checkpoint e toma tempo de processamento e acesso a disco. A alteração realizada no PostgreSQL faz com que este evento possa ser atrasado quando não há real necessidade de fazê-lo imediatamente. O ganho de desempenho se dá pela economia de tempo de processamento de checkpoints.

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."
Nota: A sentença "Just-in-time background writing strategy" significa uma melhor alocação de memória durante os processos de gravação feitos em background. É um processo crítico para o desempenho e passa a sofrer um Auto-tuning (auto ajuste) baseado na atividade mais recente do servidor. O resultado final é maior ganho em desempenho e facilidade de utilização.

Lançada a Versão 8.3!

Após várias versões beta, a versão 8.3 do PostgreSQL foi enfim lançada. Os destaques são as funcionalidades de desempenho e o acréscimo de novas funcionalidades. Pretendo comentar as principais alterações no banco de dados assim que tiver mais tempo, mas são muitas!!!

Este é o e-mail original de lançamento da versão.
Confira a lista de funcionalidades.
Veja também a matriz de funcionalidades.

Agora é instalar, testar, aprender e difundir!

Cuidado com as traduções em português das funcionalidades. Sites respeitáveis estão traduzindo erradamente o que algumas das funcionalidades do PostgreSQL realmente fazem, o que pode causar problemas de comunicação e expectativas frustradas. Neste momento, os materiais mais confiáveis estão no idioma bretão.

sexta-feira, 1 de fevereiro de 2008

PostgreSQL no Metrô de São Paulo

O PostgreSQL é uma das principais tecnologias de banco de dados do metrô de São Paulo, com a armazenando mais de 22 bancos de dados distintos em ambientes de produção, teste e contingência.

Mais detalhes podem ser obtido na apresentação de Maria Cecilia Serapião, Coordenadora de Metodologias e Arquitetura de Dados do Metrô de São Paulo, realizada na PgCon.

http://www.postgresql.org.br/Palestras_do_PGCon_Brasil_2007?action=AttachFile&do=get&target=Casos_de_Sucesso_Metro_SP.pdf

PostgreSQL na FAB - SISUB - Sistema Integrado de Administração do Serviço de Subsistência

O PostgreSQL foi implantado na FAB com grande repercussão.

O link abaixo é uma apresentação "O elefante com asas: implantação do PostgreSQL em 54 unidades da Força Aérea Brasileira", feita na PgCon. Os autores são o Ten. Robson Peixoto e Luís Dosso (DEXTRA).

O sistema que utilizou o PostgreSQL foi o SISUB - Sistema Integrado de Administração do Serviço de Subsistência. Vale a pena conferir os detalhes e dados técnicos na apresentação.

http://www.postgresql.org.br/Palestras_do_PGCon_Brasil_2007?action=AttachFile&do=get&target=PGCONF-2007-SDAB-Dextra.pdf