Windows Server最好的NoSQL解决方案是什么?最好是开源
答案 0 :(得分:5)
您应该考虑使用Redis。它是一个高级NoSQL数据库,支持丰富的服务器端数据结构,如列表,集合,有序集和哈希。它也是最快的NoSQL数据库之一:110000 SET /秒,入门级Linux机箱中的81000 GET /秒。 Check the benchmarks
我有一个功能丰富的开源C#客户端,让您可以在以下位置保留本机可用的任何C#POCO类型: http://code.google.com/p/servicestack/wiki/ServiceStackRedis
以下是一些比较Redis C# client vs RavenDB的基准。
客户端提供了一个丰富的接口,为Redis丰富的服务器端数据结构的.NET通用IList,IDictionary和ICollection提供包装。
如果您想查看有关如何使用它来开发实际应用程序的详细教程,请查看: http://code.google.com/p/servicestack/wiki/DesigningNoSqlDatabase
以上是上面一页的示例,显示了存储和检索C#对象的容易程度:
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: []
}
]
*/
虽然服务器主要是在Linux上开发的,但我可以在以下位置使用Windows redis-server构建: http://code.google.com/p/servicestack/wiki/RedisWindowsDownload
答案 1 :(得分:3)
它是开源的,但它有双重许可证:
如果您的项目也是开源项目,您可以免费使用它,否则您必须购买commercial license。
答案 2 :(得分:2)
我在Windows上使用过MongoDB,安装过程非常顺利。我还没有给它带来沉重的负担。
如果那是你的平台,你可以为Mongo找到.NET driver here
答案 3 :(得分:1)
有点旧答案,但是有一种方法可以让你在SQL服务器上提供nosql'ish文档存储行为,http://www.sisodb.com
答案 4 :(得分:1)
你可以试试NosDB。它是一个完全用.NET编写的NoSQL数据库,它也支持SQL queries。
它是open source with Apache 2.0 License所以它完全免费,没有任何附加条件。
是否最好的答案完全基于意见,所以你应该自己检查一下。