Fog Creek Software
Discussion Board




embeddable open source SQL DB

Hi,
I have a homegrown web-intranet system that I deploy with good success to very small non-profit organizations (0-20 people). It runs on top of postgreSQL. PostgreSQL is great but I am trying to make this project more shrink-wrapped and am looking for an open source equivalent of the jet library used on NT, so that I can more easily distribute the DBMS with the app.

I've had good luck using hsqldb when I'm developing java apps.
I'm looking for something similar, but not written in java.

Can anyone recommend an open source embeddable SQL database engine? Thanks!

clamsteak
Friday, January 10, 2003

http://www.sqlite.org/

Tony E
Friday, January 10, 2003

I'll second SQLite. Damn good library, fast as hell, and the mailing list support is great.

Mike Swieton
Friday, January 10, 2003

http://www.ibphoenix.com/

Never used this open-source version, but Borland's version of Interbase was not bad at all.

Scott Stonehouse
Friday, January 10, 2003

As for SQLight, if someone has the Declares necessary to work with that DLL from Visual Basic or PowerBasic... I'm interested :-) Thx

Frederic Faure
Friday, January 10, 2003

Firebird is great, and the Firebird docs do talk about "embedding" it.  But when Firebird people talk about embedding they're really just talking about packaging the db files in the same install file as the rest of the app, as far as I can tell. 

Firebird definitely is not embeddable in the true sense of being compiled into the executable. 

Herbert Sitz
Friday, January 10, 2003

Frederic:

Check out this link for the VB stuff related to SQLite.
http://www.ag-software.com/SQLite/default.asp

You can probably also search their mailing list archive at Yahoo Groups.

Jonathan A.
Friday, January 10, 2003

A friend of mine didn't like using the windows registry on his applications (think big, should be ultra-user friendly, and never stop working).  So he bundled MySQL with it.  Works like a charm, he says.  All its doing is storing config info and probably some state.  He couldn't tell me any more, NDA, etc. :-)

So, MySQL might be a bit big, but it would probably work as well.

Andrew Hurst
Friday, January 10, 2003

http://www.sleepycat.com/

Welcome to Sleepycat Software, the home of the Open Source embedded database system Berkeley DB!

Berkeley DB is a programmatic toolkit that provides fast, reliable, scalable, and mission-critical database support to software developers.

Berkeley DB provides data management services for some of the most demanding high-end server applications in the world. Vendors of industry-leading messaging, directory, billing and provisioning servers as well as the biggest portal, ASP and commerce sites on the Internet rely on Berkeley DB. Berkeley DB's high performance and scalability support thousands of simultaneous users working on databases as large as 256 terabytes.

At the same time, Berkeley DB's small footprint, in-process execution model, simple function-call API and low administrative overhead make it ideal for use in embedded systems. Vendors of telecommunications switches, routers and wired and wireless network gateways choose Berkeley DB to manage critical information in their products. Berkeley DB runs reliably 24 hours a day, 7 days a week in unattended systems, with no database or system administrator to oversee it.

Berkeley DB includes a wide variety of APIs, including C, C++, Java, Tcl, Perl, and Python. Berkeley DB runs on a wide variety of systems, including most UNIX or UNIX-like systems, Embedix, QNX, VxWorks, Windows 95/98/NT/2000/XP, and MacOS X.

Just me (Sir to you)
Friday, January 10, 2003

SQL Lite seems to rock, after checking it out for  < 1 hour. it is exactly what I need. thanks! 

clamsteak
Friday, January 10, 2003

Berkeley DB is NOT a SQL Database! It's not even a relational database.

It's a fast persistant hash table.

Chris Tavares
Friday, January 10, 2003

Also, Sleepy Cat is asking to contact them to talk about the price if Berkely DB is intended to be used in commercial software.

Passater
Friday, January 10, 2003

Oops, missed out on the SQL requirement. Sorry.

As for the licence, it is free if you distribute the source to your product:

"The open source license for Berkeley DB permits you to use the software at no charge under the condition that if you use Berkeley DB in an application you redistribute, the complete source code for your application must be available and freely redistributable under reasonable conditions."

For the record: I have never used this product myself.

Just me (Sir to you)
Monday, January 13, 2003

actually I have used berkeley DB, and was looking for something like SQLite. thanks for the pointer, it seems to be what I need for the time being!  (we'll see what happens when people actually start using my software)

clamsteak
Monday, January 13, 2003

There is a C++ API to MySQL available. I've never used it before, but I know its there, and the documentation is pretty decent.

Benji Smith
Monday, January 13, 2003

There is also the XBase approach.  I've used both the C++ XBase lib and the tinySQL jdbc driver to accesss .DBF files and it works quite well.

Adam Young
Tuesday, January 14, 2003

*  Recent Topics

*  Fog Creek Home