Você está na página 1de 4

Instituto Educacional de Castro

Tecnologia em Sistemas para Internet

Profº. Luciano R. Rocha INSTALAÇÃO E MANUTENÇÃO DE BANCO DE DADOS

Banco de dados MySQL e PostgreSQL 
Introdução 

  

É  muito  fácil  encontrar  serviços  de  hospedagem  de  sites  que  oferecem  em  seus  planos  os 
Sistemas Gerenciadores de Banco de Dados (SGDB) MySQL e PostgreSQL, embora isso seja 
mais comum com o primeiro. Como esses SGBD não são usados apenas na internet, talvez 
seja  de  seu  interesse  utilizá‐los  em  seus  projetos  de  software,  uma  vez  que  cada  um  é 
dotado  de  vantagens  interessantes,  como  a  gratuidade  de  uso.  Para  ajudá‐lo  a  escolher  o 
melhor  para  sua  aplicação,  este  artigo  apresenta  as  principais  características  de  ambos, 
começando com o MySQL. Para tanto, é recomendável que você tenha algum conhecimento 
sobre os conceitos de bancos de dados. 

Alguns termos 

Mesmo aquelas pessoas que já trabalham com banco de dados podem ficar "perdidas" no 
meio de tantos nomes de recursos. Assim, para facilitar a compreensão, segue uma lista com 
uma breve explicação sobre os recursos mais importantes: 

‐  Referential  integrity:  também  conhecido  como  "integridade  referencial",  esse  recurso 


consiste  em  restrições  ou  regras  existentes  para  uma  correta  inserção  de  dados,  por 
exemplo, para impedir que uma tabela seja preenchida sem que isso ocorra em outra; 

‐ Schemas: recurso que permite cruzar informações em um mesmo banco de dados, mas em 
estruturas diferentes; 

‐ SQL: sigla para Structured Query Language, é uma linguagem utilizada em bancos de dados 
relacionais; 

‐  SSL:  sigla  para  Secure  Sockets  Layer,  consiste  em  um  protocolo  para  a  troca  segura  de 
informações; 

‐ Stored procedures: esse recurso consiste em comandos SQL "guardados" no servidor para, 
por  exemplo,  executar  tarefas  repetitivas,  evitando  que  um  cliente  tenha  que  executá‐las 
constantemente; 

‐  Transactions:  também  conhecidas  como  transações,  as  transactions  são  instruções 


executadas em um bloco designado por parâmetros que indicam seu início e seu fim; 
Instalação e Manutenção de Banco de Dados

‐  Triggers:  também  chamados  de  gatilhos,  os  triggers  são  recursos  que  permitem  o 
acionamento  de  uma  seqüência  de  comandos  logo  em  seguida  ou  logo  após  um  evento; 
‐ Views: os views consistem em um tipo de tabela virtual formada por campos extraídos de 
uma tabela "verdadeira", facilitando o controle sob os dados acessados. 

O banco de dados MySQL 

O MySQL é um dos sistemas de gerenciamento de banco de dados mais 
populares  que  existe  e,  por  ser  otimizado  para  aplicações  Web,  é 
amplamente utilizado na internet (inclusive aqui no InfoWester). É muito 
comum  encontrar  serviços  de  hospedagem  de sites  que  oferecem  o  MySQL  e a  linguagem 
PHP, justamente porque ambos trabalham muito bem em conjunto. 

Outro fator que ajuda na popularidade do MySQL é sua disponibilidade para praticamente 
qualquer sistema operacional, como Linux, FreeBSD (e outros sistemas baseados em Unix), 
Windows  e  Mac  OS  X.  Além  disso,  o  MySQL  é  um  software  livre  (sob  licença  GPL),  o  que 
significa que qualquer um pode estudá‐lo ou alterá‐lo conforme a necessidade. 

Entre as características técnicas do SGBD MySQL, estão: 

‐  Alta  compatibilidade  com  linguagens  como  PHP,  Java,  Python,  C#,  Ruby  e  C/C++; 
‐  Baixa  exigência  de  processamento  (em  comparação  como  outros  SGBD); 
‐  Vários  sistemas  de  armazenamento  de  dados  (batabase  engine),  como  MyISAM,  MySQL 
Cluster, CSV, Merge, InnoDB, entre outros; 

‐  Recursos  como  transactions  (transações),  conectividade  segura,  indexação  de  campos  de 
texto, replicação, etc; 

‐ Instruções em SQL, como indica o nome. 

Até  o  momento  em  que  este  artigo  era  escrito,  o  MySQL  estava  na  versão  5.0  (mais 
precisamente,  5.0.26).  Em  relação  à  versão  4.0,  houve  acréscimo  de  vários  recursos  e 
melhorias importantes, como: 

‐ Triggers; 
‐ Stored procedures; 
‐ Sub‐selects; 
‐ Suporte total ao Unicode; 
‐ INFORMATION_SCHEMA (para armazenamento do dicionário de dados); 
‐ Server side cursors; 
‐ Suporte a SSL; 
‐ Melhoria no tratamento de erros. 
 
O MySQL surgiu na Suécia pelas mãos de três colegas: Allan Larsson, David Axmark e Michael 
Monty  Widenius.  Trabalhando  com  base  de  dados,  eles  sentiram  a  necessidade  de  fazer 

Página 2
Instalação e Manutenção de Banco de Dados

determinadas conexões entre tabelas e usaram o mSQL para isso. Porém, não demorou para 
perceberem  que  essa  ferramenta  não  lhes  atendia  conforme  o  necessário  e  passaram  a 
trabalhar em uma solução própria. Surgia então o MySQL, cuja primeira versão foi lançada 
no ano de 1996. 

