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

原创
数据库
NoSQL在开源世界已经渐成主流,现在已有很多适用于各种复杂程度的NoSQL解决方案,但是,这些NoSQL产品很少有可用于Microsoft Windows平台的,因此我才有了写作本文的意图。

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

Memcached

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

[[14401]]

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

MongoDB

mongoDB

MongoDB是一个基于文档(JSON风格)的数据存储引擎,通过它的自动分片功能可实现良好的水平扩展能力,它使用了一个简单但功能很强大的基于JavaScript/JSON的查询语言,提供了快速插入和更新能力,主要归功于它的低开销原子修改程序。此外,使用Map/Reduce实现了跨多个MongoDB数据库聚合和数据处理。
MongoDB背后的10Gen公司前不久正式宣布了对Windows平台的支持。MongoDB目前的最新版本是1.6.0,许多大型Web站点现在都在使用它。关于MongoDB Windows版本的更多信息请移步这里,对应的版本可从这里下载。

sones GraphDB

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解决方案是一件非常兴奋的事,以后我也将努力参与到这些项目中去,如果你也愿意成为一名志愿者,我们随时欢迎你。

原文名:NoSQL on the Microsoft Platform

【编辑推荐】

  1. NoSQL数据库Apache CouchDB 0.11.0发布
  2. Android 3.0欲称霸移动开发需有5大改进
  3. Android NDK初探 你也可以做移动开发
  4. 用NoSQL来替代MySQL在Digg中的原因
  5. 详解NoSQL数据库使用实例
责任编辑:彭凡 来源: 51CTO
相关推荐

2011-03-25 14:40:29

Trinity数据库

2021-03-08 08:05:05

漏洞Exchange微软

2009-09-09 11:27:30

Oracle数据库服务

2010-03-22 09:30:55

Linux非开源软件

2010-04-14 17:57:52

Oracle数据库

2012-06-12 09:43:34

微软Linux服务

2024-02-02 10:51:53

2019-03-27 14:54:05

NoSQL数据库Forreste

2021-09-28 09:25:05

NoSQL数据库列式数据库

2018-12-16 16:21:08

HadoopKubernetes容器

2010-05-27 09:11:50

列数据库NoSQL

2011-10-09 09:38:03

OracleNoSQL

2017-05-25 10:11:46

数据库令牌节点

2020-10-31 22:01:40

NoSQL数据库

2012-12-27 10:22:46

大数据

2017-05-02 11:47:17

深度学习AI

2010-08-13 09:58:15

Gooele

2019-03-20 15:59:11

NoSQLRedis数据库

2019-07-08 10:36:34

数据库WebNoSQL

2011-07-19 09:08:50

JavaNoSQL
点赞
收藏

51CTO技术栈公众号