I was in lookout today for a small footprint / compact / embedded database engines suitable for .NET applications (mainly web) and found the following candidates. This is just a list compiled from the Internet.

  1. Microsoft Access (JET Engine) – Very Popular from Windows 3.1 days due to the fact it is out-of-box in most versions of Windows OS.
  2. Microsoft SQL Server 2005 Express – The plus here is that it is easy to upgrade to full-fledged SQL Server as Express edition uses the same file format and is binary compatible. Also ships with a free management tool “SQL Server Management Studio”
  3. Microsoft SQL Server 3.5 Compact – Can be embedded easily with less than 2MB in distribution size. Works with Windows Mobile as well.
  4. SQLite – A free / no license extremely lightweight Database engine which is less than 250KB in distribution size. There is no server process that needs to be started, stopped, or configured here. A detailed article here.
  5. VistaDB – Quite popular, 3rd party, commercial Database Engine that can be easily embedded. Written in NET Managed Code.

In the above list, other than VistaDB all the other are free (as in free beer) to deploy/distribute.