美文网首页
{MongoDB} 存储引擎

{MongoDB} 存储引擎

作者: windflow | 来源:发表于2016-09-11 21:00 被阅读0次

从3.2版本开始,采用WiredTiger作为默认引擎,替换原有的MMAPv1引擎。

MMAPv1

基于内存映射文件
高吞吐的插入,读取和本地更新
通过日志来来恢复数据。内存数据每60秒写入硬盘,日志每100毫秒写入硬盘。

当文档所在的记录块超过分配的容量时,将分配2倍的记录空间来存储原有的块内容。

自动采用所有可用的内存作为缓存,由操作系统的虚拟内存系统来管理,所以还可能涉及到磁盘文件交换。

WiredTiger $

*文档级别并发
多客户端可以同时修改同一条记录。使用乐观并发控制。使用全局,数据库和表级别锁。当检测到两个操作之间的冲突时,mongoDB会重试操作。

*快照和检查点
WiredTiger采用MVCC(多版本并发控制)。在一次操作的开始,WiredTiger提供即时快照,保存内存数据的一致性视图(cache)。每60s或日志文件达到2GB时会将当前的数据持久化到WAL(Write ahead log),产生一个新的检查点。Wiredtiger连接初始化时,首先将数据恢复至最新的快照状态,然后根据WAL恢复数据,以保证存储可靠性。

*日志
日志记录了两次检查点之间的所有数据变更。如果在写入检查点之前退出了,从日志恢复上次检查点之后的数据改动。

*数据压缩

*内存占用
WiredTiger内部缓存和文件系统缓存

全内存引擎

mongod --storageEngine inMemory --dbpath <path>
或者 YAML配置文件
storage:
engine: inMemory
dbPath: <path>

相关文章

  • MongoDB之存储引擎

    从MongoDB 3.2 版本开始,WiredTiger成为MongDB默认存储引擎。 存储引擎要做的事情无外乎是...

  • MongoDB 3.0 更新日志(翻译)

    MongoDB 3.0 更新日志(翻译) 原文 主要变化 支持存储引擎选择API 增加WiredTiger存储引擎...

  • {MongoDB} 存储引擎

    从3.2版本开始,采用WiredTiger作为默认引擎,替换原有的MMAPv1引擎。 MMAPv1 基于内存映射文...

  • Mongodb存储引擎

    插件式存储引擎API 插件式存储引擎API的引入为处理更多不同类型的业务提供了无限可能,内存存储引擎、事务存储引擎...

  • MongoDB 存储引擎

    简单回顾 上次我们说到了关于 mongodb 的集群,分为主从集群和分片集群,对于分片集群中的分片这里需要注意如下...

  • MongoDB 引擎

    存储引擎 该存储引擎是负责管理数据的存储,无论是在内存和磁盘数据库的组成部分。MongoDB支持多个存储引擎,因为...

  • [译文]MongoDB WiredTiger引擎调优技巧

    MongoDB从3.0开始引入可插拔存储引擎的概念。当前,有不少存储引擎可供选择:MMAPV1、WiredTige...

  • mongodb存储引擎WiredTiger

    MongoDB2.3后默认采用WiredTiger存储引擎。 组成 WiredTiger由三部分组成: Mongo...

  • 存储引擎和索引

    存储引擎: Archive:用于数据存档归档;(mongodb可以代替)压缩率高;插入快,查询慢;Memory引擎...

  • MongoDB 默认存储引擎WiredTiger特性

    前言 与 MySQL 一样,MongoDB 也有不同类型的存储引擎,不同的存储引擎解决不同场景的问题。创建数据库或...

网友评论

      本文标题:{MongoDB} 存储引擎

      本文链接:https://www.haomeiwen.com/subject/clouettx.html