O PostgreSQL provavelmente seja o banco de dados com maior quantidade de funções especificadas pelo padrão SQL:2003. Segundo a documentação oficial, das 164 funções principais, 150 estão implementadas no PostgreSQL.
postgresql-pt
PostgreSQL e SQL ANSI
Mais uma vez em São Paulo e ainda vivo
Sim,
Fui enclausurado por 15 dias trabalhando para concluir um projeto que valeu esse momento de cárcere. Os limites foram superados, os prazos sempre estourados mas ainda sim valeu cada segundo. Essas duas semanas de trabalho intenso as piores partes eram ficar sem café ou não ter pizza e coca-cola para trabalhar virando a noite. Felizmente uma alma caridosa no último dia percebendo nossa baixa produtividade comprou estimulantes para aumentarmos nossa produtividade.
A pizza até que era boa. Após a janta nossa produtividade foi aumentando, aumentando, aumentando até que conseguimos terminar o projeto por volta das 7 da manhã. =)
Por isso que meu pequeno desaparecimento de 15 dias no espaço-tempo, mas sim ainda estou vivo para dar trabalho para muitas pessaos. O desafio foi bom mas não dá para fazer isso todo mês. Em breve postarei em algum lugar alguns truques novos do PostgreSQL e tuning de Linux. =)
Voltei hoje para São Paulo e como gosto da cidade de concreto que muitos a odeiam, poucos a amam.
Edição 41 da SQL Magazine com artigo meu.
Sim!!!!
Hora do jaba. Na edição 41 da SQL Magazine tem três artigos relacionados ao PostgreSQL, do Carlos Smanioto sobre agendamento de tarefas no PostgreSQL, PgCluster com Rafael Donato e o meu artigo junto com Walter Cruz sobre o PostgreSQL 8.2.
Comprem, comprem a revista! Esgotem a edição!!!
FISL 8, eu fui
Como sempre, escrevo atrasado sobre as coisas…
Estive no FISL, reencontrei amigos, pessoas que nunca tinha vista (óbvio…), palestra muito bacanas como não poderia deixar de acontecer como nos anos anteriores, wirelles um caos, as filas enormes do crendeciamento. Ah sim, como é bom tomar Polar, não conhece? Polar é uma cerveja bairrista (perdoem o termo gaúchos) do sul muito saborosa. =)
Sim, como sempre eu termino os slides da minha palestra nos últimos minutos antes de acontecer mas desta vez não perdi nenhum documento, fiz grandes amigos, revi pessoas importantes para mim e quem sabe eu more um tempo por lá….
Putz, ia esquecendo, Theo de Raadt não é a lenda que contam, conversei uns 5 minutos (foi o tempo que meu inglês permitiu) com ele e foi até que atencioso em responder. Não pude assistir muitas palestras mas a impressão que tenho que apesar dos problemas de infra-estrutura o evento foi muito bom, com grandes estandes do Governo Federal e de algumas empresas, as comunidades de Software Livre (PostgreSQL e Debian) que tento participar mais ativamente estiveram bem representadas com estandes e palestras de boa qualidade.
É isso aí ppppppessoal, se tiver algo mais posto depois, espero estar no FISL 9.0, até lá. =)
3000 conexões simultâneas no PostgreSQL, como assim?
Não, não vou comentar sobre o filme 300, apesar de estar ansioso para assitir.
Essa semana tive que configurar um servidor com PostgreSQL 8.2 para 3000 conexões e algo deste tipo é necessário mexer na memória compartilhada (inglês é shared memory)do kernel linux e também na quantidade de semáforos que podem ser abertos. Cada conexão tem um custo de 400 bytes da memória compartilhada, no caso das 3 mil conexões o cálculo é "3000 X 400 = ~ 1Mbyte ". Ao calcular o uso total de memória compartilhada no kernel você precisa somar o consumo dos processos do PostgreSQL que é configurado pelo parâmetro shared_buffers do arquivo postgresql.conf. Sobre memória compartilhada vale pena o texto do Dicas-L sobre semáforos e kernel.
Geralmente alterar a memória compartilhada é senso comum para um DBA PostgreSQL mas alterar os semáforos não. Um outro post eu comento sobre isso.
Supondo que esteja configurado para 128Mbytes o shared_buffers, deve se acrescentar mais 1Mbyte para as 3 mil conexões. Para o kernel linux aceitar essas configurações do PostgreSQL é necessário mexer no diretório /proc para alterar a memória compartilhada e a quantidade de semáforos. No meu caso tive que alterar e usei a linha abaixo.
#echo "250 32000 100 256" > /proc/sys/kernel/sem
Na documentação do PostgreSQL tem uma parte específica sobre tuning em kernel.
Skype contribuindo com o PostgreSQL
As notícias estão saindo bem mais rápido do que estou podendo acompanhar mas algumas vale ressaltar porquê ainda não foram publicadas em português ou não encontrei referências sobre. =)
A Skype é um das empresas mais conhecidas no uso do PostgreSQL, recentemente eles liberaram no PgFoundry algumas ferramentas (PL/Proxy, PgBouncer e SkyTools). Não testei ainda por falta absoluta de tempo (não parece mas ainda durmo de vez em quando) mas está na minha lista "de coisas interessantes que nunca tenho tempo de testar mais algum dia vou testar".
PostgreSQL, testes e brainstorm
Esta semana passei fazendo muitos testes de stress com o PostgreSQL, ainda não terminei de compilar os resultados e também cometi algumas falhas para ter um critério científico mas segue algumas impressões que tive ou que os moderninhos e nerds dizem "Um brainstorm".
Ajustes de performance no PostgreSQL são mais fáceis para aplicações Web e/ou Data Warehousing. Com boa modelagem e tipo de indíces corretos fazem salto espetaculares de desempenho. Ajustes de aplicações OLTP são bem mais difíceis de melhora no desempenho. Conhecer a quantidade de instruções como INSERT, UPDATE e DELETE são fundamentais para alterar os parâmetros do arquivo de configuração (postgresql.conf) do postgresql.
Não existe soluções em Software Livre/Código Aberto satisfatório para Cluster: Para bases grandes ou PgCluster ou Pgpool-2 são interessantes mas escalar eles. Usá-los como forma para escalar PostreSQL não é boa saída mas são bons em situações que não precisam de transações do tipo OLTP. Existes soluções terceiras em Java e outras linguagens para escalar o PostgreSQL como Sequoia.
Gostei mais do Pgpool-2 por ser menos intrusivo que PgCluster no código do PostgreSQL, não precisei de aplicar um patch (modificação no código). Infelizementes, ainda não as soluções livres no PostgreSQL usam Commit Two Phases para validar as transações em de soluções de Alta-Disponibilidade ou Balanceamento de Carga mas isso deve ser solucionado em breve.
Não testei a solução da Greenplum é focada para Data Warehousing porquê não era o foco mas sim testar o PostgreSQL com OLTP.
No fim dos testes fiquei com a sensação que o elefante (mascote do PostgreSQL) aguenta o tranco mas precisa conhecer bastante a aplicação e os parâmetros do PostgreSQL para a melhor peformance.
Assim que terminar de compilar os dados e documentar os testes eu posto aqui. Tem divergência ou acrescentar algo? Comenta ou manda ou email aí.
As dez mais quentes inovações Código Aberto
O Slashdot publicou sobre as dez invovações mais quentes de Código Aberto publicadas originalmente aqui. Basicamente fala de Virtualização, CRM, Gerenciamento de infra-estrutura de rede, soluções embarcadas, automação de serviço e soluções mais completas de Groupware.
Considerando que essas soluções estão sob ótica de mercado, também consideraria nessa ecosfera sistemas que possam ajudar na organização de processos ou tomadas de decisão. Softwares Livres/Código Aberto como KnowledgeTree para controle de documentos e processos ou a famosa sigla BPM (Business Process Management) facilitam muito as empresas a diminuir o uso de serviços de centralização de documentos baseados em servidores de arquivos como Active Directory e Samba.
Outro software ou área de crescimento, ainda que no Brasil seja incipiente, são os Software de BI (Business Inteligence) e OLAP (Online Analytical Processing), por aqui tem o Pargres baseado em Java e PostgreSQL. Também tem um bem interessante que está tendo um crescimento rápido e desenvolvimento bem promissor é o Pentaho. O Pentaho é uma ferramenta de BI com muitas funcionalidades que impressionam bastante para quem mexe a primeira vez com um software desse, ele é desenvolvido principalemente em Java e tem compatibilidade com alguns banco de dados sendo o principal o MySQL, também permite trabalhar com serviços de diretório com OpenLdap ou Apache DS.
Se você quer impressionar seu chefe e ter uma promoção na empresa, uma das soluções apresentadas no artigo das 10 mais quentes mais essas que citei você pode até ser o chefe do seu chefe ou ser um empresário bem sucedido.
Obs. Nâo esqueça de deixar para mim de presente umas garrafas de Whisky.
