笔记
Posted YuYunTan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了笔记相关的知识,希望对你有一定的参考价值。
MongoDB实战第二版笔记(11)第十章笔记
1、存储引擎是数据库和硬件直接的接口,不会改变shell或驱动里执行的查询,也不会在集群级别干扰MongoDB,但影响如何从磁盘写入、删除和读取数据以及存储使用的数据结构。
2、可插拔引擎API允许第三方为MongoDB开发存储引擎。
3、MongoDB之前使用MMAPv1做存储引擎,现在仍在使用,这是基于内存映射是MongoDB文档的解决方案。然而大量要存储数据时,它会随着数据增长快速消耗大量磁盘空间,每次预分配2GB的增长空间。MongoDB提供预分配空间机制,每个增加都是预分配2GB。3.0以后版本,可以告诉MongoDB使用哪个存储引擎。
4、MongoDB提供备选存储引擎WiredTiger。
5、WiredTiger是高性能的、可伸缩的、开源的数据存储引擎,专注于多核伸缩性【现代编程实现,风险指针和无锁机制】和最佳内存使用。
6、要启用WiredTiger,需要在配置文件YAML中设置存储参数即可。
MongoDB配置文件的不同参数。
7、WiredTiger和MMAPv1性能对比。
- WiredTiger启动服务器和初始化存储目录过程很痛苦【久】
- 无压缩模式的WiredTiger比MMAPv1少用磁盘。
- 纯读取,MMAPv1最慢,压缩版本的WiredTiger效率高。对缓存结果,MMAPv1比WiredTiger稍快。
8、B-树强大之处是基于磁盘的存储按块进行。
9、WiredTiger提供文档级别的锁,多个请求可以同时访问一个集合而不需要互相阻塞,只要没有同时写入一个文档。
以上是关于笔记的主要内容,如果未能解决你的问题,请参考以下文章