Atenção: por essa edição ser muito antiga não há arquivo PDF para download.
Os artigos dessa edição estão disponíveis somente através do formato HTML.

capnet43.jpg

Clique aqui para ler todos os artigos desta edição

 

Entrevista - Bruce Momjian

 

Conte-nos um pouca da história do PostgreSQL.

 

Bem, é difícil falar sobre isso rapidamente, mas basicamente o PostgreSQL começou na Universidade da Califórnia, em Berkeley, em meados dos anos 80. Em meados dos anos 90, o desenvolvimento foi interrompido na universidade e passou a ser feito na Internet. Foi quando me envolvi. Naquela época, o código não estava realmente pronto para ser usado em produção, mas sete anos depois, éramos comparados a bancos de dados comerciais e nossa popularidade aumentara drasticamente.

 

Como foi seu primeiro contato com o PostgreSQL e o que o motivou a se tornar um dos seus principais desenvolvedores?

 

Bem, em 1995, o Postgres95 era distribuído na Internet, e havia uma pequena lista de usuários fiéis a ele.

No entanto, só havia uma pessoa aplicando patches e empacotando versões. Era necessário um grupo mais organizado que pudesse coletar os patches. Marc Fournier e eu ajudamos a formar esse grupo em 1996 e, desde então, temos nos mantido bastante ocupados.

Escolhi o Postgres95 porque queria um banco de dados SQL para minha máquina Unix pessoal. Eu usava SQL no trabalho, mas não havia nenhum banco de dados SQL comercial disponível para meu sistema operacional. Acabei me envolvendo totalmente porque estava aprendendo coisas novas com o PostgreSQL, que poderiam me ajudar se viesse a precisar de um novo trabalho. Senti que era uma maneira de aprimorar meus conhecimentos de computação. Nunca imaginei que o PostgreSQL iria crescer da maneira como aconteceu e que eu seria contratado para trabalhar somente com ele.

 

Você ainda trabalha no desenvolvimento do PostgreSQL?

 

Mantenho as listas FAQ, TODO e aplico patches desenvolvidos por outras pessoas. Também tento me concentrar no grupo e procuro fazer com que todos tenham suas perguntas respondidas. Geralmente, também adiciono um ou dois recursos a cada nova versão. Recentemente, participei de muitas apresentações na Ásia, Europa e na América do Norte. Agora, viajo uma vez por mês.

 

Onde você está trabalhando? Está desenvolvendo algum outro software open source? O que você gosta de fazer quando não está trabalhando?

 

Moro na Filadélfia (Pensilvânia, EUA) e trabalho em casa. Sou contratado da SRA (Software Research Associates), empresa localizada no Japão e que possui um enorme departamento de suporte a PostgreSQL. Eles me pagam para trabalhar em tempo integral no aperfeiçoamento do PostgreSQL. É um trabalho maravilhoso.

Não estou especialmente envolvido em nenhum outro projeto open source, embora tenha escrito alguns pequenos pacotes open source antes de me dedicar ao PostgreSQL. Quando não estou trabalhando, passeio com minha família. Comecei a levar meus filhos mais velhos nas viagens que faço para dar palestras, e tem sido divertido.

 

Como se dá o processo de inserção e validação de uma nova implementação desenvolvida por um dos membros da comunidade?

 

Quando se trata da inserção de novos recursos, adotamos como padrão discutir primeiro como os recursos funcionarão para nossos usuários. Em seguida, discutimos como os recursos devem ser implementados em nosso código. Por fim, fazemos com que as pessoas revisem as alterações do código e muitas pessoas o testam para garantir que funcione como esperado. Como desenvolvedores, levamos enorme vantagem porque podemos rapidamente lançar, testar e retestar nosso código em um curto período de tempo. Nossos desenvolvedores se comunicam constantemente com os usuários, o que possibilita esse ciclo rápido de testes.

 

Considerando a atual quantidade e diversidade de bancos de dados open source disponível no mercado, você acha viável alguém começar o desenvolvimento de um novo banco de dados, a partir do zero?

 

