46 um-breve-histria-do-postgresql - CodeHamper

Um breve história do PostgreSQL

Conhecendo um pouco sobre o Postgres




Um sistema gerenciador 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, liderado pelo Professor Michel Stonebraker, foi patrocinado pela DARPA (Defense Advanced Research Projects Agency), pelo ARO (Army Research Office), pela NSF (National Science Foundation) 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 rule 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ários 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 a critica ao primeiro sistema de regras, 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 melhorando, e um sistema de regras reescrito. Em sua maior parte as versões seguintes, até o Postgres95 focaram a portabilidade e a confiabilidade.

O Postgres tem sido usado para implementar muitas aplicações 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 asteroide, 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ários universidades. Por fim, a Ilustra Information Technologies, que agora pertence a IBM pegou o código e 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 Tu 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 o tamanho reduzido em 25%. Muitas mudanças internas melhoram o desempenho e a facilidade de manutenção. O Postgres95 versão 1.0.x era 30% a 50% mais rápido que o Postgres versão 4.2. Além da correção de erros, as principais melhorias foram as seguintes:

1 -  A linguagem de comandos PostQUEl foi substituída pela linguagem SQL (implementada no servidor). Não foram permitidas subconsultas até o PostgreSQL, mas estas podiam ser simuladas no Postgres95 por meio de funções SQL definidas pelo usuário. As funções de agregação foram reimplementadas. Também foi adicionado suporte a cláusula GROUP BY nas consultas.

2 – Foi fornecido um novo programa para executar comandos SQL interativos, o psql, utilizado o Readline do GNU, que substituiu com vantagens o programa monitor antigo.

3 – Uma nova biblioteca cliente, a libpgtcl, dava suporte a clientes baseados no Tcl. O interpretador de comandos pgtclsh fornecia novos comandos Tcl para interfazer programas TCL com o servidor Postgres95.

4 – A interface para objetos grandes foi revisada. A inversão de objetos grandes era o único mecanismo para armazenar objetos grandes. ( O sistema de arquivo inversão foi removido).

5 – O sistema de regras no nível de instância foi removido. As regras ainda eram disponíveis como regras de reescrita.

6 – Um breve tutorial introduzindo as funcionalidades regulares da linguagem SQL, assim como as do Postgres95, foi distribuído junto com o código fonte.

7  - O utilitário make do GNU ( em vez do make do BSD) foi utilizado para a geração. Além disso, o Postgres95 podia ser compilado com o GCC sem correções ( o alinhamento de dados para a precisão dupla foi corrigido).

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 recente com a 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 a sequência original começada pelo projeto Postgres de Berkeley.

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


CodeHamper © 2017 - Todos os direitos reservados