MongoDB综述【入门指南】

写这篇博客,正好是
2023年4月5日15:29:31,是清明节,放假一天,我坐在我的小小租房室内,思考着没思考到啥,哈哈哈,感觉好着急啊!看完了一本《城南旧事》,但是就是不踏实,好吧~我来写一篇最近在学的一个技术为了更优秀的自己~奥利给!!
首先,我们从最初级小白开始(因为自己也是小白~哈哈哈!)
MongoDB
在介绍今个的正主之前,咱们要看看我们的正主的大环境背景和身世
1.什么是NoSql?
听着这个名字到感觉挺高大上的,其实没啥,就是一种数据库的技术,而且不遵守一些约束的数据库技术,比如事务,表结构它都不遵守那你可能会问?那玩个锤子 别急嘛!!
NoSQL优缺点
换位思考下~,既然满足不了这些,肯定会释放出一些它独有的优势和对应的缺点哈!!
| nosql的优点 | 缺点 |
|---|---|
| 1.满足对数据库的高并发读写 | 一般不支持事务 |
| 2.对海量数据的高效存储和访问 | 实现复杂SQL查询比较复杂 |
| 3.对数据库高扩展性和高可用性 | 运维人员数据维护门槛较高 |
| 4.灵活的数据结构,满足数据结构不固定的场景 | 目前不是主流的数据库技术 |
NoSql分类
| 序号 | 类型 | 典型代表 | 应用范围 |
|---|---|---|---|
| 1 | key-value | redis,memcached |
缓存,高并发数据query |
| 2 | 列式DB | cassandra,hbase |
分布式文件系统 |
| 3 | 文档型DB | mongoDB |
web应用,并发能力强,表结构可变 |
| 4 | 图结构DB | infoGrid,neo4J |
社交网络,推荐系统,关注购机爱你图谱 |
号外!号外!目前的
MongoDB已经月拉埃越火了,么西么西?有多火,已经超过了redis,接下来请走近
mongodb,发现科学,发现美~哈哈哈!
2.什么是MongoDB?
- 是一个数据库(好像废话!~哈哈)
- 高性能,无模式,文档性
- 如上面的介绍,是``nosql`最热门的的,最像关系数据库
结构是什么样子呢?

数据库中的关系

架构中的应用
从网上摘抄来的哈!!为了更加仔细直观了解

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



