【赵渝强老师】MongoDB的存储结构

在这里插入图片描述
  MongoDB是一个可移植的NoSQL数据库,它几乎可以运行在所有的操作系统之上,从而实现了跨平台性。尽管在不同的操作系统上虽然略有差别,但是从整体上来看,MongoDB在不同的操作系统平台上的体系架构(如数据逻辑结构和数据存储等等)都是一样的。一个运行着的MongoDB数据库就可以看成是一个MongoDB服务器,该服务器由MongoDB数据库实例和MongoDB数据库组成。在一般情况下,一个MongoDB数据库实例可以对应有多个MongoDB数据库,这一点与MySQL数据库类似。如下图所示。
在这里插入图片描述
  与MySQL和Oracle等关系型数据库类似,MongoDB也是通过逻辑存储结构来管理物理存储结构。
  视频讲解如下:

MongoDB的存储结构

【赵渝强老师】MongoDB的存储结构

一、逻辑存储结构

  MongoDB的逻辑存储结构是一种层次结构,主要包括了三个部分,即:数据库(Database)、集合(Collection,也可以叫做表)和文档(Document,也可以叫做记录)。MongoDB的逻辑存储结构是面向用户使用的,使用mongoshell或者应用程序操作MongoDB时,主要就是操作的MongoDB逻辑存储结构。数据库(Database)、集合(Collection)和文档(Document)的层次结构。如下图所示。
在这里插入图片描述

二、物理存储结构

  MongoDB的默认数据目录是/daba/db,它将负责存储所有的MongoDB的数据文件。在MongoDB内部,每个数据库都包含一个.ns文件、多个数据文件和日志文件。这些文件会随着MongoDB数据量的增加变的越来越多,具体如下:

  • 命名空间文件
      MongoDB的命名空间文件的后缀是ns,默认大小是16M。
    数据文件:
      MongoDB的数据文件后缀是0、1、2…,而.0文件16M,.1文件32M,往后则翻倍,最大值为2G,这样可以让小数据库不浪费太多的空间,大数据库能够使用磁盘上连续的空间。通过牺牲空间,换取时间。

由于从3.2版本开始,MongoDB使用了WiredTiger的存储引擎。因此无法直接在/daba/db目录下看到命名空间文件和数据文件。但使用MMAPv1的存储引擎就可以很清楚地看到这些类型的文件。

  • 日志文件
      MongoDB会根据不同的日志信息将日志存储在不同的位置上。下表列举了MongoDB存储日志的相关存储位置信息。
    在这里插入图片描述
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

赵渝强老师

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

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

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

打赏作者

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

抵扣说明:

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

余额充值