【赵渝强老师】MongoDB的存储引擎

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 存储引擎是MongoDB的核心组件,负责管理数据在硬盘和内存中的存储方式。从3.2版本起,MongoDB支持WiredTiger、MMAPv1和In-Memory三种存储引擎。WiredTiger为默认引擎,提供文档级并发控制和数据压缩;MMAPv1在3.2版本前为默认引擎,4.x版本后不再支持;In-Memory引擎将数据存储在内存中,减少查询延迟。

b108.png

   

存储引擎(Storage Engine)是MongoDB的核心组件,它负责管理数据如何存储在硬盘(Disk)和内存(Memory)上。从MongoDB 3.2 版本开始,MongoDB支持多种类型的数据存储引擎。视频讲解如下:

   

从MongoDB的发展历史上看,支持以下三种存储引擎:

  • WiredTiger存储引擎

   

WiredTiger提供文档级别(Document-Level)的并发控制,检查点(CheckPoint),数据压缩和本地数据加密( Native Encryption)等功能。从MongoDB 3.2 版本开始,WiredTiger成为MongDB默认的Storage Engine


  • MMAPv1存储引擎

 

在MongoDB 3.2版本前,MMAPv1是默认的数据存储引擎。MongoDB从4.x版本开始不再支持存储引擎。


  • In-Memory 存储引擎

   

In-Memory存储引擎将数据存储在内存中,除了少量的元数据和诊断(Diagnostic)日志,In-Memory存储引擎不会维护任何存储在硬盘上的数据(On-Disk Data),避免Disk的IO操作,减少数据查询的延迟。


提示:在MongoDB 3.x支持WiredTiger、MMAPv1和In-Memory的存储引擎。

   

我们将在后续的更新中,为大家详细介绍这三种存储引擎的功能。


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
6天前
|
存储 NoSQL MongoDB
【赵渝强老师】MongoDB的MMAPv1存储引擎
在MongoDB 3.2版本之前,默认使用MMAPv1存储引擎。MMAPv1包括Database、Namespace、数据文件、Extent和Record等组件。每个Database由名称空间文件和数据文件组成,数据文件按编号递增,大小从64MB到2GB。每个数据文件被划分为多个Extent,每个Extent包含多个Record,对应MongoDB中的文档。通过一个示例展示了如何配置和使用MMAPv1存储引擎。
|
6天前
|
存储 缓存 NoSQL
【赵渝强老师】MongoDB的WiredTiger存储引擎
MongoDB WiredTiger存储引擎自3.2版本起成为默认选择,提供文档级别的并发控制、检查点、数据压缩和本地加密等功能。本文详细介绍了WiredTiger的并发控制机制、预写日志与检查点、内存使用、数据压缩及磁盘空间回收等特性。
|
6天前
|
存储 NoSQL MongoDB
【赵渝强老师】MongoDB的In-Memory存储引擎
MongoDB的In-Memory存储引擎将数据存储在内存中,显著减少查询延迟,提高性能。该引擎不会将数据持久化到硬盘,仅在内存中存储,因此重启后数据会丢失。本文通过创建目录、配置文件、启动服务、插入数据和查询等步骤,详细演示了如何使用In-Memory存储引擎。
|
7天前
|
存储 NoSQL MongoDB
【赵渝强老师】MongoDB复制集中的成员
MongoDB复制集通常由一个主库和两个从库组成,可选添加仲裁者。主库负责所有写操作并记录Oplog日志,从库异步同步主库的Oplog日志并应用操作。仲裁者不存储数据,主要用于保证复制集中成员数量为奇数,参与选举投票。视频讲解详见B站链接。
|
7天前
|
存储 NoSQL MongoDB
【赵渝强老师】MongoDB复制集的体系架构
MongoDB的复制集是一种集群技术,由一个Primary节点和多个Secondary节点组成,实现数据的高可用性。Primary节点处理写入请求,Secondary节点同步数据。当Primary节点故障时,Secondary节点可通过选举成为新的Primary节点。视频讲解和示意图详见正文。
|
7天前
|
存储 NoSQL JavaScript
【赵渝强老师】MongoDB的客户端工具
MongoDB 是一个基于分布式文件存储的 NoSQL 数据库,提供了命令行客户端工具 mongoshell 和图形化工具 MongoDB Compass。mongoshell 可以进行数据查询和管理操作,而 MongoDB Compass 则支持可视化查询、聚合和数据分析。本文介绍了如何使用 mongoshell 连接 MongoDB 服务器、创建数据库和集合、插入数据以及配置命令提示符。同时,还展示了 MongoDB Compass 的主界面及其功能。
|
7天前
|
存储 NoSQL 网络协议
【赵渝强老师】MongoDB的安装与访问
本文介绍了在Linux系统上安装和部署MongoDB的详细步骤,包括安装依赖包、解压安装包、配置环境变量、创建数据目录及启动服务等。文中还提供了相关命令示例和注意事项,帮助用户顺利完成MongoDB的安装与配置。
|
1月前
|
存储 关系型数据库 MySQL
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景比较
|
19天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
20天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。

相关产品

  • 云数据库 MongoDB 版