细数 Windows 平台上的 NoSQL 数据库

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 从可查询的分布式解决方案,如MongoDB,到简单的分布式Key/Value存储解决方案,如Cassandra。此外,还有Riak,Tokyo Cabinet,Voldemort,CouchDB和Redis。

从可查询的分布式解决方案,如MongoDB,到简单的分布式Key/Value存储解决方案,如Cassandra。此外,还有RiakTokyo CabinetVoldemortCouchDBRedis。但目前仅有少量的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

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
3天前
|
SQL NoSQL 数据库
Flutter Hive NoSql 数据库使用指南
本文将会写一个 Hive CURD 的例子,详细介绍 Hive 这个轻量级的 Flutter 离线数据库的使用方法,包括 Hive 在 Flutter 开发中的重要性、Hive 与 SQLite 的比较等,帮助开发者快速上手 Hive 数据库。
Flutter Hive NoSql 数据库使用指南
EMQ
|
14天前
|
物联网 Linux C语言
在 Windows 平台搭建 MQTT 服务
NanoMQ 有着强大的跨平台和可兼容能力,不仅可以用于以 Linux 为基础的各类平台,也为 Windows 平台提供了 MQTT 服务的新选择。
EMQ
63 4
在 Windows 平台搭建 MQTT 服务
|
7天前
|
SQL 关系型数据库 MySQL
Windows服务器的最佳数据库是什么?
【7月更文挑战第20天】Windows服务器的最佳数据库是什么?
21 5
|
7天前
|
SQL NoSQL 关系型数据库
现代数据库技术:从关系型到NoSQL的进化与应用
本文探讨了现代数据库技术的发展历程,从传统的关系型数据库到新兴的NoSQL数据库的演进过程。通过比较不同类型数据库的特点和应用场景,分析它们在各自领域中的优缺点及适用性,旨在帮助读者理解并选择合适的数据库技术来支持他们的应用需求。
|
15天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的《数据库原理及应用》课程平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的《数据库原理及应用》课程平台的详细设计和实现(源码+lw+部署文档+讲解等)
|
18天前
|
缓存 NoSQL Java
使用Spring Boot和Couchbase实现NoSQL数据库
使用Spring Boot和Couchbase实现NoSQL数据库
|
25天前
|
监控 NoSQL 数据管理
电脑监控软件中的NoSQL数据库管理
这篇文章介绍了在电脑监控软件中使用NoSQL数据库管理非结构化数据。通过Python示例展示了如何使用MongoDB客户端连接数据库、插入单条或多条数据、查询数据(包括所有、特定用户和时间范围)、更新数据以及删除数据。此外,还提供了一个简单的数据监控和自动提交到网站的脚本,以每分钟检查一次新活动并发送到指定URL。这些示例有助于理解和优化监控软件中的数据处理。
52 3
|
23天前
|
NoSQL Java MongoDB
如何在Java中使用NoSQL数据库
如何在Java中使用NoSQL数据库
|
18天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的《数据库原理及应用》课程平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的《数据库原理及应用》课程平台附带文章源码部署视频讲解等
22 0
|
19天前
|
存储 NoSQL Java
使用MongoDB实现NoSQL数据库的最佳实践
使用MongoDB实现NoSQL数据库的最佳实践

热门文章

最新文章