views:

893

answers:

5

Hi ,

i wanna write a small (5-6 table) desktop app in java.I wanna use Firebird 2.1. database.But i googled and see HSQLDB.I wanna make a decision between firebird and hsqldb :)

So which database i have to use ?

+1  A: 

Don't forget that Java 6 comes with JavaDB, and that may be a useful implementation for a first solution. It's a repackaged Apache Derby, and consequently quite powerful.

Brian Agnew
It is optional in the installation.
David Rabinowitz
+6  A: 

Firebird runs in a process of its own and your java app needs to communicate with it. The advantage HSQLDB has that it is written in java, and can run in the same process, which simplifies your installation and runtime check ups (Is the db running, connection errors, etc.). It can persist the data to the disk as well. AN additional option is the H2 database db, which also can run in process.

I'd go with the HSQLDB or H2.

David Rabinowitz
I think H2 is the successor to HSQLDB, original author's second pure java database ... appears to have way more features
basszero
Firebird Embedded runs in the same process too. With the advantage that if you need to scale the database later you can simply move it to a server.
Douglas Tosi
Can Firebird Embedded run embedded in a Java application so that it runs in the java.exe process? AFAIK this is not the case.
mjustin
@mjustin - no, it is run in a separate process
David Rabinowitz
+3  A: 

For a desktop application an embedded database should be enough. hsqldb or h2 are very well suited for this. You just have to add the JAR file to you applications classpath. Firebird looks more complex.

Actually, H2 is more advanced than hsqldb.

A: 

Assalamu alaikom,

I recomend HSQLDB because it's implemented in Java (so you have the same platform as the application) and I guess that you don't need any of the feature for the project of that size that could FireBird provide.

Senad Uka
A: 

Firebird is very good embedded database and just win an award at SouceForge this year

SQLite have good press for embedded Database too.

Hugues Van Landeghem