MongoDB综述【入门指南】

写这篇博客,正好是2023年4月5日15:29:31,是清明节,放假一天,我坐在我的小小租房室内,思考着没思考到啥,哈哈哈,感觉好着急啊!看完了一本《城南旧事》,但是就是不踏实,好吧~我来写一篇最近在学的一个技术

为了更优秀的自己~奥利给!!

首先,我们从最初级小白开始(因为自己也是小白~哈哈哈!)

MongoDB

在介绍今个的正主之前,咱们要看看我们的正主的大环境背景和身世

1.什么是NoSql?

听着这个名字到感觉挺高大上的,其实没啥,就是一种数据库的技术,而且不遵守一些约束的数据库技术,比如事务,表结构它都不遵守那你可能会问?那玩个锤子 别急嘛!!

NoSQL优缺点

换位思考下~,既然满足不了这些,肯定会释放出一些它独有的优势和对应的缺点哈!!

nosql的优点缺点
1.满足对数据库的高并发读写一般不支持事务
2.对海量数据的高效存储和访问实现复杂SQL查询比较复杂
3.对数据库高扩展性和高可用性运维人员数据维护门槛较高
4.灵活的数据结构,满足数据结构不固定的场景目前不是主流的数据库技术

NoSql分类

序号类型典型代表应用范围
1key-valueredis,memcached缓存,高并发数据query
2列式DBcassandra,hbase分布式文件系统
3文档型DBmongoDBweb应用,并发能力强,表结构可变
4图结构DBinfoGrid,neo4J社交网络,推荐系统,关注购机爱你图谱

号外!号外!目前的MongoDB已经月拉埃越火了,么西么西?有多火,已经超过了redis,

接下来请走近mongodb,发现科学,发现美~哈哈哈!

