Fog Creek Software
Discussion Board

McKoi vs HSQLDB vs ...

I have been vaguely aware of McKoi as a DBMS implemented in Java, but I didn't realise that it is open source until I went to the website ( ). I'd always thought the HSQLDB was more or less alone in that field (open source, embedable DBMSes written in Java).

Anyway, I also noticed that McKoi supports some SQL features that HSQLDB doesn't (specifically CREATE SEQUENCE, and the list of SQL commands supported appeared longer).

In both cases, these platforms claim to support transactions and can be packaged as a .jar, which could make distribution and installation very easy (e.g. I write an app for sales guy to demo on his laptop, I can give him a single .war file and assuming he has a functioning Tomcat/whatever instance running that's it; or I have to upload to a web server, again, just upload the .war).

Anyway, I'm interested in your experiences with McKoi, HSQLDB or similar DBMSes. How well does the situation I described work in practice? How well do they support transactions? etc.

Walter Rumsby
Wednesday, November 12, 2003


Hibernate supports McKoi - that's a good sign.

Walter Rumsby
Wednesday, November 12, 2003

Me and some friends are currently tacking together our first product [an attempt to avoid working for BigEvilCorpInc.]  We are having difficulty balancing "enterprise" functionality (connect to big database), versus "out-of-the-box" ease-of-use (keep everything within files or Java DB).

At the moment we are using a mixture of files and HSQLDB - basically to avoid hitting the 2GB limit on HSQLDB + uncertainties about handling blobs.  Our experience with HSQLDB has been that it is very easy to set-up and get running with.  However the 2GB limit is a pain :-(  On the whole it's certainly a good option for developers, but uncertain how it would perform in production.

McKoi (which we have not used) seems to have more feature than HSQLDB, including a very intriguing SQL-bypassing direct API.  It's also able to address large amounts of blob data (about 10GB).  It looks good, but I there doesn't seem to be any large visable success stories for it.  (Although, obviously I might just not have looked hard enough:-) )

If anyone has had experience using McKoi to store filesystem-like structures, it would be very interesting to hear about it.

A N Other Student
Thursday, November 13, 2003

I can't remember for sure (and can't be bothered to check - aren't I helpful!?!), but isn't McKoi licensed under the GPL whereas HSQL under Apache or Mozilla or something?  So it makes quite a difference if you plan to embed and commercialise it. 

Friday, November 14, 2003

Yes, they do have different licenses. My plan is only to provide an installer for a sales guy to do a demo on his laptop - definitely not to provide a for sale release relying on McKoi.

Revisiting the whole MySQL/GPL license discussion I believe that such use is acceptable - i.e. I'm not relying on McKoi to run the product, but because McKoi supports the same syntax as PostgreSQL and Oracle (at least for my purposes), then it's much more trivial to plug-in McKoi as the embeddable database.

Walter Rumsby
Friday, November 14, 2003

*  Recent Topics

*  Fog Creek Home