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

how to build hyperlink for query string in php -

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

queue - mq_receive: message too long -