技术开发 频道

对比主流NoSQL数据库特性与应用场景

  【IT168 评论】与关系型数据库RDBMS的大厂商垄断不同,NoSQL在发展之初就可谓是百家争鸣、百花齐放,无论目前如日中天的MongoDB,还是刚刚发布最新版本的Redis;无论是面向文本的CouchDB,还是基于KV的Cassandra,都有着各自的特点和应用场景。而作为传统SQL数据库的良好补充,DBA有必要了解这些主流NoSQL数据库的各自特点。在本文中,我们就将对比一下主流NoSQL数据库,包括了Cassandra、Mongodb、CouchDB、Redis、Riak以及HBase。

  基本特性:

  各自特点与应用场景:

  Cassandra

  分布式与复制的权衡

  根据列和键范围进行查询

  BigTable类似的功能:列,列族

  写比读快很多

  Map/reduce Apache Hadoop

  Java语言在设置上会有一定复杂度

  非常好的适用:写操作较多,读比较少的时候。如果你的系统都是基于Java的时候。

  应用场景:银行,金融行业。数据分析。

  MongoDB

  主从复制

  查询利用javascript表达式

  服务器端运行javascript函数

  比CouchDB更容易就地升级

  内置Sharding

  数据存储使用的是内存映射文件

  数据库崩溃后需要对表进行修复

  持久性更好

  非常好的适用:如果你需要动态的查询,如果你更偏向与定义索引而非 map/reduce,如果你针对大数据库想要更好的性能,如果你想使用CouchDB而数据变化太快,磁盘不够用的话,可以使用MongoDB。

  应用场景:一言以蔽之,MySQL或PostgreSQL的替代品。

0
相关文章