HSQLDB ou Derby:
Se é desktop prefiro esses
Quem fala mal do Firebird nao utilizou ele depois da 2.0… mudou da agua para o vinho.
Trabalhei um bom tempo com PostgreSQL e MySQL, os dois são ótimos, mas sou muito mais o PostgreSQL, sem dúvida nenhuma.
Em muitos anos de desenvolvimento, o HSQLDB atende quase tudo que eu preciso para Desktop.Agora mesmo estou fazendo um cuja a base final será Oracle, mas cujo protótipo eu uso o HSQLDB.É uma grande vantagem quando tudo que o cliente precisa ter instalado na máquina é a JRE.Pelo menos enquanto estiver na fase de protótipo, que em alguns trabalhos, dura mais de um ano.
Para coisas maiores e apps web em geral, uso o MySQL e nunca tive maiores problemas.
Infelizmente, o HSQLDB tem bugs escabrosos, como por exemplo a não validação do tamanho dos dados. Você define uma coluna como CHAR(2) e consegue inserir “batataumtuberculo” na coluna sem problema. Mesmo habilitando a validação (que por default vem desabilitada), NÃO FUNCIONA.
Introduziram esse bug na versão 2 e ainda está lá no release mais recente. Me parece que o HSQLDB está meio largado na mão de um desenvolvedor e óbvio que esse cara não tem como dar conta do projeto.
Eu usei muito o HSQLDB, mas hoje recomendaria o H2 em seu lugar. Feito pelo mesmo criador do HSQLDB e conta com um modo de emulação de outros bancos, permitindo que você utilize as sintaxes “peculiares” do DB2, Oracle, etc.