FIREBIRD x MYSQL (Escolham suas armas !)

Ai galera blz …

To aqui para descutir um assunto de alta importancia, estou desenvolvendo um Sistema bastante complexo usando somente ferramenats FREE inclusive o SGBD, comecei com MySQL mais senti falta de muitas features que a versao stable não possui, então migrei para o FireBIRD que tem pouquissima pra não dizer nenhuma documentação, não adianta mandar ler a documentação do INTERBASE :cry: , mais tem tudo que se precisa de um SGBD, a nova versão do MySQL tem muitas das funcionalidades que eu preciso. Mais quem encara uma versão não stable para um sitema de medio porte :shock: , então sabios amigos da familia GUJ me ajudem nesse dilema, se usarem outro SGBD que possa ser melhor fiquem avontade … MYSQL ou FIREBIRD eis a questão !!!

PARA QUE JANELAS SE POSSO VIVER SEM PAREDES !!!
SEJA LIVRE USE LINUX !!!

Resposta curta: Use postgresql.

Resposta longa.
A versao final do mysql 4 esta para sair, porem nao tem algumas coisas consideradas importantes como relacionamento fisico, trigger ou subselects. Porem, mysql eh extremamente rapido e escalavel.

Firebird, por ser baseado no sourcecode do interbase, tem fama de ser bom ( e de fato eh ), porem os desenvolvedores sao uns idiotas, a documentacao eh meio ruim e ha muito menos gente que mexe com ele, o que significa menos fonte de ajuda.

Postgresql existe desde 1986, sendo bastante robosto e com suporte a muita coisa. Nao eh tao rapido qto mysql ( bom, isso gera mta briga… o fato eh que cada um tem seu ponto fraco e ponto forte ).

Eu gosto de trabalhar com mysql, porem postgres eh uma excelente pedida.

Rafael

DEUS SEJA LOUVADO!

Concordo com o Rafael Steil.

Se não pode usar o MySQL, então use o PostgreSQL.
O Postgre em minha humilde opinião é mais lento que o mySQL porém mais robusto. Aí depende realmente do gosto do desenvolvedor que vai utilizar.

Acho que todos nós temos alguma simpatia pelo mySQL, mesmo aqueles que não gostam muito dele (eu, por exemplo… :mrgreen: )
O mySQL vc já sabe - ótimo para sistemas que exigem um maior número de consultas do que atualizações. Mesmo que a versão mais recente prometa transações, é duro acreditar em funcionalidades 1.0…
Se o seu sistema é mesmo de grande porte, então o melhor é usar um banco adequado a sua dimensão e operações - aí o PostgreSQL ganha do mySQL. Transações, Stored Procedures, são recursos que sempre estiveram lá, e têm sido aprimorados a cada versão.
Resumindo, vc deve analisar as necessidades do seu sistema e depois decidir pelo banco de dados mais adequado.
Eu sempre gostei do Interbase (venho do mundo Delphi) e do projeto Firebird, mas o que o Rafael falou é, infelizmente, uma verdade… :cry: Mas programadores burros não seria exagero???.. :smiley:

Bom galera eu ja usei tudo quanto SGBD que vcs imagine desde ACCESS ate ORACLE, vi que o MySQL e otimo para consulta e rapido, mais não e escalavel e etc … etc … bom vi tb a possibilidade de usar o postgreSQL mais fiquei numa duvida meio cruel, etou usando softwares 100% FREE e pelo que vi, se não for ignorancia minha que a versão for Windows do PostgreSQL e paga ? ou disse bobagem ? olhei ate o prevware (Esqueci como se escreve) preciso de SGBD Free que rode em Windows e Linux e em quantas plataformas mais melhor … ja que isso que me fez migrar para JAVA senão tinha ficado no meu amado C++, que e uma bola meio fora para aplicações GUI multiplataforma, mesmo usando o QT. mais galera e isso ai. estou colhendo informações pq depois do sistema implementado mudar de SGBD e loucura !!! :roll:

VALEW …

faz o seguinte, utilize uma biblioteca para persistencia de objetos destas que trabalham com quase todos os bancos de dados :slight_smile:
ai ta resolvido o teu problema, e tu não perde tempo com SQL, ou então coloca um JBOss da vida no teu projeto e trabalha com CMP :slight_smile:

