i must select a database for any large desktop application. Which of the db is much better: Firebird, JavaDB, hsqldb ? I want perfomance and simple to use, and free of charge license.


If you are searching for an embeddable database, my recommendation could be H2 (means Hypersonic 2, (re)compiled by the writer of HSQLDB). Begin to see the detailed comparison of features as well as performances.

Utilizing a 100% Java database allows to operate it within the same process making things a great deal simpler IMO.

Allow me to recommend yourself on Postgres (http://www.postgresql.org/ ), which is among the best free software DB's I understand.

I'd an event with this particular DB during my previous project, by which we held ~20 tables within the schema, the biggest table had ~100,000 rows, and the quantity of total data wasn't that large.

This project is running in production for additional then 24 months, there were not any special issues with it.


I think you will be best by having an embeddable database with this. HSQLDB or H2 works, as would SQLite. SQLite is very popular outdoors the Java world (it's utilized by the Mozilla project, for example). I am unfamiliar with JavaDB, and so i can't talk to its abilities.

SQLite is proven to be pretty fast.

Firebird is excellent database specifically for desktop application

There's good java driver.

Is dependent on needs and data amount. My last choice was MySQL also it was very comfortable (swing application)

I'd get a DBMS that's not Java-specific. You might want to share your computer data having a C++ or .Internet application at some point. Whether it need not be client/server consider SQLite or H2. Whether it does then consider Postgres. Many of these have ODBC motorists and/or motorists for specific languages apart from Java.

The applying is split up into two (o maybe three) programs with various responsibilities, each of them will share the database.

And so i think a necessity a server db, no embedded one, holds true?