美文网首页
NoSQL,浅谈redis与mongoDB的区别

NoSQL,浅谈redis与mongoDB的区别

作者: 祁小彬 | 来源:发表于2022-04-21 15:51 被阅读0次

    MongoDB和Redis都是NoSQL数据库,采用结构型数据存储,而MySQL、oracle等则属于传统的关系型数据库。

    1、NoSQL数据库与关系型数据库的优缺点

    关系型数据库

    优点:以完善的关系代数理论为基础,有严格的标准,支持事务ACID四性,借助索引机制可以实现高效的查询。

    缺点:可扩展性差,无法较好地支持海量数据存储,数据模型过于死板,事务机制影响了系统的整体性能,全文搜索功能较弱。

    NoSQL数据库

    优点:数据之间无关系,易扩展。有非常高的读写性能,支持大量数据,性能高。有灵活的数据模型,无须事先为要存储的数据建立字段,随时可以存储自定义的数据格式。

    缺点:复杂查询性能不高,一般都不能实现事务的强一致性。

    2. redis与mongoDB的区别

    内存管理

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

    MongoDB 数据会优先存于内存,当内存不够时,只将热点数据放入内存,其他数据存在磁盘。

    需要注意的是Redis 和mongoDB特别消耗内存,一般不建议将它们和别的服务部署在同一台服务器上。

    数据结构

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

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

    数据量和性能

    当物理内存够用的时候,性能,redis>mongodb>mysql

    数据量,mysql>mongodb>redis

    注意mongodb可以存储文件,适合存放大量的小文件,内置了GirdFS 的分布式文件系统。

    可靠性

    mongodb从1.8版本后,采用binlog方式(MySQL同样采用该方式)支持持久化,增加可靠性;

    Redis依赖快照进行持久化;AOF增强可靠性;增强可靠性的同时,影响访问性能。

    可靠性上MongoDB优于Redis。

    相关文章

      网友评论

          本文标题:NoSQL,浅谈redis与mongoDB的区别

          本文链接:https://www.haomeiwen.com/subject/hsoiertx.html