terça-feira, 7 de fevereiro de 2012

Seis alternativas gratuitas ao MySQL

Não há duvidas de que o MySQL é, hoje, o banco de dados mais usado em todo mundo. O fato de ele ser gratuito, livre e rodar em um grande número de sistemas operacionais o faz ser a escolha número um quando o assunto é desenvolvimento de sistemas web. Facebook, Twitter e vários outros são apenas alguns dos grandes sites que usam o banco de dados aberto.


Porém, embora seja o mais popular, ele está longe de ser uma unaminidade. Vários desenvolvedores o consideram pesado e lento, ele é muito grande para aplicações simples e muitos temem que o mesmo seja subtamente descontinuado pela Oracle, que o adquiriu da Sun em 2009.


Para você não ficar na mão, preparamos essa lista com seis alternativas gratuitas - quatro delas livres - que você pode usar no seu próximo projeto. Além de poder melhorar a performance, você ganhará conhecimento e fluência em outra plataforma de armazenamento, valorizando seu currículo.




PostgreSQL


http://www.postgresql.org/about/


PostgreSQL é um poderoso sistema de banco de dados objeto-relacionao de código aberto. Ele tem mais de 15 anos de desenvolvimento ativo e uma comprovada arquitetura que ganhou uma forte reputação por confiabilidade, integridade de dados e correção. Roda na maioria dos sistemas operacionais atuais e suporta vários recursos como chaves estrangeiras, joins, views, triggers e stored procedures. Alguns desses recursos não são suportados pelo MySQL ou são suportados apenas se determinado motor estiver em uso. Está se tornando a principal alternativa ao MySQL, tanto que algumas empresas de hospedagem já o estão oferecendo em seus planos padrão.



SQLite


http://www.sqlite.org/


Diferentemente dos demais, o SQLite não é exatamente um sistema de banco de dados relacional mas um motor de banco de dados transacional contido em uma biblioteca que pode ser embutida em um aplicativo qualquer. Desta forma, o SQLite torna simples o gerenciamento de informações em programas desktop, pois não depende de um processo servidor e seus bancos de dados, que podem conter várias tabelas, índices, gatilhos e views, cabem em um único arquivo, o que substitui com perfeição a tradicional técnica de criar e der ler arquivos usando as instruções da linguagem C. Essa e outras características fazem com que ele esteja presente em vários aplicativos conhecidos, como Firefox, Photoshop, várias partes do OS X e também na linguagem Python.


Cabe salientar, no entanto, que devido à sua natureza o SQLite não é indicado para projetos sujeitos a um alto tráfico, como um site que receba milhares de visitas por dia. A maior parte dos seus limites pode ser configurada no aplicativo.



Firebird


http://www.firebirdsql.org/


O Firebird é um banco de dados relacional que é desenvolvido há mais de 20 anos. Sua origem é um pouco conturbada: a Borland, empresa líder de ferramentas de desenvolvimento nos anos 80 e 90, como Delphi e C++ Builder, possuía um banco de dados relacional chamado Interbase que ela havia herdado da compra da Ashton-Tate, criadora do dBase, em 1991. No início do ano 2000, a empresa anunciou que iria abrir o código-fonte do Interbase e começou as negociações para abrir uma nova empresa para gerenciar o código. No entanto, quando a empresa estava prestes a ser fundada, houve um desentendimento entre seus futuros diretores e a Borland, que achou melhor voltar atrás.


Desta forma, a Borland liberou o código-fonte do Interbase 6 sob uma variante da licença pública da Mozilla em meados de 2000 e, posteriormente, voltou a fechá-lo nas novas versões do sistema. Desse código liberado nasceu o Firebird que, hoje, além de ser aberto e gratuito, roda na maioria dos sistemas operacionais e tem suporte a stored procedures, triggers, integridade referencial, backups incrementais e uma comunidade fortemente ativa. Além disso, assim como o SQLite, ele pode ser embutido em aplicações, tornando-as mais poderosas.



MariaDB


http://mariadb.org/


Quando a Oracle adquiriu a Sun, houve uma onda de preocupações sobre o futuro do MySQL, o que levou o desenvolvedor original do SGDB, Michael "Monty" Widenius, a criar o MariaDB, que pretende oferecer um substituto à altura para seu irmão mais velho (o nome dos bancos de dados é baseado nos filhos do Monty).


