3

Anyone know of a commercially available file based storage system that meets the following requirements:

Should not require installation Should provide APIs to read and write onto the storage system, preferably .net APIs Paid/Free (either way it should be supported) Should be fast and efficient

Basically I am looking for something with database like functionality with the least footprint.

bobbyalex
  • 2,681
  • 3
  • 30
  • 51

3 Answers3

4

Take a look at Sqlite. It has become the standard solution for a file based database solution - it's even built in to the iPhone, Firefox and many other high profile software/devices.

My Google-fu gave me this simple tutorial of using Sqlite with .net: sqlite-on-dotnet-in-3-mins

slebetman
  • 109,858
  • 19
  • 140
  • 171
  • see also http://stackoverflow.com/questions/93654/is-there-a-net-c-wrapper-for-sqlite – msw Sep 04 '10 at 12:41
1

Try MongoDB it's a file based document database. Installing it is done by copying it's files and it has a C# driver to read/write data from it.

Dror Helper
  • 30,292
  • 15
  • 80
  • 129
0

Here are some thoughts about your question.

  1. The "file based storage system" means "data base" in this context.

  2. Some comments by requirements.

2.1. The first requirement "Should not require installation" means "Embedded database".

2.2. The second requirement "Should provide APIs to read and write ..." is natural for all databases. They all have such API.

2.3. The third requirement "Should be fast and efficient" is a really interesting thing. Here is one of the links by this issue with a lot of useful information Comparison of relational database management systems.

  1. And, finally if you are looking for "something with database like functionality with the least footprint" the basic choice will be SQLite.

It is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine. There is no set up procedure to initialize it before using it. Databases need minimal or no administration. There is no need to maintain a separate server process dedicated to SQLite. It stores an entire database in a single, ordinary native file that can reside anywhere in a directory of the native file system. Any user who has a permission to read the file can read anything from the database.

Andrii
  • 2,843
  • 27
  • 33