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
Post a Comment