what the best NoSQL solution for windows server? preferably open source
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: https://github.com/ServiceStack/ServiceStack.Redis
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
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With