【学习笔记】MongoDB 概念

devtools/2024/10/18 10:36:59/

文章目录

  • 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.ppmy.cn/devtools/126702.html

相关文章

rollup.js 插件实现原理与自定义

Rollup.js 是一个JavaScript模块打包器,它主要用于将小块代码编译成大块复杂的库或应用程序。相较于Webpack,Rollup更专注于代码的ES模块转换和优化,特别适合构建库或者那些对代码体积、执行效率有严格要求的应用。Rollup的核心特性之一就是它…

鸿蒙NEXT开发-知乎评论小案例(基于最新api12稳定版)

注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…

机器学习和深度学习的差别

定义和基本原理 机器学习: 定义:机器学习是一种让计算机自动从数据中学习规律和模式的方法,无需明确编程。它通过构建数学模型,利用已知数据进行训练,然后对新的数据进行预测或决策。基本原理:机器学习算…

Flink移除器Evictor

前言 在 Flink 窗口计算模型中,数据被 WindowAssigner 划分到对应的窗口后,再经过触发器 Trigger 判断窗口是否要 fire 计算,如果窗口要计算,会把数据丢给移除器 Evictor,Evictor 可以先移除部分元素再交给 ProcessFu…

【Linux】< 条件等待>解决< 线程饥饿问题 >——【多线程同步问题】

前言 大家好吖,欢迎来到 YY 滴Linux系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的《Lin…

解析:ARM 工业计算机在光伏储能中的关键作用

在当今能源转型的大背景下,光伏储能作为一种可持续、高效的能源解决方案,正受到越来越广泛的关注。而在光伏储能系统中,ARM 工业计算机以其卓越的性能和特点,成为了理想的选择。 一、光伏储能的重要性与挑战 全球对清洁能源的需…

【前端】Matter:过滤与高级碰撞检测

在物理引擎中,控制物体的碰撞行为是物理模拟的核心之一。Matter.js 提供了强大的碰撞检测机制和碰撞过滤功能,让开发者可以控制哪些物体能够相互碰撞,如何处理复杂的碰撞情况。本文将详细介绍 碰撞过滤 (Collision Filtering) 与 高级碰撞检测…

【NLP】GloVe模型

一、Glove简介 GloVe (Global Vectors for Word Representation) 是一种基于词共现矩阵的词向量生成方法,由斯坦福大学的 Jeffrey Pennington、Richard Socher 和 Christopher D. Manning 提出。与 Word2Vec 不同,GloVe 通过全局统计信息(词…