views:

695

answers:

5

I am thinking about using SQLite

It is a self-contained, server less, zero-configuration, transactional SQL database engine and is open source.

Will I gain anything by using Blackfish instead of SQLight ?

+4  A: 

Use SQLite.

Much smaller, less overhead, no licensing issues etc.

Laslty, only you can decide which one will do everything you need a db system to do. Which one has all of the features you need to support?

John

+8  A: 

Why not Firebird?

http://www.firebirdsql.org

http://www.firebirdfaq.org

"...Firebird is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms. Firebird offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers. It has been used in production systems, under a variety of names, since 1981...."

RRUZ
Firebird in 2 minutes http://www.firebirdnews.org/docs/fb2min.html
Hugues Van Landeghem
+1. You should add the price tag to your answer, to make it more obvious how this is probably a much better proposition than Blackfish.
mghie
But can you start second instance using FB embedded?
dmajkic
@dmajkic: I would not use FB embedded anyway, even if you limit the application to one instance it wouldn't play well with fast user switching or Terminal Server. It's a valid concern.
mghie
+3  A: 

I will vote for Sqlite first, because it's compact, lite and fast, but depend on your application you may go with other choices like Firebird or PostgreSql.

for example Sqlite has limitation to one writer at the same time, it may not be problem for most of desktop applications that used by one user, but it will not scale for more uses in future.

you can go with FireBird embedded as solution which will be act like Sqlite, then move to firebird server when you need more users.

In other side BlackFish database, will force you to install .Net framework on your client's machines, which is something isn't good IMO, specially if you need to distribute your application on Internet, beside it will require license when it scale for more than developer edition.

Mohammed Nasman
+6  A: 

Stick with FOSS (Free Open Source Software).

Both SQLite and Firebird are excellent choices. Both fill your requirements. Both are very reliable, zero-configuration and support transactions.

Without knowing enough about your intended use, Firebird would be my first choice because it makes possible to migrate to a Client Server deployment with close to zero effort and it has a very robust set of features. It is all about the options.

IMHO Blackfish is not a god choice - "Blackfish SQL runs on both the .NET framework and on the Java platform." - enough said.

Alan Fletcher
+2  A: 

Another thing to consider is how are you going to access your data. If you are using DBX4 for instance, it is very easy to change what database you are looking at. In which case I would suggest trying both (plus any others that people highly recommend you try). On the other hand if you are using the the Interbase or ADO data access components then your ability to change is somewhat more limited.

Alister