2.什么是MongoDB?

  1. 是一个数据库(好像废话!~哈哈)
  2. 高性能,无模式,文档性
  3. 如上面的介绍,是``nosql`最热门的的,最像关系数据库

结构是什么样子呢?

image.png

数据库中的关系

img

架构中的应用

从网上摘抄来的哈!!为了更加仔细直观了解

img

特性:

l 面向集合文档的存储:适合存储Bson(json的扩展)形式的数据;

l 格式自由,数据格式不固定,生产环境下修改结构都可以不影响程序运行;

l 强大的查询语句,面向对象的查询语言,基本覆盖sql语言所有能力;

l 完整的索引支持,支持查询计划;

l 支持复制和自动故障转移;

l 支持二进制数据及大型对象(文件)的高效存储;

l 使用分片集群提升系统扩展性;

l 使用内存映射存储引擎,把磁盘的IO操作转换成为内存的操作;

哪些场合我们会用到呢?

说白了,就是啥场景,能够降低我们的成本,就会用到 (好像说了,又好像没说…)

主要是哪些场景?

应用场合是/否
不需要事务和复杂的join支持必须是
新应用,需求多变没数据模型无法确定,想快速的迭代?
需要2000以上的读写 QPS?
需要TB或者PB级别的数据存储?
应用发展迅速,需要能快速水平快速发展?
要求存储的数据不丢失?
需要99.99%高可用?
需要大量的地理位置查询,文本查询?

就借用下老师们的原话:

如果上述有1个 Yes,可以考虑 MongoDB,2个及以上的 Yes,选择MongoDB绝不会后悔!

主要在我们的生活中的场景

场景说明
游戏场景使用 MongoDB 存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、更新
物流场景使用 MongoDB 存储订单信息,订单状态在运送过程中会不断更新,以MongoDB内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来。
社交场景使用 MongoDB 存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能
物联网场景使用 MongoDB 存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析
视频直播使用 MongoDB 存储用户信息、礼物信息等

好嘞!想要了解更多我们下一篇见(关于MongoDB的环境保姆级搭建教程和注意事项)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/6313.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

卷麻了,00后测试用例写的比我还好,简直无地自容.....

前言 作为一个测试新人,刚开始接触测试,对于怎么写测试用例很头疼,无法接触需求,只能根据站在用户的角度去做测试,但是这样情况会导致不能全方位的测试APP,这种情况就需要一份测试用例了,但是不…

倾斜实景三维建模与BIM模型处理技术

倾斜实景三维建模与BIM模型处理技术 一、研究背景 ➢ 倾斜模型 ✓ 真实纹理,高分辨率 ✓ 真实坐标,高空间精度 ✓ 快速建模,低建模成本 ➢ BIM设计 BIM 技术作为建筑施工行业中的新技术,存在于建筑的全生命周期,服务…

机器学习算法:K近邻(k-nearest neighbors)初探

KNN的介绍和应用 KNN(K-Nearest Neighbor)算法是一种基于实例的学习算法,也是一种常见的分类算法。 如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。 示例 &…

Python 3 基本数据类型,包含示例演示(初学友好)

嗨害大家好鸭~ 我是芝士❤ 有好好学习python吗? Python学习资料电子书 点击此处跳转文末名片获取 Python3 基本数据类型 Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 在 Python 中,变量就是变量…

MATLAB 求解定积分和不定积分

本文主要介绍如何通过matlab 去求解常见的定积分和不定积分的结果,使用matlab 内置函数 int。 语法: Fint(表达式,变量,变量上下限) 目录 例子1 单变量不定积分 例子2 多变量不定积分 例子3 单变量定积分 例子4 定积分近似求…

软件测试高频出现面试题-2(实用)

每日面试1、自我介绍2、简单介绍最近项目你是如何开展测试工作的呢?3、描述在这个项目里面你主要负责哪些模块的测试?选中一个业务复杂的讲述你是如何测试的呢?1、自我介绍 主要可以从三个方面准备:我的基础信息,我的…

OBCP第八章 OB运维、监控与异常处理-常见异常处理

问题排查概述:数据库连接问题排查 在遇到连接问题时,需要清楚整个系统的架构,对整个连接链路进行排查。通常情况下应用连接到数据库的完整链路是从应用服务器到 OBProxy 再到 OB 集群,此外还可能涉及负载均衡、DNS 解析、网络等。…

49天精通Java,第24天,Java链表、散列表、HashSet、TreeSet

目录一、链表二、散列表三、HashSet四、TreeSet五、TreeSet常用方法大家好,我是哪吒。 一、链表 从数组中间删除一个元素开销很大,其原因是向数组中插入元素时,此元素之后的所有元素都要向后端移动,删除时也是,数组中…

大厂面试篇--2023软件测试八股文最全文档,有它直接大杀四方

前言 已经到了金三银四的黄金招聘季节了,还在准备面试跳槽涨薪的小伙伴们可以看看本篇文章哟,这里呢笔者就不多说废话了直接上干货!答案已整理好,文末拿去即可!非常好用! 一、字节跳动测试面经篇 1、在搜…

【KNN算法详解(用法,优缺点,适用场景)及应用】

KNN算法介绍 KNN(K Near Neighbor):k个最近的邻居,即每个样本都可以用它最接近的k个邻居来代表。KNN算法属于监督学习方式的分类算法,我的理解就是计算某给点到每个点的距离作为相似度的反馈。 简单来讲,…

【工具】Maven

文章目录0.Maven安装(不使用IDEA内置)1.Maven的作用2.Maven核心概念3.maven目录结构4.仓库5.pom文件5.1 坐标 gav5.2.packaging5.3.依赖5.4.配置属性5.5.build6.Maven生命周期7.junit 单元测试8.插件9.IDEA构建Maven10.创建javase项目11.web工程12.依赖的…

【Linux】初识动静态库/动静态链接

文章目录动静态库的基本原理认识动静态库动静态库的特性手动安装静态库动静态库的基本原理 首先,文件和头文件最终变成一个可执行程序需要经历以下四个步骤: 1)预处理:预处理所要完成的有,头文件展开、去注释、宏替换…

【HTML系列】第四章 · 列表和表格

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

【艾特淘】淘宝做爆款的目的是什么?怎么做?

其实在淘宝上面也有很多卖家都想要去打造属于自己店铺的爆款商品。 但是又不知道淘宝做爆款商品的目的是什么,也不知道爆款商品到底应该要怎么做,我马上就来给各位卖家介绍。 我们打造爆款是为了让我们通过爆款赚钱,通过爆款引来的流量带动其…

计算机| 关于CPU的12个知识点(图文详解)

CPU是什么? CPU与计算机的关系就相当于大脑和人的关系,它是一种小型的计算机芯片,通常嵌入在电脑的主板上。 CPU的构建是通过在单个计算机芯片上放置数十亿个微型晶体管来实现。 这些晶体管使它能够执行运行存储在系统内存中的程序所需的计…

JS手写浅拷贝与深拷贝

目录 1、引言 2、深拷贝与浅拷贝介绍 2.1、概念 2.2、实现方式 3、手写代码 1、引言 要了解浅拷贝与深拷贝,首先要知道 堆 和 栈 的概念 堆栈: 就是存放数据的地方(不管是定义的数字、字符串、对象还是数组、函数等等,都会在…

学习HM微博项目第10天

步骤:发微博12-表情键盘06-点击表情 -> 发微博13-表情键盘07-插入表情和封装textView -> 发微博14-表情键盘08-长按表情 -> 发微博15-表情键盘09-最近表情 -> 发微博16-表情键盘10-最近表情完善 发微博12-表情键盘06-点击表情 APP的演示动画&#xff…

完全自学C(干货) —— 预处理详解

目录 一,预定义符号 二,#define #define定义的标识符 #define定义宏 # ## 带副作用的宏参数 宏和函数的对比 #undef 三,命令行定义 四,条件编译 五,文件包含 #include 六,其他预处理指令 一&…

搞的谁还不会爬福利美女跳舞视频一样,用我这个方法非常简单。

大家好啊!经常听别人说爬虫玩的好,*****!其实没有这么恐怖,爬虫你一般都是采集公开的信息,所以不会像网络传言那样,大家只要遵守协议,不会出问题的。 话说学编程语言的应该都是男孩子哈&#xf…

不解释

(1)业务线下 VS 线上大陆 VS 全球整合-国际规则合规企业 VS 产业极速联动-社会化资源调度(2)手段P:人工预测 VS 时序预测D:管理者人工指派任务 VS 运筹学最优求解C:人工检查监督审批工作流 VS …