Hello, I am searching for a database as many other people are as well in
this newsgroup it seems. I have a free open source project that is
programmed in Visual Basic 6 and it uses MS Access .mdb database via
ADO. It seems that now it's time to switch to some other programming
language (java) and database system, partly because I want to make it
multi-platform (win32+Linux).
My requirements are:
* Must have good SQL support (sub-queries etc)
* Must be robust
* Must be free, preferably open-source
* Preferably embeddable
* Database engine development should continue
I have looked at the following products:
* PostgreSQL
http://advocacy.postgresql.org/advantages/
+ best feature set?
- does not have native Win32 version yet, not embeddable
* HSQLDB
http://hsqldb.sourceforge.net/web/hsqlFeatures.html
+ free, open source, pure java
- not really a robust database system, instead
saves actual SQL statements into files
* MySQL
http://www.mysql.com/products/mysql/index.html
? need more information, problems with license?
* Firebird
http://www.firebirdsql.org/index.php?op=guide&id=ib6_overview
+ free, open source, embeddable?
I am an experienced database developer and I will probably end up
developing the actual database engine.
Any advice is most welcome!
Harri
Christophe Vanfleteren - 25 Mar 2004 09:10 GMT
> * HSQLDB
> http://hsqldb.sourceforge.net/web/hsqlFeatures.html
> + free, open source, pure java
> - not really a robust database system, instead
> saves actual SQL statements into files
That is not exactly true, it is only one of the possibilities with HSQLDB.
You can also create "normal" tables (you need to use cached tables to get
this).
And as of version 1.7.2 (not out yet, but they are at RC4), HSQLDB can use
NIO for the files (they are now memory-mapped), which also leads to quite a
speedup.
As for embedding, I'm convinced you'll find that this is the easiest with a
pure java DB like HSQL.

Signature
Kind regards,
Christophe Vanfleteren
Mladen Adamovic - 25 Mar 2004 14:11 GMT
I used HSQLDB and I noticed it is slow and little buggy for some databases
(I didn't try that new RC4 mentioned).
MySQL is AFAIK not fully SQL2 compliant (bad SQL support). Maybe with MySQL
MAX it is not the case
I used it and noticed that it is very fast (expecialy old 3.33 version, new
4.x are much slower than that one).
Postgre should be good old one, but a bit slow.
But actually I don't have enough expirience with it.
You want to use it with Windows but I think Unix is more popular OS for DB
products.
What others think?
> My requirements are:
> * Must have good SQL support (sub-queries etc)
[quoted text clipped - 13 lines]
> - not really a robust database system, instead
> saves actual SQL statements into files
> * MySQL
> http://www.mysql.com/products/mysql/index.html
> ? need more information, problems with license?
> * Firebird
> http://www.firebirdsql.org/index.php?op=guide&id=ib6_overview
> + free, open source, embeddable?
Harald Fuchs - 25 Mar 2004 16:47 GMT
> MySQL is AFAIK not fully SQL2 compliant (bad SQL support). Maybe with MySQL
> MAX it is not the case
No. The stable version of MySQL has neither subselects nor stored procedures.
> Postgre should be good old one, but a bit slow.
The default configuration of PostgreSQL is tuned for a very small
machine. Changing it gives good speedups.
Axel Hallez - 25 Mar 2004 16:21 GMT
Hello Harri,
I would advise you to have a look at McKoi.
It runs both in embedded and client/server mode, it's open source and under
continued development.
It supports SQL, but I'm not sure if it is mature enough to meet your
requirements.
Hope this helps,
Axel Hallez
Harri Pesonen - 31 Mar 2004 20:26 GMT
> Hello Harri,
>
[quoted text clipped - 6 lines]
> Hope this helps,
> Axel Hallez
Thanks for your suggestion! Currently I am looking at Firebird, but I
will download and check McKoi as well. A pure Java solution sounds
great, but It seems that Firebird has everything I need, and it has been
around for a while, and is quite feature complete.
Harri
Marco Parmeggiani - 25 Mar 2004 17:52 GMT
In data Thu, 25 Mar 2004 04:30:30 +0200, Harri Pesonen ha scritto:
> * Firebird
> http://www.firebirdsql.org/index.php?op=guide&id=ib6_overview
> + free, open source, embeddable?
Embeddable starting from version 1.5 through a JNI layer but using the same
JDBC driver, only the connection string changes. Java driver is, normally,
promptly updated in case of bug finding (at least the version available via
CVS) and has a good mailing list.
ciao