Um fato importante a ser destacado sobre o MySQL é que esse SGBD também possui uma 
licença  comercial,  isto  é,  paga.  A  MySQL  AB,  empresa  que  o  desenvolve  e  que  o  distribui, 
oferece suporte diferenciado a quem estiver disposto a pagar por isso. 

O banco de dados PostgreSQL 

O  sistema  gerenciador  de  banco  de  dados  PostgreSQL  teve  seu  início  na 
Universidade  de  Berkeley,  na  Califórnia,  em  1986.  À  época,  um  programador 
chamado  Michael  Stonebraker  liderou  um  projeto  para  a  criação  de  um 
servidor  de  banco  de  dados  relacionais  chamado  Postgres,  oriundo  de  um 
outro  projeto  da  mesma  instituição  denominado  Ingres.  Essa  tecnologia  foi 
então  comprada  pela  Illustra,  empresa  posteriormente  adquirida  pela  Informix.  Porém, 
mesmo diante disso, dois estudantes de Berkeley (Jolly Chen e Andrew Yu) compatibilizaram 
o Postgres à linguagem SQL. Este projeto recebeu o nome de Postgres95. 

Em  1996,  quando  o  projeto  estava  estável,  o  banco  de  dados  recebeu  o  nome  de 
PostgreSQL. No entanto, enquanto ainda possuía o nome Postgres95, o banco de dados teve 
várias mudanças. O seu código foi totalmente revisado e a linguagem SQL foi definida como 
padrão. 

Tecnicamente falando, o PostgreSQL é um banco de dados relacional e orientado a objetos. 
Um de seus atrativos é possuir recursos comuns a banco de dados de grande porte, o que o 
deixa  apto  a  trabalhar,  inclusive,  com  operações  de  missão  crítica.  Além  disso,  trata‐se  de 
um banco de dados versátil, seguro, gratuito e de código aberto (disponível sob uma licença 
BSD).  

Entre suas características, tem‐se: 

‐ Compatibilidade multi‐plataforma, ou seja, executa em vários sistema operacionais, como 
Windows, Mac OS X, Linux e outras variantes de Unix; 
‐ Compatibilidade com várias linguagens, entre elas, Java, PHP, Python, Ruby, e C/C++; 
‐ Base de dados de tamanho ilimitado; 
‐ Tabelas com tamanho de até 32 TB; 
‐ Quantidade de linhas de até 1.6 TB ilimitada; 
‐ Campos de até 1 GB; 
‐  Suporte  a  recursos  como  triggers,  views,  stored  procedures,  SSL,  MVCC,  schemas, 
transactions, savepoints, referential integrity e expressões regulares; 
‐ Instruções em SQL, como indica o nome. 

Página 3
Instalação e Manutenção de Banco de Dados

No momento em que este artigo era escrito, o PostgreSQL estava na versão 8.1. 

MySQL x PostgreSQL 

MySQL  ou  PostgreSQL,  qual  usar?  Ambos  são  muito  bons  e  não  fazem  feio  diante  das 
alternativas  pagas.  Além  disso,  possuem  recursos  e  vantagens  em  comum,  o  que  significa 
que, para a maioria das aplicações, ambos podem ser usados. Na verdade, o correto não é 
tentar descobrir qual é o melhor, mas em que situação um ou outro deve ser utilizado. 

O PostgreSQL é otimizado para aplicações complexas, isto é, que envolvem grandes volumes 
de  dados  ou  que  tratam  de  informações  críticas.  Assim,  para  um  sistema  de  comércio 
eletrônico de porte médio/alto, por exemplo, o PostGreSQL é mais interessante, já que esse 
SGBD  é  capaz  de  lidar  de  maneira  satisfatória  com  o  volume  de  dados  gerado  pelas 
operações de consulta e venda. 

O MySQL, por sua vez, é focado na agilidade. Assim, se sua aplicação necessita de retornos 
rápidos  e  não  envolve  operações  complexas,  o  MySQL  é  a  opção  mais  adequada,  pois  é 
otimizado  para  proporcionar  processamento  rápido  dos  dados  e  tempo  curto  de  resposta 
sem  exigir muito  do  hardware.  Se  você  precisa,  por  exemplo,  de  um  banco  de  dados  para 
armazenar  o  conteúdo  do  seu  site,  de  seu  fórum  ou  necessita  manter  um  cadastro  de 
usuários de um portal, o MySQL "serve como uma luva", pois tais aplicações não necessitam 
dos recursos avançados que o PostgreSQL oferece. 

Para  escolher  um  destes  dois  SGBD,  procure  entender  bem  quais  recursos  sua  aplicação 
precisa.  Tente  estimar  o  volume  de  dados,  avalie  o  hardware  disponível,  certifique‐se  das 
funcionalidades necessárias e, posteriormente, procure por informações mais detalhadas do 
MySQL e do PostGreSQL. Se sua aplicação for simples ‐ principalmente se for algo ligado à 
internet ‐, não é preciso pensar muito: o MySQL é uma escolha satisfatória, pois é facilmente 
encontrado em serviços de hospedagem. 

Todavia,  há  situações  em  que  tanto  o  MySQL  quanto  o  PostgreSQL  serão  boas  escolhas. 
Nesses casos, é recomendável fazer testes com ambos e avaliar qual oferece mais vantagens 
à aplicação. 

Página 4

Você também pode gostar