随着云计算的推进,Key/value的NoSQL数据库开始受到业界的重视,但市面上有很多NoSQL的开

源项目,那究竟那一个NoSQL的数据库最适合你用呢?我们来看看下面的一些对比。

 

Cassandra:

简介:

Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。

编写语言:java

特点:以Amazon专有的完全分布式的Dynamo为基础,写的速度远大于读的速度

授权:Apache

适合:写的操作多于读的操作,但一定的装JDK

场合:银行、金融业

 

CouchDB

简介:

CouchDB是用Erlang开发的面向文档的数据库系统,最近刚刚发布了1.0版本(2010年7月14日)

编写语言:Erlang

特点:他可以把存储系统分布到n台物理的节点上面,并且很好的协调和同步节点之间的数据读写一致性。以用JavaScript编写查询语句。特征数据库一致性,易于使用。

授权:Apache

适合:积累性的,较少改变的数据。或者是需要文档的多版本支持

场合:CRM、CMS

 

Redis

简介:

和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

编写语言:C / C + +

特点:非常快

授权:BSD

适合:总数据集快速变化且总量可预测

场合:股票价格,实时分析,实时数据收集,实时通信

 

MongoDB

简介:

 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性

能数据存储解决方案。

编写语言:C + +

特点:风格类似于SQL(查询/索引) 

授权:AGPL

适合:动态查询

场合:任何用MySQL / PostgreSQL的,但是无法忍受预先定义好所有列的时候

 

Riak

简介:

Riak 是一个去中心化的 key-value 存储服务器,提供一个灵活的 map/reduce 引擎,一个友好的 

 

HTTP/JSON 查询接口

编写语言:Erlang、C/C++

特点:容错性比较好

授权:Apache

适合:可用性和容错性,但你愿意为此付出multi-site replication。

场合:点的销售数据的收集。 工厂控制系统。...反正坏一秒就很麻烦的场合

 

HBase

简介:

就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力

编写语言:java

授权:Apache

特点:集成Hadoop、有利于实时查询、基于JRuby的shell脚本、没有单点固障、有像Mysql一样的随机访问性能

适合:如果你喜欢用BigTable,当你需要随机的实时I/O访问你的大量数据

场合:Facebook 的消息推送、邮件数据库

 

 

 

 

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