sexta-feira, 28 de dezembro de 2007

Versão 8.3 será bem mais rápida: primeiro benchmark...

A versão 8.3 do PostgreSQL apresenta uma série de alterações para aumento desempenho. Espera-se que o banco seja claramente mais rápido que as suas versões anteriores. O blog do Stefan Kaltenbrunner fez um benchmark da versão 8.2 com e sem tuning de performance com a 8.3 versão beta 4 com e sem tuning. Os resultados são animadores.

Confira os resultados e não deixe de testar a nova versão você mesmo para questionar ou postar os seus comentários:

http://www.kaltenbrunner.cc/blog/index.php?/authors/1-Stefan-Kaltenbrunner


A figura abaixo deixa uma ótima expectativa quanto aos ganhos de velocidade na próxima versão.

quarta-feira, 26 de dezembro de 2007

Os Comandos EXECUTE e DEALLOCATE

Os Comandos EXECUTE e DEALLOCATE são utilizados respectivamente para executar e desalocar da memória prepared queries.

Sintaxe - EXECUTE:

EXECUTE name [ (parameter [, ...] ) ]

Exemplos - EXECUTE:

1 - EXECUTE sem parâmetros.

EXECUTE consulta_atores;

2 - EXECUTE com um parâmetro.

EXECUTE consulta_cinema (1);

3 - EXECUTE com mais de um parâmetro.

EXECUTE consulta_cinema_intervalo (2,3);

Sintaxe - DEALLOCATE:

DEALLOCATE [ PREPARE ] nameExemplos - DEALLOCATE:

Exemplos - DEALLOCATE:

1 - Deallocate com a cláusula PREPARE opcional.

DEALLOCATE PREPARE consulta_atores;

2 - Deallocate com a sintaxe padrão.

DEALLOCATE consulta_cinema_intervalo ;

O Comando Prepare

Este comando é utilizado para a criação de Prepared Queries no PostgreSQL.

A execução da consulta é feita com o comando EXECUTE e a liberação da memória ocupada pela Prepared Query é feita com o comando DEALLOCATE.

Caso não se utilize DEALLOCATE, a consulta será perdida após o término da sessão.

Sintaxe:

PREPARE name [ (datatype [, ...] ) ] AS statement

Onde:

datatype - tipo de parâmetro recebido pela consulta preparada. Pode haver zero, 1 ou N parâmetros fornecidos através do comando EXECUTE.

Exemplos:

1 - Comando Prepare simples

PREPARE consulta_atores AS
SELECT * FROM cinema, cinema_atores WHERE cinema.id = cinema_atores.id_filme;

2 - Comando Prepare com um parâmetro

PREPARE consulta_cinema (integer) AS
SELECT * FROM cinema WHERE cinema.id = $1;


3 - Comando Prepare com mais de um parâmetro

PREPARE consulta_cinema_intervalo (integer, integer)AS
SELECT * FROM cinema WHERE cinema.id >= $1 AND cinema.id <= $2 ;

Prepared Queries com PostgreSQL

Prepared Queries são consultas preparadas, um recurso que pode ser empregado para aumentar o desempenho das aplicações com PostgreSQL. Uma consulta preparada é processada, gerando um plano de execução que pode ser executado várias vezes em uma sessão, com ganho de performance.

Não é possível compartilhar prepared queries entre várias sessões do PostgreSQL, no entanto cada sessão pode definir suas Prepared Queries.

Principais comandos relacionados:
- Prepare
- Execute
- Deallocate

Quarta turma do "Meu Curso de PostgreSQL"

Terminou semana passada a quarta turma do "Meu Curso de PostgreSQL", aqui no trabalho. Eu sou o instrutor e trabalho com material próprio. Espero que venham novas turmas!


- 1a turma: 24h - Brasília - Agosto de 2007
- 2a turma: 40h - Fortaleza - Novembro de 2007
- 3a turma: 40h - Salvador - Dezembro de 2007
- 4a turma: 40h - Recife - Dezembro de 2007

FISL 2008 - Submissão de Palestras Prolongada!

Novas submissões de palestras podem ser feitas até 11/01/2008! São aceitas palestras sobre software livre em geral, incluindo o PostgreSQL.

Site de submissão de trabalhos.

quarta-feira, 12 de dezembro de 2007

Submeta sua palestra: 9º Fórum Internacional Software Livre - FISL

Já estão abertas as inscrições para o 9º Fórum Internacional Software Livre - FISL. São aceitas palestras em várias áreas, incluindo sobre o banco de dados PostgreSQL.