Essa é uma boa pergunta. Infelizmente, não vejo como outro projeto poderia atrair desenvolvedores suficientes para que crescesse como o PostgreSQL. É claro, qualquer um pode criar um banco de dados e, se este atender às necessidades dos usuários, certamente crescerá.

 

Quais são as principais características que tornam o PostgreSQL diferente dos outros bancos de dados?

 

Bem, somos um projeto open source, o que significa que todo nosso trabalho é feito de forma transparente, com amplas discussões e revisões em nossas mailings lists. Acredito que isso nos deixe em grande vantagem em relação aos bancos de dados desenvolvidos in-house, como o Oracle e o MySQL. Nosso código congrega o know-how coletivo de todos os nossos desenvolvedores. Não acredito que nenhuma outra empresa possa organizar um grupo com capacidades similares. Essa estrutura permite que nosso software tenha design e recursos fora de série.

 

Ao contrário de outros softwares, como o MySQL, que usam o modelo GPL, o PostgreSQL é distribuído sob a licença BSD. Por quê?

 

O banco de dados tinha licença BSD enquanto estava em Berkeley, e nós a mantivemos. Essa é uma licença muito business-friendly. Você pode distribuir aplicativos comerciais com o PostgreSQL sem precisar abrir seu código-fonte, o que consideramos muito importante para ajudar a introduzir o PostgreSQL nas empresas.

 

O comando VACUUM é realmente um grande problema, como dizem algumas pessoas?

Se isso é verdade, por que ele ainda é necessário?

Todos os bancos de dados têm alguma forma de vacuum, já que, quando você modifica linhas, restam sempre alguns valores antigos. Normalmente, esses valores são apagados automaticamente, mas no PostgreSQL você precisa executar um comando separado. Estamos trabalhando no sentido de tornar o vacuum automático também, mas não me parece que isso cause tantos problemas a nossos usuários.

 

Quais as principais atualizações da versão 7.4?

 

Como acontece em qualquer versão, melhoramos o desempenho e simplificamos a administração do banco de dados. Na versão 7.4, melhoramos o suporte a threads e aprimoramos alguns recursos SQL. Cada versão traz centenas de melhorias. A 7.4 traz em torno de trezentas, nosso maior número de melhorias até então.

 

Existe algum plano para uma versão do PostgreSQL para Windows?

 

Estamos trabalhando nisso. Esperava que conseguíssemos na versão 7.4, mas agora estamos nos concentrando na 7.5. Já estamos com o PostgreSQL sendo executado em Cygwin, e a maioria dos usuários considera o desempenho satisfatório.

 

O que podemos esperar para as próximas versões do PostgreSQL?

 

Continuamos trabalhando para melhorar o desempenho e a facilidade de administração. Queremos uma versão para Windows e estamos trabalhando para oferecer o recurso de backups contínuos. Também estamos nos empenhando em produzir soluções avançadas de replicação.

 

Como você vê a comunidade open source?

 

Acredito que a comunidade open source irá mudar drasticamente a maneira como o software é desenvolvido e vendido. Já estamos vendo isso, apenas vai se tornar cada vez mais comum. Recentemente, por exemplo, a Oracle anunciou uma versão de baixo custo de seu banco de dados para empresas de pequeno a médio porte. Provavelmente foi uma resposta à crescente popularidade de bancos de dados open source nas empresas.

 

Você acha que os bancos de dados open source já atingiram um nível de maturidade para competir com Oracle, SQL Server e DB2 ou eles ainda são diferentes segmentos de mercado?

 

Acho que já atingiram a maturidade. Vemos diariamente usuários que usavam Oracle ou outros bancos de dados e passaram para PostgreSQL. Além de julgarem o desempenho semelhante, eles consideram o PostgreSQL mais confiável e mais fácil de usar e de administrar.

 

Você trabalha para uma empresa japonesa, a SRA. Como está a aceitação do PostgreSQL no mercado japonês?

 