bom, quanto a pergunta,
eu gosto bastante do firebird, antes dele existir, trabalhei bastante tempo com o Interbase
é um banco de dados muito bom, e tem alguns recursos a mais que o PostGRE não tem, como por exemplo, tem triggers before e after insert, delete e update
e gosto mais da linguagens de triggers e procedures dele do que a do postgre (que IMHO parece engembração, ter que criar uma função para depois fazer um bind dela com um evento)
bom, ja converti alguns usuários do postgre para o firebird :slight_smile: pena que não estou com tempo para fazer o mesmo agora :slight_smile:

mas é aquele negocio, nenhum SGBD é perfeito, todos tem pontos fortes e pontos fracos :slight_smile:
ai vai de você avaliar o que melhor se encaixa no seu projeto

e acho que também conta muito, qual você conhece melhor, pois assim vai conseguir aproveitar melhor seus recursos :slight_smile:

1 curtida

Blz … vc trabalha com o FireBird, qual framework vc usa ? tem como vc me mostrar um exemplo, pois tentei usar o CASTOR mais simplismente nao consegui achar o Driver do FireBird embutido nele .

falow

FIREBIRD é a maior bost@. Não é nem banco de dados, mas sim um tamburete. Interbase também é uma merda. Fique longe deles se for trabalhar com Java. Eu tive que falar com os próprios desenvolvedores do FB para ver se conseguia ordenar legal palavras com acentos.
Tem um tal de character sets e collation, mas se você mudar isso, zoa tudo, nada funciona. Os próprios desenvolvedores não puderam ajudar. Use PostgreSQL.

Mais PostgreeSQL e pago não ? sua versão for Windows e gratuita ? e vero ou estou dizendo besteira ? como funciona a licensa do PostgreSQL

falow

O postgres eh Open Source. Utiliza a licensa BSD.

http://www.postgresql.org/

Rafael

Mais uma verão para Windows ? Onde eu acho ? …

hm… versao pra Windows totalmente suportada so conheco da DBExperts, que eh paga. Teve uns malucos que portaram o pg pra Windows:

http://hp.vector.co.jp/authors/VA023283/PostgreSQLe.html

Rafael

driver para o firebird
http://telia.dl.sourceforge.net/sourceforge/firebird/FirebirdSQL-1.0_beta_1.zip
aqui não tive problemas, só que tem que criar o banco com default char set=utf-8 que é só o que o java sabe utilizar (no caso o problema não é exatamente nem com o FB e sim com o Java que só utiliza UTF-8 para trabalhar com JDBC :slight_smile:

postgresql para windows, tem este ai, tem um que roda no cygwin e não tenho certeza se tem um que roda no windows no proprio site do postgrsql :slight_smile:

E um gerenciador legal para o FireBird alguem conhece para por exemplo criar o banco de dados com suporte ao UTF-8 do JDBC ? e o Castor suporta FireBird senão qual suporta?

falow

o castor suporta Firebird sim (esta listado como interbase, mas ainda é a mesma coisa, os dois são 100% compativeis )

http://castor.exolab.org/castor-one.html

Voce tem um exemplo de acesso ao firebird atraves do castor ou outro framework ?

valew a atenção.

t+

posso te passar isto amanha :slight_smile:

Pode …

falow !!!

Como fasso para criar o banco de dados com tipo de caracter suportado pelo JDBC eu estou usando marathon ele me da uma serie de tipos de caracteres para eu criar meu BD qual usar ?

e ai galera! Precisamos definir um senso comum. Vou definir, e vocês votam, apoiando ou divergindo.
Do ponto de vista free. só vale se for 100% gratuito.
PostgreeSQL é ótimo, mas é mais lento que o FireBird. E sua versão for Windows é paga.
FireBird é mais rápido do que o PostgreeSQL, mais não tem a escabilidade do PostgreeSQL.
MySQL não tem a velocidade do FireBird, e nem a escabilidade do PostgreeSQL, mas é o mais popular, com mais fontes de ajuda. Ai fica uma questão. Será que o segundo banco de dados mais usado no mundo é pior que o FireBird e o PostgreeSQL.?
Alguém já ouviu que o “Ótimo” é inimigo do “Bom”. O meu foco é o mesmo do “anjomal” código-fonte e BD 100% free.
Quero o melhor, mas não posso comprometer o meu desenvolvimento por problemas misteriosos, e o FireBird tem destas. E neguem tem tempo a perder. A lentidão do PostgreeSQL pode comprometer sua aplicação.
Então, em defesa de um sistema rápido de desenvolver, porque tem mais fontes de ajuda e que não vai decepcionar a um médio prazo, acredito no MySQL. É bom. e quando for a hora certa, agente procura o ótimo.
Espero que todos concordem, ou discutam.