Nitin Gupta <[EMAIL PROTECTED]> writes: > > I am developing a java based desktop application which is > required to work across platforms. As I am new to embedded databases, I am confused > about which database should I go with. I have come across following choices: > > > > - Derby > - HSQLDB > - H2 >
Hi Nitin, As I haven't used H2 I cannot offer any advise regarding that DB, but I have used both HSQLDB and Derby. Both databases are pretty straight-forward to start using. I started using HSQLDB for my application, but I grow tired of it and switched to Derby. My experience with the two is, that HSQLDB offers too limited functionality and just feels wrong to use for big databases - many of the things are difficult to put a finger on, but you just feel limited when using it. One of the things is however the way data are stored on the disc, one text-file containing the SQL commands to create a whole database just feels wrong. Start-up time can be a problem with big databases. HSQLDB however also offers to store tables as binary data, that is definitely something to consider when storing big BLOB/CLOBs. Using Derby just felt much better :-) It offers most of the functions you would like to have, but sometimes it would be nice if it offered more of the commands from MySQL :-) For small projects HSQLDB is great, its GUI for database administration is pretty good and is easier to start using compared with ij from Derby. But if you for example use the built-in database tool in NetBeans, then there is no need for ij or the GUI from HSQLDB. I hope my experiences with the two systems helped you decide - Ture
