Embedded SQL Databases?
kumquat asks: "We are creating a desktop version of a java web application that currently uses MySQL. What small footprint SQL databases would you recommend embedding into applications? I'm looking for: zero maintenance, small footprint, runs in multiple platforms (Windows, Unix, Linux). Low cost or free would be a bonus. Freshmeat turned up a couple of possibilities: hysqldb and Mckoi SQL."
I don't know much about embedded DBs. I do know that Borland (for whom I work) sells Interbase, mainly as an embedded database. I have it running on my Linux box, and its footprint and maintenance needs are both quite small. It's a full-featured multi-threaded relational DB. Open Source, of course!
Enhydra makes a database called
InstantDB which is small, embedable, and Java. It's cheap, but not free. It used to be Free, and if you look around, you can find copies of the Free version around still (I'm not sure if they're maintained anymore). In reality, though, I'm not sure why you wouldn't go with hsql, which is just as good, just as embedable, and Freer. Is there something wrong with hsql that is making you look elsewhere?
If it ain't broke, you need more software.
...or whatever the hell they're calling it now.
Also not free, but it does Windows, Windows CE, Linux, and they have an "Ultralight" version for embedding.
What's a sig?
It is not free, but it's not outrageously expensive either. I believe that it costs in the low hundreds of dollars.
There's always Berkely DB: It's not particularly full featured, but it's fast, reasonably robust, portable, and can maintain referential integrity (technically, if you reduce your relations to BCNF, they're all binary relations anyway).
Three Step Plan:
1. Take over the world.
2. Get a lot of cookies.
3. Eat the cookies.
Sounds like an interesting product. But what's this crap about "virtual tables"? They talk as if this were a groundbreaking feature. All relational databases have them. They're called "views".
Take a look at JDataStore from Borland. They claim it's inexpensive, and it's designed for exactly what you want.
look here
Good luck!
I've finally found the off by one erro
Have a look at tinySQL - it's open source (LGPL), and 100% Java. It is an extensible SQL engine that has a JDBC driver. It started out life as a quick hack, but it's improved significantly thanks to the contributions of others. The most recent version is usually available in CVS, but there is a fairly recent tarball and jar file up there.
Enjoy,
Brian
If you just need SQL for one app, take look at SQLite. It's not client-server db, but SQL provided on top of gdbm files.
http://www.equi4.com/metakit/
I'm using it in my learnbrl tutorial. It's not well documented, but easy to use from the examples.
well...its technically a driver but it allows you to run SQL statements on Excel spreadsheets, text files, CSV files and everything else. and its packaged with Java. check the com.sun.* classes..its fairlyu easy to connect it to a CSV file and use SQL on it.
and it doesnt have any size either since its part of the jdk.
http://developer.mimer.com
runs on Windows, Unix, Linux and VMS
Client/server. Multiuser.
Supports Embedded SQL, ODBC and JDBC
Advanced optimistic transaction control
High level of SQL standard conformance
Stored procedures
/per@mimer.se
For any questions, feel free to ask me
)9TSS