前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【赵渝强老师】MongoDB的存储结构

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

原创
作者头像
赵渝强老师
发布2024-08-12 15:16:01
1580
发布2024-08-12 15:16:01
举报
文章被收录于专栏:NoSQL数据库

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

  与MySQL和Oracle等关系型数据库类似,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存储日志的相关存储位置信息。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、逻辑存储结构
  • 二、物理存储结构
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档