MongoDB学习总结

目录

应用场景

数据结构

Database/Collection/Document

为什么读写快

主外键/事物

集群

索引

应用场景

  1. MongoDB主要用于大量的数据读写,关系型数据库最怕的就是大量的数据读写,因为会有磁盘的IO 操作。
  2. 比如可以用MongoDB存储一些仪器上面的数据,这些仪器可能每秒就会产生成千上万条数据。
  3. 还可以用MongoDB存储一些爬虫的数据。
  4. 所以只要遇到海量的数据要进行读写,就可以用MongoDB来进行存储。

数据结构

  1. MongoDB将数据存储为一个文档,数据结构由键值对组成。
  2. MongoDB采用了BSON存储文档数据。
  3. BSON类似于JSON格式,但是在进行数据存储的时候是以二进制的形式进行存储。
  4. BSON就是Binary JSON,相对于JSON格式多了Date类型和二进制数组。

Database/Collection/Document

  1. Database是数据库服务,类似于关系型数据库中的数据库。
  2. Collection是集合,类似于关系型数据库中的表。
  3. Document是文档,类似于关系型数据库中某张表的单条数据。
  4. 所以每个Database可以对应有多个Collection,每个Collection可以对应有多个Document,每个 Document都可以是Binary JSON格式,并且每个Document的Binary JSON格式有可能都不 一样。

为什么读写快

  1. MongoDB的数据首先是写入内存的,所以写入的操作会很快。
  2. 但是内存的空间是有限的,所以MongoDB会定时的进行刷盘。
  3. MongoDB如果读取磁盘数据的话,会存在一个寻道的时间,性能就会变低。

主外键/事物

  1. MongoDB没有主外键,所以MongoDB不支持关联查询。但是可以通过数据冗余的方式来解决主外键 的问题。
  2. MongoDB 4.0的版本就开始支持事务。如果通过集群的方式来实现事务,那必须是主库。

集群

  1. MongoDB的集群是一个主库,多个从库。主库挂了之后,从库会随机选择一个作为主库,之前的主库 重新启动之后会变为从库,跟Redis数据库基于主从复制的哨兵模式比较像。
  2. MongoDB的集群中会包含一个仲裁节点。仲裁节点不储存数据,如果主库挂了,仲裁节点会从多个从 库里面选择一个作为主库。

索引

  1. MongoDB的普通索引是可以存储重复的值。
  2. MongoDB的唯一索引不可以存储重复的值,但是可以为NULL。
  3. MongoDB的主键不可以存储重复的值,也不可为NULL。
  4. 创建索引的时候最好创建唯一索引,保证该字段的值是唯一的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子丶鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值