PostgreSQL

PostgreSQL é um sistema de gerenciamento de banco de dados relacional, desenvolvido e distribuído com software livre (está sob a licença BSD). Pode ser instalado na maior parte os sistemas operacionais como Linux, Unix, MacOs, Solaris, BeOS e Windows. O PostgreSQL conta com muitos recursos como integridade transacional, controle de concorrência multi-versão e suporte para: [postgre]
  • chaves estrangeiras (foreign keys);

  • joins;

  • views;

  • triggers;

  • stored procedures em várias linguagens;



O uso de PostgreSQL no sistema Borboleta


O gerenciador de dados relacional é uma das partes mais importantes para o bom funcionamento do sistema. Isto porque o objetivo do sistema Borboleta é realizar a interação entre a base de dados e os usuários de uma forma simples e amigável.

A escolha do gerenciador PostgreSQL foi guiada pelas vantagens que ele oferece em relação a outros gerenciadores, até mesmo em relação ao MySQL. Um modo eficaz de comparar dois gerenciadores de dados é realizar um teste de propriedades ACID (atomicidade, consistência, isolamento e durabilidade/estabilidade). Um gerenciador de dados confiável deve garantir atomicidade, manter a consistência e o isolamento das transações e garantir que a base de dados irá guardar o conjunto de modificações pendentes de uma forma que o sistema pode recuperá-las depois de um término anormal.

O PostgreSQL tem as propriedades ACID, já o MySQL não, pois não suporta consistência, isolamento e durabilidade/estabilidade. Com o PostgreSQL, muitos usuários podem realizar selects, updates e deletions sem receio de perder seus dados. Além disso, o sistema de segurança do PostgreSQL é mais avançado do que no MySQL pois nos permite utilizar mecanismos de autenticação como senhas e acesso controlado com base no endereço de IP. Porém, devido às restrições de funcionalidades o MySQL é mais rápido.

Inicialmente, o sistema Borboleta não utiliza a maioria das funcionalidades disponibilizadas pelo gerenciador escolhido. Mas com a extensão futura do projeto visando o funcionamento em ambientes maiores e com maior quantidade de acessos nos fez optar pelo PostgreSQL e suas vantagens em relação ao MySQL.