tags:

views:

165

answers:

3

what the best NoSQL solution for windows server? preferably open source

+1  A: 

I have used MongoDB on Windows and the install went pretty smoothly. I haven't put a real heavy load on it yet.

And you can find a .NET driver here for Mongo if that's your platform

Corey Downie
A: 

RavenDB by Ayende is the only one written in .net (that I know of), so it "just works" on Windows.

It is Open Source, but it has a dual license:
you can use it for free if your project is Open Source as well, otherwise you have to purchase a commercial license.

haarrrgh
A: 

You should consider using Redis. It's an advanced NoSQL database with support for rich server-side data structures such as lists, sets, sorted sets and hashes. It is also one of the fastest NoSQL databases around: 110000 SETs/second, 81000 GETs/second in an entry level Linux box. Check the benchmarks.

I have a feature-rich open source C# client that let's you persist any C# POCO type natively available at: http://code.google.com/p/servicestack/wiki/ServiceStackRedis

Here are some benchmarks comparing the Redis C# client vs RavenDB.

The client provides a rich interface providing wrappers for .NET's generic IList, IDictionary and ICollection for Redis's rich server side data structures.

If you want to view a good tutorial on how you can use it to develop a real-world application check out: http://code.google.com/p/servicestack/wiki/DesigningNoSqlDatabase

Here's an example from the page above showing how easy it is to store and retrieve C# objects:

var redis = new RedisClient();
using (var redisUsers = redisClient.GetTypedClient<User>())
{
    redisUsers.Store(new User { Id = redisUsers.GetNextSequence(), Name = "demis" });
    redisUsers.Store(new User { Id = redisUsers.GetNextSequence(), Name = "mythz" });

    var allUsers = redisUsers.GetAll();

    Console.WriteLine(allUsers.Dump());
}
/*Output
[
    {
        Id: 1,
        Name: ayende,
        BlogIds: []
    },
    {
        Id: 2,
        Name: mythz,
        BlogIds: []
    }
]
 */

Although the server is primarily developed on Linux I have windows redis-server builds available at: http://code.google.com/p/servicestack/wiki/RedisWindowsDownload

mythz