zoukankan      html  css  js  c++  java
  • 细数那些运行在微软平台上的NoSQL数据库

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

    2010-08-17 08:57 黄永兵 译 51CTO 我要评论(0) 字号:T | T
    一键收藏,随时查看,分享好友!

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

    AD:

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

    Memcached

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

    memcached - a distributed memory object caching system

    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数据库使用实例
  • 相关阅读:
    1、编写一个简单的C++程序
    96. Unique Binary Search Trees
    python 操作redis
    json.loads的一个很有意思的现象
    No changes detected
    leetcode 127 wordladder
    django uwsgi websocket踩坑
    you need to build uWSGI with SSL support to use the websocket handshake api function !!!
    pyinstaller 出现str error
    数据库的读现象
  • 原文地址:https://www.cnblogs.com/baiyu/p/2128768.html
Copyright © 2011-2022 走看看