zoukankan      html  css  js  c++  java
  • 【赵强老师】MongoDB的inMemory存储引擎

    一、MongoDB的存储引擎概述

    存储引擎(Storage Engine)是MongoDB的核心组件,负责管理数据如何存储在硬盘(Disk)和内存(Memory)上。从MongoDB 3.2 版本开始,MongoDB 支持多数据存储引擎(Storage Engine),MongoDB支持的存储引擎有:WiredTiger,MMAPv1和In-Memory。从MongoDB 3.2 版本开始,WiredTiger成为MongDB默认的Storage Engine,用于将数据持久化存储到硬盘文件中。目前,MongoDB支持以下三种存储引擎:

    • WiredTiger:WiredTiger提供文档级别(Document-Level)的并发控制,检查点(CheckPoint),数据压缩和本地数据加密( Native Encryption)等功能。从MongoDB 3.2 版本开始,WiredTiger成为MongDB默认的Storage Engine。
    • MMAPv1:在MongoDB 3.2版本前,MMAPv1是默认的数据存储引擎。
    • In-Memory Storage Engine:In-Memory存储引擎将数据存储在内存中,除了少量的元数据和诊断(Diagnostic)日志,In-Memory存储引擎不会维护任何存储在硬盘上的数据(On-Disk Data),避免Disk的IO操作,减少数据查询的延迟。

    二、In-Memory Storage Engine

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

    mongod --storageEngine inMemory --dbpath <path>

    说明:

    • 关于--dbpath参数:虽然In-Memory 存储引擎不会向文件系统写入数据,但是它需要使用 --dbpath 维护少量的元数据和诊断(Diagnostic )日志。
    • 关于内存的使用:--inMemorySizeGB 设置占用的内存数量,默认值是:50% of RAM-1GB。指定In-Memory 存储引擎使用的内存数据量,单位是GB。
    • 关于持久化:由于In-Memory 存储引擎不会持久化存储数据,只将数据存储在内存中,读写操作直接在内存中完成,不会将数据写入到Disk文件中,因此,不需要单独的日志文件,不存在记录日志和等待数据持久化的问题,当MongoDB实例关机或系统异常终止时,所有存储在内存中的数据都将会丢失。

     启动过程如下图所示:

  • 相关阅读:
    php Thinkphp 经纬度查位置(误差200米左右)
    php redis 基础操作 Thinkphp 直接套用
    超实用的华为云服务器选购技巧经验!
    连续四年第一!华为云FusionAccess夺桌面云市场桂冠
    华为云服务器、云数据库、云安全免费送!
    Linux_CentOS_6.5安装Nginx
    PHP破解wifi密码(wifi万能钥匙的接口)
    PHP+json开发API接口实例
    52首歌,一个你
    js 获取前天、昨天、今天、明天、后天的时间
  • 原文地址:https://www.cnblogs.com/collen7788/p/12679266.html
Copyright © 2011-2022 走看看