Question

I want to use Inmemory database for an application to be developed in DotNet. The category of Inmemory DB is (Key Value/Tuple Store) I did some googling but couldn't come to any conclusion I read about Memcached - Key Value/Tuple Store but since MSoft doesn't use this I was little worried.

I would request if anyone has used Inmemory in their dotnet application, please do share their experince and suggestion with the best Inmemory DB and any sample application/link to use Inmemory database woule be of great help.

Was it helpful?

Solution

There are purely C# based in memory database, such as NMemory,

http://nmemory.codeplex.com/

There are also C# wrappers that enable Memcached for C#,

http://www.codeproject.com/Articles/96698/Implementing-Distributed-Caching-using-Memcached

http://www.deanhume.com/Home/BlogPost/memcached-for-c----a-walkthrough/62

Is there a port of memcache to .Net?

Therefore, there are indeed lots of approaches available, but why couldn't you search, investigate and evaluate to find the one that best matches your scenarios? No one else can help you much, as their environment/requirements are different from yours.

OTHER TIPS

Do you need durability or are you looking for a short term "cache" more than a long-term persistent storage? It would be interesting to get a little bit more information about what kind of information the application is supposed to store in the database. Depending on the usage of the stored information it is easier to give you an advice!

I've build two complex business applications using a database called Starcounter (www.starcounter.com). The Starcounter database is an In-memory object oriented database that supoorts true ACID transactions.

Besides the performance it has a native .NET interface where you as a developer only program the application. If a class is inherited from a base class in Starcounter it will automatically be handled as a persistent object, there is no separate database schema definition.

Starcounter is not a key-value database but rather a NewSQL database with support for SQL 92. My experience is that since it is easy to use and do not require "glue" code between the data storage and application it saves a lot of lines of code for the implementation.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top