细数运行在微软平台上的NoSQL数据库

Max Indelicato曾发表过一篇文章《NoSQL on the Microsoft Platform》,文中列举了运行在微软平台上的NoSQL数据库,并分别对这些数据进行了介绍,现将对此文的翻译转载于此,供大家学习:

从可查询的分布式解决方案,如MongoDB,到简单的分布式Key/Value存储解决方案,如Cassandra。此外,还有Riak,Tokyo Cabinet,Voldemort,CouchDB和Redis。但目前仅有少量的NoSQL项目支持在Windows平台上运行,如果要说到生产应用那就更少了。

Memcached

Memcached传统上认为它不属于NoSQL的范畴,而是一个分布式Key/Value内存缓存解决方案,它可以用来存储各种各样的临时数据集,存储方式和其它NoSQL数据库解决方案没有什么差别。

细数运行在微软平台上的NoSQL数据库_第1张图片

NorthScale提供了适合于32位和64位Windows平台的Memcached程序包,可从这里免费下载

MongoDB

MongoDB是一个基于文档(JSON风格)的数据存储引擎,通过它的自动分片功能可实现良好的水平扩展能力,它使用了一个简单但功能很强大的基于JavaScript/JSON的查询语言,提供了快速插入和更新能力,主要归功于它的低开销原子修改程序。此外,使用Map/Reduce实现了跨多个MongoDB数据库聚合和数据处理。

MongoDB背后的10Gen公司前不久正式宣布了对Windows平台的支持。MongoDB目前的最新版本是1.6.0,许多大型Web站点现在都在使用它。关于MongoDB Windows版本的更多信息请移步这里,对应的版本可从这里下载

sones GraphDB

细数运行在微软平台上的NoSQL数据库_第2张图片

sones GraphDB是一个企业图形数据存储引擎,它使用C#语言开发,并且是开源的,对于非商业目的可以免费下载,但如果用于商业目的则需要购买商业许可。

图形数据库和我们常说的NoSQL数据库存储方式是不同的,它们更善于处理一类特定的问题:数据集包含了大量的关系,需要快速高效地遍历这些关系。

图形数据库一个常见的用例就是用来存储社交关系或社交图,通常,这些社交图由许多节点组成,节点之间存在许多独立的关系,这是传统关系数据库很难处理好的问题域。如果你对sones GraphDB感兴趣,可从这里下载它的源代码,更多信息请访问该项目的官方网站

Voldemort

Voldemort是一个分布式Key/Value存储系统,LinkedIn用它解决了网站的高扩展性存储问题,简单的分区功能已经不能满足LinkedIn的需要。Voldemort使用Java编写,因此借助Java的跨平台特性,它也可以运行在Windows平台上。请阅读这篇文章了解如何在Windows平台上安装Voldemort。

NoSQL项目机会

对于Microsoft世界来说这是一个激动人心的时刻,但目前Microsoft阵营采用NoSQL的节奏还非常慢,因对机会也比较多,如果能开发出优秀的NoSQL托管存储解决方案,一定会很受欢迎。

ESENT分布式数据存储

关于ESENT,我能想到最恰当的比喻是,它是Microsoft世界的BerkeleyDB,鲜为人知,很少有.NET开发人员使用它,但它的性能和可靠性已经经受住了时间的考验。

ESENT是一个原生支持Windows的嵌入式数据库引擎,它是CodePlex上的一个托管项目,最新的Windows版本已经内置了esent.dll。

我做了一些测试,它的速度真是太快了,每秒可以执行大约10万次插入操作,够变态吧。关于性能的更多统计数字请看这里

内存字典式分布式数据存储

内存字典式分布式数据存储和ESENT有点类似,但不同的是它的数据完全存储在内存中。他可以作为分布式缓存的基础,也可以跨一系列节点复制数据而实现持久化,任何时间只要有一个节点可用,数据都是可以访问的,Amazon或其它基于云的非持久化服务器解决方案可以完美地实现托管,我是这种解决方案的坚决支持者。

最后的想法

对.NET开发人员来说,使用NoSQL解决方案目前还有一些限制,但随时间的推移,肯定会有越来越多的NoSQL解决方案可供选择,作为一名.NET开发人员,我们也应该参与到这些项目中去,以期早日解决现在存在的问题,这也是.NET开发人员的一次难得的机会。

我认为能给Microsoft阵营介绍NoSQL解决方案是一件非常兴奋的事,以后我也将努力参与到这些项目中去,如果你也愿意成为一名志愿者,我们随时欢迎你。

【人物小传】

Max Indelicato

Max Indelicato

Stride & Associates公司基础架构和软件开发主管。

Max曾在很多公司工作过,包括创业公司、成长型商业公司及刚成立的企业。他担任过核心架构师、技术主管以及此类的职务。 他曾创建并维护了手机交易平台、高扩展性的面向公众的电子商务网站及一系列可以支持固定收益有价证券财务实体的金融应用软件。

原文链接:http://www.dotnetconvo.com/post/view/2010/8/9/nosql-on-the-microsoft-platform

译文链接:http://database.51cto.com/art/201008/219470.htm

你可能感兴趣的:(NoSQL)