You are here: Home / News / NoSQL数据库全方位比较(转)

NoSQL数据库全方位比较(转)

六月 11, 2011 by Eugene · 1 Comment

导读:近日曾在多家大公司任职的软件架构师兼顾问Kristóf Kovács在博客中对主流的NoSQL数据库(Cassandra、Mongodb、CouchDB、Redis、Riak以及HBase)进行了全方位的对比。

虽然SQL数据库占据统治地位15年,但现在该是结束的时候了,这只是时间问题。在NoSQL如日中天的今天,各种NoSQL产品可谓百花齐放,但每一个产品都有自己的特点,有长处也有不适合的场景。本文对Cassandra、Mongodb、CouchDB、Redis、Riak以及HBase进行了多方面的特点分析。

CouchDB使用的开发语言为Erlang,遵循Apache许可,使用HTTP/REST协议。主要优点是可保持数据一致性和易用性,同时允许多站部署。CouchDB主要适用于积累性的、并且较少改变数据的应用。例如CRM、CMS systems等。

Redis使用的开发语言为C/C++,遵循BSD许可,使用Telnet-like协议。主要优点是速度极快。CouchDB主要适用数据集数据时常变化的应用。但内存占用较大。主要应用于金融机构、实时分析、实时数据收集、实时通信等。

MongoDB使用的开发语言为C++,遵循AGPL(Drivers:Apache),使用Custom,binary(BSON)协议。MongoDB适用于动态查询、且定义索引比Map/Reduce效能更佳的地方。不过与CouchDB一样其数据变动较多,需要大容量磁盘。MongoDB可在任何Mysql/PostgreSQL的环境下使用。

Cassandra使用的开发语言是Java,遵循Apache,使用Custom,binary(Thrift)协议。Cassandra适用于写入多于查询的场合,例如银行和金融行业等需要实时数据分析的行业。

Riak使用的开发语言是Erlang & C、Javascript。遵循Apache,使用HTTP/REST协议。Riak具有高容错性的特点。Riak和Cassandra非常相似。当需要高扩展性和高容错性时Riak是不错的选择。但多站点的部署需要付费。Riak适用于销售数据录入、工控系统等一些不允许宕机的场合。

HBase使用的开发语言为Java,遵循Apache,使用HTTP/REST协议。HBase可支持高达数十亿的列。如果你喜爱BigTable并且需要一个能提供随机实时读写访问你海量数据的数据库,HBase是不错的选择。HBase现被Facebook邮件数据库所使用。

原文链接:http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

原创文章,转载请注明: 文章地址NoSQL数据库全方位比较(转)

转载于:https://www.cnblogs.com/xiayong123/archive/2012/10/01/3717347.html

NoSQL数据库全方位比较相关推荐

  1. nosql数据库学习总结

    大数据时代的数据库选择:SQL还是NoSQL? 执行大数据项目的企业面对的关键决策之一是使用哪个数据库,SQL还是NoSQL?SQL有着骄人的业绩,庞 大的安装基础;而NoSQL正在获得可观的收益,且 ...

  2. Cassandra 1.2 发布,NoSQL 数据库

    NoSQL 数据库 Cassandra 发布 1.2 正式版,该版本包含 CQL3,这是在 2012年4月发布的 1.1 版本中引入的.CQL 是一个 Cassandra 的建模和查询语言,类似关系数 ...

  3. java 连nosql_浅谈 Java 中 MongoDB NoSQL数据库使用指南

    MongoDB是当今非常流行的一款NoSQL数据库,本文介绍如何使用MongoDB的Java驱动来操作MongoDB. 一.引入MongoDB Java Driver包 如果需要操作MongoDB的J ...

  4. 企业级nosql数据库应用与实战-redis

    企业级nosql数据库应用与实战-redis 项目场景: 随着互联网2.0时代的发展,越来越多的公司更加注重用户体验和互动,这些公司的平台上会出现越来越多方便用户操作和选择的新功能,如优惠券发放.抢红 ...

  5. NoSQL数据库探讨 - 为什么要用非关系数据库?

    源地址:http://robbin.javaeye.com/blog/524977 随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速.而传 ...

  6. 高性能NoSql数据库 SSDB

    今天在看一个开源项目的时候,发现作者使用一个ssdb的数据库,第一反应是ssd硬盘,当时很诧异.后面了解后才知道,原来是 nosql数据库. ssdb介绍 一个高性能的支持丰富数据结构的 NoSQL ...

  7. Redis面试连环问:集群、复制以及与其他NOSQL数据库的区别?

    欢迎关注方志朋的博客,回复"666"获面试宝典 前言 面试官问:您熟悉redis?搭建过redis集群?rediscluster底层的主从复制rdb如何工作的?-- 接下来,就是一 ...

  8. 细数 Windows 平台上的 NoSQL 数据库

    从可查询的分布式解决方案,如MongoDB,到简单的分布式Key/Value存储解决方案,如Cassandra.此外,还有Riak,Tokyo Cabinet,Voldemort,CouchDB和Re ...

  9. 阿里云HBase全新发布X-Pack NoSQL数据库再上新台阶

    一.八年双十一,造就国内最大最专业HBase技术团队 阿里巴巴集团早在2010开始研究并把HBase投入生产环境使用,从最初的淘宝历史交易记录,到蚂蚁安全风控数据存储.持续8年的投入,历经8年双十一锻 ...

最新文章

  1. AI修复100年前晚清影像喜提热搜,这两大算法立功了
  2. 案例:简单计算器|| 属性绑定||v-model指令的本质||样式绑定
  3. php设置key,phpstorm8 设置及license key
  4. map集合的常用方法和遍历
  5. MS SQL 2008认证考试大纲
  6. python结束程序再重新执行_Python对象对重新执行程序的持久性
  7. 小白学习使用gitee问题产生汇总(持续更新)
  8. [偏序关系与CDQ分治]【学习笔记】
  9. Ubuntu16.04再次装机记
  10. URI 、URL 和 URN
  11. wincc怎么c语言编程,WINCC几个常用C语言编程
  12. 基于C#和SQL SERVER的企业进销存管理系统的设计和实现
  13. 计算机术语宏是什么意思,宏(计算机术语)
  14. 微信小程序开发工作流程
  15. 虚拟机远程连接USB SERVER
  16. Empty filename passed to function Cannot find proj.db
  17. NC 一些常用方法总结
  18. row_number() OVER(PARTITION BY)函数介绍
  19. 手游测试人才稀缺,兼容性问题突出
  20. 管理人员如何有效应用表扬与批评进行反馈

热门文章

  1. char* 赋值 const char* 释放_Effective C++读书笔记之条款3:尽可能使用const
  2. shiro springboot 整合
  3. Java jar 修改(springfox-swagger-ui-2.9.2.jar 修改去掉顶部的绿色topbar,汉化)
  4. pycharm默认注释与快捷键功能
  5. javaweb入门--web是什么
  6. man hdparm
  7. 比较json和fastjson的put()
  8. 设计模式C++实现_2_简单工厂模式
  9. android之TCP客户端框架
  10. BDD敏捷开发入门与实战