Uma breve história do PostgreSQL

O sistema de gerenciamento de banco de dados objeto-relacional hoje conhecido por PostgreSQL, é derivado do pacote POSTGRES escrito na Universidade da Califórnia em Berkeley. Com mais de uma década de desenvolvimento por trás, o PostgreSQL é atualmente o mais avançado banco de dados de código aberto disponível em qualquer lugar.

O projeto POSTGRES de Berkeley

O projeto POSTGRES, liderado pelo Professor Michael Stonebraker, foi patrocinado pela Defense Advanced Research Projects Agency (DARPA), pelo Army Research Office (ARO), pela National Science Foundation (NSF)) e pela ESL, Inc. A implementação do POSTGRES começou em 1986. Os conceitos iniciais para o sistema foram apresentados em The design of POSTGRES , e a definição do modelo de dados inicial foi descrita em The POSTGRES data model . O projeto do sistema de regras desta época foi descrito em The design of the POSTGRES rules system. Os fundamentos lógicos e a arquitetura do gerenciador de armazenamento foram detalhados em The design of the POSTGRES storage system .

O Postgres passou por várias versões principais desde então. A primeira "versão de demonstração" do sistema se tornou operacional em 1987, e foi exibida em 1988 na Conferência ACM-SIGMOD. A versão 1, descrita em The implementation of POSTGRES , foi liberada para alguns poucos usuários externos em junho de 1989. Em resposta à crítica ao primeiro sistema de regras (A commentary on the POSTGRES rules system ), o sistema de regras foi reprojetado (On Rules, Procedures, Caching and Views in Database Systems ), e a versão 2 foi liberada em junho de 1990, contendo um novo sistema de regras. A versão 3 surgiu em 1991 adicionando suporte a múltiplos gerenciadores de armazenamento, um executor de comandos melhorado, e um sistema de regras reescrito. Em sua maior parte as versões seguintes, até o Postgres95 (veja abaixo), focaram a portabilidade e a confiabilidade.

O POSTGRES tem sido usado para implementar muitos aplicativos diferentes de pesquisa e de produção, incluindo: sistema de análise de dados financeiros, pacote de monitoração de desempenho de motor a jato, banco de dados de acompanhamento de asteróides, banco de dados de informações médicas, e vários sistemas de informações geográficas. O POSTGRES também tem sido usado como ferramenta educacional por várias universidades. Por fim, a Illustra Information Technologies (posteriormente incorporada pela Informix, que agora pertence à IBM) pegou o código e o comercializou. O POSTGRES se tornou o gerenciador de dados principal do projeto de computação científica Sequoia 2000 no final de 1992.

O tamanho da comunidade de usuários externos praticamente dobrou durante o ano de 1993. Começou a ficar cada vez mais óbvio que a manutenção do código do protótipo e o suporte estavam consumindo grande parte do tempo que deveria ser dedicado a pesquisas de banco de dados. Em um esforço para reduzir esta sobrecarga de suporte, o projeto do POSTGRES de Berkeley terminou oficialmente na versão 4.2.

O Postgres95

Em 1994, Andrew Yu e Jolly Chen adicionaram um interpretador da linguagem SQL ao POSTGRES. Sob um novo nome, o Postgres95 foi em seguida liberado na Web para encontrar seu próprio caminho no mundo, como descendente de código aberto do código original do POSTGRES de Berkeley.

O código do Postgres95 era totalmente escrito em ANSI C, com tamanho reduzido em 25%. Muitas mudanças internas melhoraram o desempenho e a facilidade de manutenção. O Postgres95 versão 1.0.x era 30-50% mais rápido que o POSTGRES versão 4.2, pelo Wisconsin Benchmark. Além da correção de erros, as principais melhorias foram as seguintes:

O PostgreSQL

Em 1996 ficou claro que o nome "Postgres95" não resistiria ao teste do tempo. Foi escolhido um novo nome, PostgreSQL, para refletir o relacionamento entre o POSTGRES original e as versões mais recentes com capacidade SQL. Ao mesmo tempo, foi mudado o número da versão para começar em 6.0, colocando a numeração de volta à seqüência original começada pelo projeto POSTGRES de Berkeley.

A ênfase durante o desenvolvimento do Postgres95 era identificar e compreender os problemas existentes no código do servidor. Com o PostgreSQL a ênfase foi reorientada para o aumento das funcionalidades e recursos, embora o trabalho continuasse em todas as áreas.

Os detalhes sobre o que aconteceu com o PostgreSQL desde então podem ser encontrados no Apêndice E.

Notas

[1]

A implementação da inversão de objetos grandes divide os objetos grandes em "pedaços", e armazena os pedaços em linhas no banco de dados. Um índice B-tree garante a procura rápida do número correto do pedaço ao serem feitos acessos aleatórios de leitura e gravação. Manual de Referência do PostgreSQL 6.3 (N. do T.)

SourceForge.net Logo CSS válido!