当前位置: 首页 > news >正文

MongoDB 学习(三)Redis 与 MongoDB 的区别

目录

    • 一、NoSQL 数据库与关系型数据库的优缺点
    • 二、Redis 与 MongoDB 的区别

MongoDBRedis 都是 NoSQL 数据库,采用 结构型数据存储,而非 MySQL、Oracle 等则属于传统的 关系型数据库

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

关系型数据库:

  • 优点: 以完善的关系代数理论为基础,有严格的标准,支持事务 ACID 四种性质,借助索引机制可以实现高效的查询。
  • 缺点: 可扩展性差,无法较好地支持海量数据存储,数据模型过于死板,事务机制影响了系统的整体性能,全文搜索功能较弱。

NoSQL数据库:

  • 优点: 数据之间无关系,易扩展。有非常高的读写性能,支持大量数据,性能高。有灵活的数据模型,无须为要存储的数据事先建立字段,随时可以存储自定义的数据格式。
  • 缺点: 复杂查询性能不高,一般都不能实现事务的强一致性。

二、Redis 与 MongoDB 的区别

内存管理:

  • Redis 数据全部存储在内存,定期写入磁盘,当内存不够时,可以选择指定的 LRU 算法删除数据。
  • MongoDB 数据会优先存于内存,当内存不够时,只将热点数据放入内存,其他数据存在磁盘。

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

数据结构:

  • Redis 支持的数据结构丰富,包括 Hash、Set、List 等。
  • MongoDB 数据结构比较单一,但是支持丰富的数据表达、索引,最类似关系型数据库,支持的查询语言非常丰富。

数据量和性能:

  • 当物理内存够用的时候,性能:Redis > MongoDB > MySQL。
  • 数据量:MySQL > MongoDB > Redis。

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

可靠性:

  • Redis 依赖快照进行持久化;AOF 增强可靠性;但是增强可靠性的同时,影响访问性能。
  • MongoDB 从 1.8 版本后,采用 binlog 方式(MySQL同样采用该方式)支持持久化,增加可靠性。

可靠性上 MongoDB 由于 Redis。

整理完毕,完结撒花~🌻





参考地址:

1.NoSQL,浅谈redis与mongoDB的区别,https://zhuanlan.zhihu.com/p/86777551

http://www.xdnf.cn/news/552511.html

相关文章:

  • EasyOCR 模型文件下载
  • 开源运维工具HHDESK源码开发
  • Linux(ubuntu18.04)下安装instant-ngp环境
  • JWT单双token实现机制记录
  • 精益数据分析(71/126):从移情到黏性——创业阶段的关键跨越与数据驱动策略
  • JavaScript性能优化实战(13):性能测试与持续优化
  • Mysql面经
  • 基于Python批量删除文件和批量增加文件
  • List介绍
  • Java操作Elasticsearch 之 [Java High Level REST Clientedit]
  • 数据库索引是什么,什么时候不适合使用?
  • 【深度学习实战】梯度爆炸怎么解决?
  • 量子通信技术:原理、应用与未来展望
  • 华三(H3C)IRF堆叠心跳的LACP MAD、BFD MAD和ARP MAD差异
  • 蓝桥杯2114 李白打酒加强版
  • JAVASE查漏补缺
  • CAP分布式理论
  • SpringBoot(三)--- 数据库基础
  • MySQL事务管理:事务控制与锁机制详解
  • 【Java实战】线程池 并发 并行 生命周期(详细解释)
  • idea本地debug断点小技巧
  • cplex12.9 安装教程以及下载
  • LabVIEW下AI开发
  • 在 Excel 中使用 C# .NET 用户定义函数 操作步骤
  • oracle以注释作为表头进行查询并导出
  • LeetCode 3024.三角形类型
  • EtherCAT转CANopen协议转换网关在电力行业的融合应用
  • 《微机原理与接口技术》第 7 章 输入/输出技术
  • 基于Yolov8+PyQT5的绝缘子识别系统
  • 《Effective Python》第三章 循环和迭代器——永远不要在迭代容器的同时修改它们