Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Lightweight SQL database which doesn't require installation [closed]

Could you recommend a lightweight SQL database which doesn't require installation on a client computer to work and could be accessed easily from .NET application? Only basic SQL capabilities are needed.

Now I am using Access database in simple projects and distribute .MDB and .EXE files together. Looking for any alternatives.

like image 250
Alexander Prokofyev Avatar asked Nov 07 '08 05:11

Alexander Prokofyev


People also ask

Which one is lightweight and open source database?

SQLite. For this relational open source database, the clue to the key selling point is in the name: SQLite is a tiny, lightweight library that offers a database engine.

What is the most lightweight database?

if you need the lightest-weight database i would say sqlite 3. it's purpose designed for this task, is small and fast, and in my experience is reliable and easy to use.

Is there an offline database?

[The good part] Theoretically, yes, you can do it. One example would be sqlite database. This database is a single file that you store wherever you want. If you're coding in PHP, you'll need to have the corresponding extension installed with your PHP to access/query this database.


1 Answers

Depends on what you mean by lightweight. Easy on Ram? Or lighter db file? Or lighter connector to connect to db? Or fewer files over all? I'll give a comparison of what I know:

                    no of files    cumulative size of files    db size  Firebird 2.5             5                6.82 MB               250 KB  SqlServerCe 4            7                2.08 MB               64 KB  Sqlite 3.7.11.0          1                0.83 MB               15 KB  VistaDb 4.3.3.34         1                1.04 MB               48 KB  no of files - includes the .net connector and excludes the db file 

The dbs are of 1 table with 2 columns and 2 rows. Take the db size with a pinch of salt as dbs could grow differently with further use. For instance SqlServerCe though initially was at 64 KB, it didn't grow at all after adding a few hundred records, while VistaDb grew easily from 48 to 72 to 140 KB. SQLite was the best in that regard which started from the lowest and grew linearly.

Few anecdotes: I had better performance using SqlServerCe with the factory settings which means its the easiest to get kick started without any configuration, while I found Firebird little bit harder to get it started due to lack of online materials. Firebird as I could read had widest standard sql compliance. While VistaDb is written in fully managed C# which means it can be merged with your application's assembly to have one single file, it seemed slowest to me. Of all, considering performance, ease and size I chose SQLite. SqlServerCe would be my second choice.

In short each has its pluses and minuses. Again, take my rant with a pinch of salt, its just my personal experience.

like image 169
nawfal Avatar answered Sep 21 '22 09:09

nawfal