O evento se realizará nos dias 17, 18 e 19 de abril de 2008, no Centro de Eventos PUCRS, na cidade de Porto Alegre, Rio Grande do Sul. A submissão de propostas de palestras devem ser feitas até o dia 15/12/2007.

Não é necessário ter a palestra pronta para que a mesma possa ser inscrita. Basta um tema e algumas informações básicas.


Site de submissão de palestras.

segunda-feira, 10 de dezembro de 2007

Terceira Turma do "Meu Curso de PostgreSQL"!

Terminou semana passada a terceira turma do "Meu Curso de PostgreSQL", aqui no trabalho. Eu sou o instrutor e trabalho com material próprio. Espero que venham novas turmas!


- 1a turma: 24h - Brasília - Agosto de 2007
- 2a turma: 40h - Fortaleza - Novembro de 2007
- 3a turma: 40h - Salvador - Dezembro de 2007

Continue Testando! PostgreSQL 8.3 - Versão beta 4 disponível!

A versão beta 4 foi lançada sem alterações nas funcionalidades, mas com correções importantes. Os testadores estão se esmerando para produzir uma versão estável e com o mínimo de falhas.

Os links para quem quiser colaborar nos testes estão no post abaixo.

quinta-feira, 29 de novembro de 2007

PostgreSQL BETA 3 Disponível para Testes

A versão beta do PostgreSQL Beta 3 foi lançada e está disponível no site postgresql.org. As funcionalidades estão definidas desde primeiro de abril, e as implementações e testes tem sido feitos desde então.

Existe grande expectativa para o lançamento da versão 8.3 pelo acréscimo de novas funcionalidades e recursos para melhor desempenho de aplicações críticas.

segunda-feira, 26 de novembro de 2007

PostgreSQL 8.3: Você Sabe o que são UUIDs?

Enquanto a versão 8.3 continua em testes, as novas funcionalidades ainda são desconhecidas para muitos dos usuários. Uma das inovações prevista é o uso de UUIDs.

O termo UUID (Universally Unique Identifier) nomeia identificadores que podem ser empregados por exemplo como substituição à chave primária das tabelas, servindo como alternativa aos campos tipo SERIAL do PostgreSQL e ao uso de OIDs.

Os OIDs (identificadores de objetos) do PostgreSQL não são recomendáveis para tabelas com muitos registros, mas o novo UUID promete suprir esta lacuna.

Também são chamados de GUIDs (Globally Unique Identifier), termo que também pode designar a implementação da Microsoft dos UUIDs em seus produtos.

A UUID é essencialmente um número de 16 bytes. Com 128 bits, a quantidade de registros que pode ser endereçada é enorme, viabilizando a sua utilização como identificador em grandas bancos de dados. O número de variações possíveis de UUIDs é de 216*8 = 2128 = 25616 ou cerca de 3.4 × 1038. Para dar uma idéia do tamanho deste número, basta afirmar que para se cobrir todas as possibilidades e exaurir um campo tipo UUID, teria de ser gerado 1 trilhão de UUIDs a cada nanosegundo por 10 bilhões de anos (o cálculo não é meu)!

Exemplo de UUID em Hehadecimal: 5f23d248-a353-4044-9e5a-04518ac20b94

Boas referências de código podem ser obtidas na Wikipedia. Outro site interessante é o GUID generator


quinta-feira, 22 de novembro de 2007

PostgreSQL em Evento do SERPRO



Esta semana ocoreu o I Forum de Software Livre do SERPRO (Serviço Federal de Processamento de Dados), organizado pelo comitê de Software Livre da Regional Curitiba.

O PostgreSQL foi a principal tecnologia de banco de dados abordada no evento, que foi aberto à comunidade e contou com a presença de estudantes universitários e funcionários públicos de diversas instituições como SANEPAR e CELEPAR. O evento contou com palestrantes de peso, como Bruno Sousa, vulgo "Javaman", e Richard Stallman, pioneiro mundialmente conhecido da área de Software Livre.

Com relação ao PostgreSQL, foi apresentada por mim a palestra "Portabilidade com PostgreSQL", além de dois mini cursos sobre as funcionalidades deste banco de dados.

O impulso do Software Livre, e particularmente da utilização do PostgreSQL se intensificou no SERPRO após a ascenção de Marcos Mazoni ao cargo de Diretor-Presidente da empresa, o que gera indícios da adoção em massa desta tecnologia nos projetos da instituição.