banco de dados mysql e postgresql

Upload: rosangelaramos

Post on 08-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 Banco de dados MySQL e PostgreSQL

    1/3

    Banco de dados MySQL e PostgreSQL

    muito fcil encontrar servios de hospedagem de sites que oferecem em seus planos os

    Sistemas Gerenciadores de Banco de Dados (SGDB) MySQL e PostgreSQL, embora isso sejamais comum com o primeiro. Como esses SGBD no so usados apenas na internet, talvezseja de seu interesse utiliz-los em seus projetos de software, uma vez que cada um dotadode vantagens interessantes, como a gratuidade de uso. Para ajud-lo a escolher o melhor parasua aplicao, este artigo apresenta as principais caractersticas de ambos, comeando com oMySQL. Para tanto, recomendvel que voc tenha algum conhecimento sobre os conceitosde bancos de dados.

    Alguns termos

    Mesmo aquelas pessoas que j trabalham com banco de dados podem ficar "perdidas" no meiode tantos nomes de recursos. Assim, para facilitar a compreenso, segue uma lista com uma

    breve explicao sobre os recursos mais importantes:

    - Referential integrity: tambm conhecido como "integridade referencial", esse recursoconsiste em restries ou regras existentes para uma correta insero de dados, por exemplo,para impedir que uma tabela seja preenchida sem que isso ocorra em outra;- Schemas: recurso que permite cruzar informaes em um mesmo banco de dados, mas emestruturas diferentes;- SQL: sigla para Structured Query Language, uma linguagem utilizada em bancos de dadosrelacionais;- SSL: sigla para Secure Sockets Layer, consiste em um protocolo para a troca segura deinformaes;- Stored procedures: esse recurso consiste em comandos SQL "guardados" no servidor para,por exemplo, executar tarefas repetitivas, evitando que um cliente tenha que execut-lasconstantemente;- Transactions: tambm conhecidas como transaes, as transactions so instruesexecutadas em um bloco designado por parmetros que indicam seu incio e seu fim;- Triggers: tambm chamados de gatilhos, os triggers so recursos que permitem oacionamento de uma seqncia de comandos logo em seguida ou logo aps um evento;- Views: os views consistem em um tipo de tabela virtual formada por campos extrados deuma 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 existee, por ser otimizado para aplicaes Web, amplamente utilizado na internet (inclusive aqui noInfoWester). muito comum encontrar servios de hospedagem de sites que oferecem oMySQL e a linguagem PHP, justamente porque ambos trabalham muito bem em conjunto.

    Outro fator que ajuda na popularidade do MySQL sua disponibilidade para praticamentequalquer sistema operacional, como Linux, FreeBSD (e outros sistemas baseados em Unix),Windows e Mac OS X. Alm disso, o MySQL um software livre (sob licena GPL), o quesignifica que qualquer um pode estud-lo ou alter-lo conforme a necessidade.

    Entre as caractersticas tcnicas do SGBD MySQL, esto:

    - Alta compatibilidade com linguagens como PHP,Java, Python, C#, Ruby e C/C++;- Baixa exigncia de processamento (em comparao como outros SGBD);- Vrios sistemas de armazenamento de dados (batabase engine), como MyISAM, MySQL

    http://www.infowester.com/postgremysql.phphttp://www.gnu.org/copyleft/gpl.htmlhttp://www.gnu.org/copyleft/gpl.htmlhttp://www.infowester.com/postgremysql.phphttp://www.infowester.com/postgremysql.phphttp://www.gnu.org/copyleft/gpl.htmlhttp://www.infowester.com/postgremysql.phphttp://www.infowester.com/postgremysql.php
  • 8/7/2019 Banco de dados MySQL e PostgreSQL

    2/3

    Cluster, CSV, Merge, InnoDB, entre outros;- Recursos como transactions (transaes), conectividade segura, indexao de campos detexto, replicao, etc;- Instrues em SQL, como indica o nome.

    At o momento em que este artigo era escrito, o MySQL estava na verso 5.0 (mais

    precisamente, 5.0.26). Em relao verso 4.0, houve acrscimo de vrios recursos emelhorias importantes, como:

    - Triggers;- Stored procedures;- Sub-selects;- Suporte total aoUnicode;- INFORMATION_SCHEMA (para armazenamento do dicionrio de dados);- Server side cursors;- Suporte a SSL;- Melhoria no tratamento de erros.

    O MySQL surgiu na Sucia pelas mos de trs colegas: Allan Larsson, David Axmark e MichaelMonty Widenius. Trabalhando com base de dados, eles sentiram a necessidade de fazerdeterminadas conexes entre tabelas e usaram o mSQL para isso. Porm, no demorou paraperceberem que essa ferramenta no lhes atendia conforme o necessrio e passaram atrabalhar em uma soluo prpria. Surgia ento o MySQL, cuja primeira verso foi lanada noano de 1996.

    Um fato importante a ser destacado sobre o MySQL que esse SGBD tambm possui umalicena 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 incio na Universidade deBerkeley, na Califrnia, em 1986. poca, um programador chamado Michael Stonebrakerliderou um projeto para a criao de um servidor de banco de dados relacionais chamadoPostgres, oriundo de um outro projeto da mesma instituio denominado Ingres. Essatecnologia foi ento comprada pela Illustra, empresa posteriormente adquirida pela Informix.Porm, 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 estvel, o banco de dados recebeu o nome de PostgreSQL.No entanto, enquanto ainda possua o nome Postgres95, o banco de dados teve vrias

    mudanas. O seu cdigo foi totalmente revisado e a linguagem SQL foi definida como padro.

    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 odeixa apto a trabalhar, inclusive, com operaes de misso crtica. Alm disso, trata-se de umbanco de dados verstil, seguro, gratuito e de cdigo aberto (disponvel sob uma licena BSD).

    Entre suas caractersticas, tem-se:

    - Compatibilidade multi-plataforma, ou seja, executa em vrios sistema operacionais, comoWindows, Mac OS X, Linux e outras variantes de Unix;- Compatibilidade com vrias linguagens, entre elas, Java, PHP, Python, Ruby, e C/C++;

    - Base de dados de tamanho ilimitado;- Tabelas com tamanho de at 32 TB;

    http://unicode.org/http://unicode.org/http://unicode.org/http://en.wikipedia.org/wiki/BSD_licensehttp://unicode.org/http://en.wikipedia.org/wiki/BSD_license
  • 8/7/2019 Banco de dados MySQL e PostgreSQL

    3/3

    - 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 expresses regulares;- Instrues em SQL, como indica o nome.

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

    MySQL x PostgreSQL

    MySQL ou PostgreSQL, qual usar? Ambos so muito bons e no fazem feio diante dasalternativas pagas. Alm disso, possuem recursos e vantagens em comum, o que significa que,para a maioria das aplicaes, ambos podem ser usados. Na verdade, o correto no tentardescobrir qual o melhor, mas em que situao um ou outro deve ser utilizado.

    O PostgreSQL otimizado para aplicaes complexas, isto , que envolvem grandes volumesde dados ou que tratam de informaes crticas. Assim, para um sistema de comrcioeletrnico de porte mdio/alto, por exemplo, o PostGreSQL mais interessante, j que esse

    SGBD capaz de lidar de maneira satisfatria com o volume de dados gerado pelas operaesde consulta e venda.

    O MySQL, por sua vez, focado na agilidade. Assim, se sua aplicao necessita de retornosrpidos e no envolve operaes complexas, o MySQL a opo mais adequada, pois otimizado para proporcionar processamento rpido dos dados e tempo curto de resposta semexigir muito do hardware. Se voc precisa, por exemplo, de um banco de dados paraarmazenar o contedo do seu site, de seu frum ou necessita manter um cadastro de usuriosde um portal, o MySQL "serve como uma luva", pois tais aplicaes no necessitam dosrecursos avanados que o PostgreSQL oferece.

    Para escolher um destes dois SGBD, procure entender bem quais recursos sua aplicaoprecisa. Tente estimar o volume de dados, avalie o hardware disponvel, certifique-se dasfuncionalidades necessrias e, posteriormente, procure por informaes mais detalhadas doMySQL e do PostGreSQL. Se sua aplicao for simples - principalmente se for algo ligado internet -, no preciso pensar muito: o MySQL uma escolha satisfatria, pois facilmenteencontrado em servios de hospedagem.

    Todavia, h situaes em que tanto o MySQL quanto o PostgreSQL sero boas escolhas.Nesses casos, recomendvel fazer testes com ambos e avaliar qual oferece mais vantagens aplicao.

    Finalizando

    Um banco de dados pode ser a diferena entre ter e no ter um negcio, seja ele de qualquerporte. Por isso, a escolha deve ser bem feita e aspectos como desempenho, recursos,documentao e suporte devem ser considerados. Em todos esses pontos o MySQL e oPostgreSQL so excelentes, por isso, a escolha entre um deles s depende de sua aplicao.

    Para saber mais sobre o PostgreSQL, visite: http://www.postgresql.org (em ingls) ehttp://www.postgresql.org.br.

    Para saber mais sobre o MySQL, visite: http://www.mysql.com (em ingls) ehttp://www.mysqlbrasil.com.br.

    http://www.postgresql.org/http://www.postgresql.org.br/http://www.postgresql.org.br/http://www.mysql.com/http://www.mysqlbrasil.com.br/http://www.postgresql.org/http://www.postgresql.org.br/http://www.mysql.com/http://www.mysqlbrasil.com.br/