设为首页 收藏本站
查看: 2018|回复: 0

[经验分享] MongoDB和Redis对比

[复制链接]
发表于 2018-10-28 08:33:39 | 显示全部楼层 |阅读模式
  接触MongoDB和Redis有段时间了,只知道他们都是KV型数据库,但是异同点却不是很清楚。google了下,看到有篇英文版的对比:
  英文来自——http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis/
  于是就做了个表格,加上自己使用的一些体会,就有了此文。
  MongoDB
  Redis (V2.4)
  说明
  Written in: C++
  Written in: C/C++
  Main point:Retains some friendly properties of SQL. (Query, index)
  Main point: Blazing fast
  MongoDB保留类似SQL的属性,
  例如:show dbs;db.test.find()
  Redis—快
  License: AGPL (Drivers: Apache)
  License: BSD
  Protocol: Custom, binary (BSON)
  Protocol: Telnet-like
  Master/slave replication (auto failover with replica sets)
  主从复制+replica sets
  Master-slave replication
  主从复制
  Sharding built-in
  内置的sharding分片功能
  MongoDB一般会使用replica sets和sharding功能结合,replica sets侧重高可用性及高可靠性,而sharding侧重于性能、易扩展
  Queries are javascript expressions
  查询是javascript语句
  Run arbitrary javascript functions server-side
  运行任意的server-side javascript函数
  Better update-in-place than CouchDB
  update-in-place的支持比CouchDB更好
  Uses memory mapped files for data storage
  使用内存转储文件做数据存储
  Disk-backed in-memory database,
  Currently without disk-swap (VM and Diskstore were abandoned)
  磁盘做后备、内存数据库
  目前2.4版本不带disk-swap(虚拟内存和diskstore被舍弃了)
  Performance over features
  (性能优于特性)
  Journaling (with --journal) is best turned on
  (Journaling日志功能最好打开)
  On 32bit systems, limited to ~2.5Gb
  在32位平台MongoDB不允许数据库文件(累计总和)超过2.5G,而64位平台没有这个限制。
  An empty database takes up 192Mb
  空数据库大约占 192Mb
  GridFS to store big data + metadata (not actually an FS)
  使用GridFS存储大数据和元数据(不是真正意义上的文件系统)
  GridFS是一种将大型文件存储在MongoDB的文件规范。
  Values can be set to expire (as in a cache)
  可以设置value过期(由于在内存中)
  expire name 10
  例如:设置name这个value的过期时间是10S
  Simple values or hash tables by keys,but complex operations like ZREVRANGEBYSCORE.
  INCR & co (good for rate limiting or statistics)
  使用简单值或以key值为索引的哈希表,也支持复杂的例如ZREVRANGEBYSCORE的有序集操作
  Has sets (also union/diff/inter)
  Has lists (also a queue; blocking pop)
  Has hashes (objects of multiple fields)
  Sorted sets (high score table, good for range queries)
  有很多类型的数据,包括sets,lists,hash,有序集
  Redis has transactions (!)
  redis支持事物处理
  Pub/Sub lets one implement messaging (!)
  Pub/Sub允许用户实现消息机制,因此redis用于新浪微博中
  适用——动态查询; 索引比map/reduce方式更合适时; 对于大数据库性能要求高,需要和CouchDB的功能一样,但数据变化大
  适用——数据库大小快速变化并且总量可预测的,对内存要求高
  举例——大部分用Mysql/PostgreSQL的场合,但是无法使用预先定义好所有列的时候
  举例——股票价格、统计分析、实时数据收集、实时通信
  另外一篇内存型数据库的对比,请参考——《memcache vs redis》


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-627332-1-1.html 上篇帖子: Memcache and Mongodb-MPU的专栏 下篇帖子: MongoDB:Ruby中嵌入Javascript实战
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表