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

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的环境保姆级搭建教程和注意事项)

在这里插入图片描述

http://www.lryc.cn/news/56207.html

相关文章:

  • Python 3 备忘清单_开发速查表分享
  • Thinkphp 6.0模版的加载包含输出
  • ROS实践11 自定义头文件并调用
  • 一位年薪35W的测试被开除,回怼的一番话,令人沉思
  • 【Docker】Docker常用命令
  • 【linux基础】7.linux系统自定义应用名和应用图标
  • 10.网络爬虫—MongoDB详讲与实战
  • C4D -> Three.js资产制作与导入流程
  • 【博学谷学习记录】大数据课程-学习十三周总结
  • Spring Cloud快速入门
  • 论文学习——VideoGPT
  • Flutter系列(五)底部导航详解
  • 『pyqt5 从0基础开始项目实战』02. 页面布局设计(保姆级图文)
  • 【Python机器学习】——平均中位数模式
  • Windows窗口
  • Spring Transaction 源码解读
  • [Netty] Channel和ChannelFuture和ChannelFutureListener (六)
  • 条件渲染
  • springboot(10)异步任务
  • 清华大学开源的chatGLM-6B部署实战
  • 通过矩阵从整体角度搞懂快速傅里叶变换原理
  • 【C++从0到1】25、C++中嵌套使用循环
  • FastDFS与Nginx结合搭建文件服务器,并内网穿透实现公网访问
  • 密集场景下的行人跟踪替代算法,头部跟踪算法 | CVPR 2021
  • Matlab与ROS(1/2)---服务端和客户端数据通信(五)
  • 数字化转型的避坑指南:细说数字化转型十二大坑
  • pt05Encapsulationinherit
  • 面向对象编程(基础)9:封装性(encapsulation)
  • fate-serving-server增加取数逻辑并源码编译
  • 循环队列、双端队列 C和C++