zoukankan      html  css  js  c++  java
  • Mongodb 和Redis 的相同点和不同点

      MongoDB和Redis都是NoSQL,采用结构型数据存储。二者在使用场景中,存在一定的区别,这也主要由于
    二者在内存映射的处理过程,持久化的处理方法不同。MongoDB建议集群部署,更多的考虑到集群方案,Redis
    更偏重于进程顺序写入,虽然支持集群,也仅限于主-从模式。

    指标 MongoDB(v2.4.9) Redis(v2.4.17) 比较说明
    实现语言  C++ C/C++ -
    协议 BSON、自定义二进制 类Telnet -
    性能 依赖内存,TPS较高 依赖内存,TPS非常高 Redis优于MongoDB
    可操作性 丰富的数据表达、索引;最类似于关系数据库,支持丰富的查询语言 数据丰富,较少的IO MongoDB优于Redis
    内存及存储 适合大数据量存储,依赖系统虚拟内存管理,采用镜像文件存储;内存占有率比较高,官方建议独立部署在64位系统(32位有最大2.5G文件限制,64位没有改限制) Redis2.0后增加虚拟内存特性,突破物理内存限制;数据可以设置时效性,类似于memcache 不同的应用角度看,各有优势
    可用性 支持master-slave,replicaset(内部采用paxos选举算法,自动故障恢复),auto sharding机制,对客户端屏蔽了故障转移和切分机制 依赖客户端来实现分布式读写;主从复制时,每次从节点重新连接主节点都要依赖整个快照,无增量复制;不支持自动sharding,需要依赖程序设定一致hash机制 MongoDB优于Redis;单点问题上,MongoDB应用简单,相对用户透明,Redis比较复杂,需要客户端主动解决。(MongoDB一般会使用replica sets和sharding功能结合,replica sets侧重高可用性及高可靠性,而sharding侧重于性能、易扩展)
    可靠性 从1.8版本后,采用binlog方式(MySQL同样采用该方式)支持持久化,增加可靠性 依赖快照进行持久化;AOF增强可靠性;增强可靠性的同时,影响访问性能 MongoDB优于Redis
    一致性 不支持事物,靠客户端自身保证 支持事物,比较弱,仅能保证事物中的操作按顺序执行 Redis优于MongoDB
    数据分析 内置数据分析功能(mapreduce) 不支持 MongoDB优于Redis
    应用场景 海量数据的访问效率提升 较小数据量的性能及运算 MongoDB优于Redis

  • 相关阅读:
    cas sso ajax的jsonp实现方案总结(新浪微薄、淘宝案例分析)
    在linux下利用nohup来后台运行java程序
    (判断)window.open()窗口被关闭后执行事件
    AngularJS开发指南14:依赖注入
    contentEditable
    AngularJS 最佳实践
    LDAP基本概念
    LDAP
    spring 配置文件中使用properties文件 配置
    【解决Jira】Chrome提示Java插件因过期而遭到阻止(JIRA上传截屏截图)
  • 原文地址:https://www.cnblogs.com/baizhanshi/p/5162962.html
Copyright © 2011-2022 走看看