De acordo com o site oficial, o MariaDB possui compatibilidade binária com o MySQL. A página afirma que, na maioria dos casos, basta desinstalar o MySQL e substituí-lo pelo MariaDB e o sistema continuará funcionando, pois não haverá a necessidade de se converter os arquivos de dados. Mas nem tudo são flores: a própria página cita que os dois sistemas são incompatíveis em certos pontos, a maioria relacionadas à detalhes de instruções SQL e às diferenças no código relativas aos nomes MariaDB e MySQL. Um ponto negativo é que sua comunidade é extremamente menor - ao menos por enquanto - do que a do MySQL.



Oracle Database 11g Express Edition


http://www.oracle.com/technetwork/database/express-edition/overview/index.html


Para quem quer ou precisa de algo além do MySQL mas não tem os milhares de reais exigidos para comprar a versão completa do Oracle, a empresa de Larry Ellison oferece essa versão gratuita, ideal para estudantes e sites pequenos. No entanto, ela apresenta limitações: é possível ter apenas um banco de dados por servidor, o qual poderá ter um tamanho máximo de 11GB. O sistema vai usar no máximo 1 GB de memória e apenas uma CPU, mesmo que o servidor tenha mais recursos.



IBM DB2 Express-C


http://www-01.ibm.com/software/data/db2/express/


A BigBlue oferece uma versão gratuita de seu banco de dados proprietário para download e uso. É ideal para estudantes e para quem precisa desenvolver uma aplicação de grande porte, como um sistema de vendas ou de ERP de uma grande empresa a nível nacional.


Diferentemente das versões gratuitas de outros bancos proprietários como Oracle e SQL Server, o DB2 Express-C pode gerenciar bancos de dados de qualquer tamanho. As únicas limitações impostas são que ele vai utilizar no máximo dois núcleos do processador instalado e, no máximo, 2GB de memória RAM, mesmo que o servidor tenha mais recursos.



Conclusão


A comunidade livre está bem servida de alternativas ao MySQL no quesito de bancos de dados relacionais. Há alternativas tanto para pequenos quanto para grandes projetos. O problema, no entanto, é a popularidade dos mesmos: atualmente, qualquer empresa de hospedagem, da mais fundo de quintal até a mais profissional e de primeiro nível oferece um plano com PHP e MySQL e é um pouco raro vermos companhias que ofereçam planos de hospedagem com outros bancos de dados - embora algumas já estejam tomando essas providências.


Considerando-se ainda que a maioria dos CMS atuais é feita para rodar sobre MySQL, querer usar outro banco de dados na web certamente implicará em ter de escrever seu sistema do zero e contratar um servidor dedicado ou virtual, que é muito mais caro do que um plano comum de hospedagem compartilhada. Mesmo assim, para aplicações desktop ou sistemas que vão rodar na intranet de empresas, opções é o que não faltam.

2 comentários:

  1. Parabéns pelo texto André :)

    O artigo dá uma boa resumida pra quem não conhece algumas das principais soluções de bancos de dados, mas gostaria de dar minha colaboração:

    Não acho que Oracle e DB2 deveriam estar na mesma lista que o Firebird, PostgreSQL, SQLite e MariaDB. Sinceramente acho uma péssima escolha alguem desenvolver alguma coisa com DB2 Express ou Oracle Express, ou até mesmo o SQL Server Express (que não está na lista) quando se tem alternativas livres e gratuitas como o PostgreSQL.

    Entenda que não estou criticando as versões "oficiais" desses bancos. Cada um escolhe o que acha melhor. Estou criticando as versões Express, principalmente porque se aumentarem muito as requisições e tamanho da sua base, invariavelmente você vai ter que comprar a licença. A menos que você já esteja preparado pra desembolsar alguns ou vários milhares de reais. Versões do Oracle chegam a custar centenas de milhares de reais, dependendo da necessidade;

    Outro ponto que gostaria de ressaltar é que, para hospedagens compartilhadas já existem muitos hosts (baratos) que trabalham com postgresql. Então o PostgreSQL pode ser sim uma opção.

    ResponderExcluir
  2. De fato, não precisamos dessas opções proprietárias com tantas outras livres disponíveis por aí, mas sou da opinião de que devemos mostrar todas as opções disponíveis aos interessados para que eles escolham o que é melhor para si. Assim, se algum dia o DB2 ou o Oracle servirem a alguém, pelo menos teremos feito nossa parte.

    E, realmente, o Postgres tem tudo para tomar o lugar do MySQL. A kinghost é uma das empresas que oferece um plano com esse banco. Só faltaria, agora, um maior comprometimento por parte dos desenvolvedores de CMS.

    ResponderExcluir