当前位置:  NOSQL>mongodb

mongodb和redis哪个好?mongodb和redis比较

 
    发布时间:2017-2-22  


    本文导语: mongodb和redis哪个好?mongodb和redis比较MongoDB和Redis都是NoSQL,采用结构型数据存储。二者在使用场景中,存在一定的区别,这也主要由于二者在内存映射的处理过程,持久化的处理方法不同。MongoDB建议集群部署,更多的考虑到集群...

mongodbredis哪个好?mongodb和redis比较

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

 

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




































内存管理机制

Redis数据

全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的LRU算法删除数据

MongoDB数据存在内存,由Linux系统mmap实现,当内存不够时,只将热点数据放入内存,其他数据存在磁盘。

支持的数据结构

Redis支持的数据结构丰富,包括hash、setlist等。

MongoDB数据结构比较单一,但是支持丰富的数据表达,索引,最类似关系型数据库,支持的查询语言非常丰富。

性能

二者性能都比较高,应该说都不会是瓶颈

可靠性

二者均支持持久化。

集群

         MongoDB集群技术比较成熟,Redis从3.0开始支持集群。

不适用场景

Ø  需要使用复杂sql的操作

Ø  事务性系统

看了mongodb和redis的比较后,大家就能分辨mongodb和redis哪个好 。



  • 本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载,整理或搜集自网络.欢迎任何形式的转载,转载请注明出处.
    转载请注明:文章转载自:[169IT-IT技术资讯]
    本文标题:mongodb和redis哪个好?mongodb和redis比较
相关文章推荐:


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3