redis与mongodb比较

Posted eyes++

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis与mongodb比较相关的知识,希望对你有一定的参考价值。

项目RedisMongoDB
介绍Redis 是内存中的数据结构存储,用作数据库,缓存和消息代理。MongoDB 是遵循文档存储结构的最流行的 NoSQL 数据库之一。
主数据库模型Redis 遵循键值存储模型。MongoDB 遵循文档存储模型。
许可Redis 是基于订阅和开源的。MongoDB 可以免费使用和开源。
实现语言Redis 是用 C 语言编写和实现的。MongoDB 是用 C ++语言编写和实现的。
二级索引没有
API 和其他访问方法Redis 遵循专有协议。MongoDB 遵循使用 JSON 的专有协议。
服务器端脚本LUAjavascript
分区方法Redis 使用 Sharding 进行分区。MongoDB 也使用 Sharding 进行分区。
复制方法Redis 遵循主从复制。MongoDB 也遵循主从复制。
可操作性数据操作方面,redis更好一些,较少的网络IO次数支持丰富的数据表达,索引,最类似关系型数据库,支持的查询语言非常丰富
MapReduce没有
一致性概念最终的一致性和即时一致性最终的一致性
交易概念乐观锁定,命令块和脚本的原子执行。没有
性能依赖内存,TPS较高依赖内存,TPS较高
高并发50个并发执行100000 个请求,读的速度是110000 次/s,写的速度是81000次/s善于处理高并发
持久化 支持持久化操作,可以进行aof及rdb数据持久化到磁盘,从而进行数据备份或数据恢复等操作,较好的防止数据丢失的手段。数据操作会先写入内存,然后再会持久化到硬盘中去,mongodb在启动时,专门初始化一个线程不断循环(除非应用crash掉),用于在一定时间周期内来从defer队列中获取要持久化的数据并写入到磁盘的journal(日志)和mongofile(数据)处,当然因为它不是在用户添加记录时就写到磁盘上,所以按mongodb开发者说,它不会造成性能上的损耗,因为当进行CUD操作时,记录(Record类型)都被放入到defer队列中以供延时批量(groupcommit)提交写入,但相信其中时间周期参数是个要认真考量的参数,系统为90毫秒,如果该值更低的话,可能会造成频繁磁盘操作,过高又会造成系统宕机时数据丢失过。
内存与数据量redis在2.0版本后增加了自己的VM特性,突破物理内存的限制;可以对key value设置过期时间(类似memcache)适合大数据量存储,依赖系统虚拟内存管理,采用镜像文件存储;内存占有率比较高,官方建议独立部署在64位系统(32位有最大2.5G文件限制,64位没有改限制)
内存管理Redis 数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的 LRU 算法删除数据。MongoDB 数据会优先存于内存,当内存不够时,只将热点数据放入内存,其他数据存在磁盘。
可用性依赖客户端来实现分布式读写;主从复制时,每次从节点重新连接主节点都要依赖整个快照,无增量复制;不支持自动sharding,需要依赖程序设定一致hash机制支持master-slave,replicaset(内部采用paxos选举算法,自动故障恢复),auto sharding机制,对客户端屏蔽了故障转移和切分机制
用户权限简单的基于密码的访问控制。用户和角色的访问权限。
特色Redis 被评为世界上最快的数据库。它降低了应用程序的复杂性,简化了开发,加快了产品上市时间,并通过其有远见的数据结构和模块为开发人员提供了前所未有的灵MongoDB 被认为是下一代数据库。它成功地帮助许多企业通过提供大数据来改变他们的行业。世界上最先进的组织,从最前沿的创业公司到最大的公司,使用 MongoDB 以极低的成本创建前所未有的应用程序。
比较优势Redis 是一种内存数据库平台,支持各种数据结构,如字符串,散列,集合,列表,有序集,位图,超级日志和地理空间索引。Redis 通过监督分片,重新分片,迁移的所有操作,以完全自动化的方式提供轻松扩展。它还包括持久性,即时自动故障检测,备份和恢复以及跨机架,区域,数据中心,区域和云平台的内存复制。MongoDB 提供了当今最好的传统数据库以及当今应用程序所需的灵活性,扩展性和性能。MongoDB 是一个巨大的想法数据库。MongoDB 保留了 Relational 数据库最有价值的特性,即强一致性,表达式查询语言和二级索引。它有助于开发人员比 NoSQL 数据库更快地构建功能强大的应用程序
市场指标Redis Labs 由全球 60000 多家客户组成,在 NoSQL,内存和运营数据库方面的顶级分析报告中一直名列前茅。Redis 被评为否。1 个云数据库,Docker 中的 1 号数据库,1 号 NoSQL 数据存储区,容器中最流行的 NoSQL 数据库。下载量达到 2000 万(每天下载量达到数千次)。超过 2,000 名客户,包括超过三分之一的财富 100 强。在 Forrester Wave 中被评为领导者:大数据 NoSQL,2016 年第 3 季度。在数据库引擎排名中排名最高的非关系型数据库

以上是关于redis与mongodb比较的主要内容,如果未能解决你的问题,请参考以下文章

redis和mongodb哪个简单

mongodb的ACID特性与mysql,redis简单比较

mongodb和redis区别是啥?

Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析

Nosql简介 Redis,Memchche,MongoDb的区别

memcache---mongodb---redis比较