O mercado de banco de dados no Japão está, talvez, 1 a 2 anos à frente do resto do mundo. Isso se deve em parte ao fato de o PostgreSQL ter oferecido um bom suporte para idiomas asiáticos, antes dos bancos de dados comerciais. Além disso, o PostgreSQL representa um projeto mais global, diferentemente da maioria das empresas de banco de dados, que estão baseadas nos Estados Unidos ou na Europa. Tatsuo Ishii, que também trabalha para a SRA, ajudou a popularizar o PostgreSQL ao criar o primeiro grupo de usuários local e a escrever o primeiro livro sobre PostgreSQL.

 

 

 

Por que o PostgreSQL não é muito divulgado?

 

O PostgreSQL não conta com um departamento de marketing nem dispõe de verba para ser investida em publicidade. Todo o nosso crescimento é resultante de comentários satisfatórios feitos pelos usuários sobre o PostgreSQL. Embora esse tipo de propaganda traga resultados mais lentos, ele cria uma comunidade fiel e dedicada ao nosso banco de dados. Além disso, também nos permite atingir uma sólida cobertura global, algo muito difícil quando não se trata de empresas de grande porte.

 

Qual é a importância de grupos de usuários, como o PostgreSQL Development Group, para o desenvolvimento do PostgreSQL?

 

Enorme. Nosso grupo de desenvolvimento “é” o PostgreSQL. Ele é tudo. Algumas empresas ajudam a dar suporte ao PostgreSQL e fornecem suporte a usuários, mas elas não são fundamentais para o projeto - nossos usuários e desenvolvedores “são o projeto PostgreSQL.

 

Recentemente, Nicholas Carr, editor da HBR (Harvard Business Review), declarou que, dentre outras divisões de TI, o armazenamento de dados se tornará uma commodity. Você acredita que os softwares de banco de dados chegarão a este ponto?

 

Sim, eu li o artigo. O armazenamento oferece uma interface bastante simples - os dados são enviados e, depois de algum tempo, lidos. Os bancos de dados oferecem uma interface higher-level para o armazenamento. Ele ajuda os desenvolvedores de aplicativos a acessarem os dados de forma mais concisa, por exemplo, por meio da linguagem SQL.

Quanto ao fato de os bancos de dados serem uma “commodity”, o PostgreSQL já está bem próximo de fornecer todos os recursos oferecidos em um banco de dados comercial. Ao mesmo tempo, a popularidade do PostgreSQL fez com que várias empresas de banco de dados menores fechassem, já que, como ele oferece recursos similares, fica difícil cobrar por um banco de dados.

 

Qual sua opinião sobre as patentes de software?

 

Isso me parece um grande problema. O órgão de patentes norte-americano não dispõe de tempo nem da capacidade necessária para determinar se as patentes são exclusivas ou se o produto deve ser patenteado. Por isso, eles emitem a patente e deixam que os juízes decidam sobre sua validade, o que torna as coisas mais difíceis para os desenvolvedores. Os desenvolvedores não têm como saber quais patentes existem e quais são válidas. Além disso, o open source é ainda mais vulnerável porque distribuímos nosso código-fonte para quem quiser analisá-lo. As patentes foram criadas para estimular o investimento na inovação, mas não acho que elas exerçam uma interferência positiva no mundo do software.

 

Na sua opinião, qual é o futuro do mercado de banco de dados?

 

É difícil prever o que o futuro guarda. Quando comecei com o PostgreSQL, há sete anos, nunca imaginei que ele se tornaria tão popular. Meu palpite é que a maioria das pequenas empresas de banco de dados fechará, e o PostgreSQL e talvez outros bancos de dados open source dominarão o mercado de banco de dados. Empresas maiores como Oracle e IBM abastecerão mercados exclusivos, nos quais a velocidade seja fundamental e a economia de custos não seja problema.

 

Qual a sua mensagem para os leitores e admiradores brasileiros?

 

Fico muito satisfeito em notar que o Brasil está se tornando cada vez mais participativo na comunidade open source. Na Europa, o modelo open source já é bastante popular há alguns anos e, agora, o continente americano está mais receptivo a esse conceito, o que me deixa muito contente. O PostgreSQL tem adeptos em todo o mundo, os quais usam e aprimoram o banco de dados, e estou ansioso por um maior engajamento dos usuários brasileiros no PostgreSQL.