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

【学习笔记】MongoDB 概念

文章目录

  • MongoDB 概念
    • MongoDb 的应用场景
      • 什么时候会选择MongoDB?

MongoDB 概念

MongoDb 的应用场景

传统的关系型数据库(如MySQL),在数据操作的三高需求以及应对Web2.0的网站需求面前,显得力不从心。

那什么是“三高”?

高血压,高血糖,高血脂?

在这里插入图片描述

解释三高需求:

  • High performance-对数据库高并发读写的需求。

  • Huge Storage-对海量数据的高效率存储和访问的需求

  • High Scalability && High Availability-对数据库的高可扩展性和高可用性的需求。

而MongoDB可以应对“三高”需求

具体的应用场景如:

  1. 社交场景,使用 MongoD8 存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能。

  2. 游戏场景,使用 MongoDB存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、高效率存储和访问。

  3. 物流场景,使用 MongoDB存储订单信息,订单状态在运送过程中会不断更新,以 MongoDB 内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来。

  4. 物联网场景,使用 MongoDB存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析。

  5. 视频直播,使用 MongoD8 存储用户信息、点赞互动信息等

这些应用场景中,数据操作方面的共同点是:

  • 数据量大

  • 写入操作频繁(读写操作都很频繁)

  • 价值较低的数据,对事务性要求不高
    对于这样的数据,我们更适合使用MongoDB来实现数据的存储

什么时候会选择MongoDB?

  1. 应用不需要事务及复杂的join支持

  2. 数据模型无法确定,想快速迭代开发

  3. 应用需要2000-3000以上的读写QPS(更高也可以)

  4. 应用需要TB甚至PB级别数据存储

  5. 应用发展迅速,需要能快速的水平扩展

  6. 应用需求存储的数据不丢失

  7. 应用需要99.99%高可用

  8. 应用需要大量的地理位置查询、文本查询

符合上述的一个,就可以考虑MongoDB,符合两个及以上,你选择MongoDB绝对不会后悔

在这里插入图片描述

**思考:**如果用mysql来解决上述问题呢?
答:mysql可以解决上述问题,但是相较于MongoDB而言,成本更高,优化复杂。


http://www.kler.cn/news/363722.html

相关文章:

  • 工作使用的工具
  • linux压缩与解压缩
  • 游戏界面设计的最佳实践
  • 实操 maxkey对接三方文档
  • 怎么在线制作拼团活动
  • LeetCode练习-删除链表的第n个结节
  • ElasticSearch分片
  • 聚铭网络入选工信部《工业互联网与电力行业融合应用参考指南》推荐企业
  • 项目:负载均衡式在线 OJ
  • qt QNetworkProxy详解
  • git的安装以及入门使用
  • 手机照片怎么转换成jpg格式?分享6种图片格式转换方法
  • 【C语言】编译和链接(编译环境和运行环境)
  • Qt 中实现 HTTPS 请求的方法
  • ExecuteReader()简介
  • 输电线路杆塔基础沉降
  • Oracle Expdp按条件导出-指定表数据
  • 写一个 qq自动回话的程序
  • 模型的部署:服务端与客户端建立连接(Flask)
  • ESP32移植Openharmony设备开发---(6)Mutex互斥锁
  • 「亲测好用」6款热门电脑卸载工具分享,快来看看哪个适合你?
  • YOLOv11改进策略【卷积层】| RCS-OSA 通道混洗的重参数化卷积 二次创新C3k2
  • 展会亮点回顾|HMS汽车工业通信解决方案
  • java中Set,Map,List集合的比较(不包含增删改查函数方法)
  • YoloV8改进策略:卷积篇|大感受野的小波卷积
  • 【Pip】深入理解 `requirements.txt` 文件:Python 项目依赖管理的核心工具