Mongo3.4 Storage Engines存储引擎(内存存储引擎)

从MongodDB3.2.6版本开始,内存存储引擎是64位版本的的一部分,除了一些元数据和一些诊断数据之外,内存存储引擎不维护硬盘上的任何数据,包括配置数据、索引、用户认证。

通过避免数据库的I/O,内存存储引擎可以避免更多数据库延迟。


指定内存存储引擎


mongod --storageEngine inMemory --dbpath <path>
使用配置文件指定内存存储引擎及保存元数据的路径
storage:
   engine: inMemory
   dbPath: <path>
并发

内存存储引擎对于MongoDB写操作使用文档级别的并发控制,因此,MongoDB可以在同一时刻修改同一个collection的多个document

内存存储引擎需要将他的所有数据(包括索引,如果是复制集的话也包含oplog)

默认情况下内存存储引擎使用50%的内存;

如果写操作会超过默认指定的内存大小,MongoDB会返回异常

"WT_CACHE_FULL: operation would overflow cache"
重新指定内存存储引擎的大小,使用YAML配置文件方式

storage:
   engine: inMemory
   dbPath: <path>
   inMemory:
      engineConfig:
         inMemorySizeGB: <newSize>

使用命令行的方式:

mongod --storageEngine inMemory --dbpath <path> --inMemorySizeGB <newSize>
持久化


MongoDB是非持久化的,不会将数据写入持久存储中,非持久化数据包含应用程序数据和系统数据,例如:用户、持久化、索引、复制集配置、分片配置等;因此,日志或等待数据成为持久性的概念并不适用于内存存储引擎。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值