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?

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

结构是什么样子呢?

MongoDB综述【入门指南】_第1张图片

数据库中的关系

MongoDB综述【入门指南】_第2张图片

架构中的应用

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

MongoDB综述【入门指南】_第3张图片

特性:

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

MongoDB综述【入门指南】_第4张图片

你可能感兴趣的:(MongoDB,mongodb,数据库)