====== Embedded databases ====== For quite some time I have been looking for an embedded database I could use with the confidence that it was the best choice. My usual choice so far has been SQLite, but mostly out of convenience and I haven't done any proper research of options. This article is not meant as an exhaustive comparison or general recommendation, but to inform about various qualities or problems of these options. I will add new information as I find it, but I will likely eliminate some options early on. When it comes to applications that use database, I usually hack simple tools in PHP and complex or computation intense in C#/ASP.NET. Additionally I need a somewhat comfortable tool for manual changes and debugging. I usually combine relational databases with NHibernate (or Dapper) for C# and use dibi for PHP. I used Subsonic for one project, which eventually turned out to be inefficient and impractical. Entity Framework has significantly evolved in the past year, so I haven't tried the current version yet. ===== SQLite (3.7.7.1 and 3.8.6) ===== ===== Firebird Embedded (2.5.3) ===== ===== SQL Server Compact (4.0) ===== ===== VistaDB (5) ===== ===== Siaqodb ===== Recommended on StackOverflow, but not impressive. The examples look poorly written and I didn't find any appropriate tools. ===== NDatabase ===== Object database, limited to .NET (no PHP). No good tool that I know of. ===== Db4o ===== Object database, no PHP (supported is .NET and JVM). Has a nice tool, but is somewhat Java-centric and requires different approach than relational databases. ===== VelocityDB ===== Object database, limited to .NET (no PHP). No good tool that I know of. Has lazy-loading (not for POCOs), which is kind of useful for ad-hoc manipulation.