database - .NET - A fast lightweight persistent key-value storage -


i'm looking persistent key-value storage .net. requirements are:

  • storage used objects identified strings , have several optional (named) properties values byte arrays. sql solution model 1 string -> id table, , several id -> blob tables.
  • the expected amount of data several megabytes (more 10 mb unlikely, scaling 100 mb nice bonus)
  • lightweight - preferably single-assembly, without external applications
  • reads more frequent writes, @ least factor of 100.
  • fast read/write access - expect in-memory storage , lazy writes on updates data; can periodically spawn async writes myself, bonus points if storage it.
  • atomic i/o - database should not break if process terminated in middle of writing; otherwise data not critical, i.e. no additional redundancy needed.

currently think sqlite work here; seems slight overkill - need key-value storage, not full sql support. i've heard of bdb, , of libdb-dotnet binding - seems more lightweight, don't know performance/consistency characteristics.

can recommend here? additional references welcome (i.e. awesome if there's in .net framework can job), experiences sqlite or libdb-dotnet (or bdb in general) or home-grown solution, if painless.

perhaps have @ http://ravendb.net/. stores json documents in key-value storage, great .net object support.

from explanation of needs, utilizing it's managed storage engine, "raven.munin", single assembly.


Comments

Popular posts from this blog

php - What is the difference between $_SERVER['PATH_INFO'] and $_SERVER['ORIG_PATH_INFO']? -

fortran - Function return type mismatch -

queue - mq_receive: message too long -