几个NoSQL数据库的对比

    技术2024-04-20  15

     

       随着云计算的推进,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 的消息推送、邮件数据库

     

     

     

     

     

    最新回复(0)