mongodb 系列 ~ mongo的两种引擎介绍对比
一 简介 两种引擎方式的对比
二 对比与说明
1 版本支持
MMAP引擎 3.2版本之前,默认引擎
WT 引擎 3.2版本之后,默认引擎
2 并发性能(核心)
MMAP引擎 globallock->dblock->collectionlock 相当于mysql的myisam引擎
WT 引擎 globallock->dblock->collectionlock->documentlock 相当于mysql的innodb引擎
从3.2.x开始,WiredTiger成为默认的存储引擎。最为MongoDB目前最流行的存储引擎,WiredTiger与原先的MMAPV1相比有以下优势:
3 压缩加密
MMAP引擎 要求数据在内存和在磁盘的形式一致(map磁盘内存映射)。因此,它并不支持压缩和加密
WT 引擎 支持压缩和加密,占用的物理磁盘空间更少
4 索引压缩
WT 引擎 使用前缀压缩——相同的前缀只存一次 .占用的物理内存空间更少
5 内存控制
WT 引擎拥有了控制使用内存的限制参数,和innodb一样
三 WT引擎参数优化
1 wiredTigerCacheSizeGB=48
含义
1 cacheSizeGB 指的就是Cache size,包括数据和索引。Mongod本身使用内存如连接池堆栈以及sorting buffer等都是额外的,不会被统计到这个数字里面。
2 MongoDB在做诸如聚合、排序、连接管理等操作时需要额外的内存。因此,必须确保有足够的内存可供使用,否则,MongoDB进程有被OOM killer杀死的风险。
和mysql的innodb_buffer_pool很像呢,数据索引放在内存里,排序需要额外的内存
2 推荐配置
服务器内存X75%
3 查看状态命令
db.serverStatus().wiredTiger.cache
2 wiredTigerDirectoryForIndexes=true
1 含义
Index文件和数据文件分离,索引一个目录,数据一个目录。
去具体的collection目录下可以发现
collection index 两个目录
3 wiredTigerDirectoryForIndexes=true
1 含义
是否开启索引的前缀压缩,这里影响所有DB的索引。它会一次存储所有前缀一样的索引,
减少内存、磁盘IO的消耗,默认开启。
4 wiredTigerCollectionBlockCompressor=snappy
1 含义
采用何种压缩方式 默认snappy 不建议采用zlib方式,会加重CPU的负担
四 总结
WT引擎的优化其实主要集中在内存控制 索引压缩两方面,非常好记
mongodb 系列 ~ mongo的两种引擎介绍对比的更多相关文章
- 分享知识-快乐自己:mysql数据库常见两种引擎
mysql的常用引擎 在MySQL数据库中,常用的引擎主要就是2个:Innodb和MyIASM. 首先: 1.简单介绍这两种引擎,以及该如何去选择. 2.这两种引擎所使用的数据结构是什么. Innod ...
- [转载]C#读写txt文件的两种方法介绍
C#读写txt文件的两种方法介绍 by 大龙哥 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char ...
- C#读写txt文件的两种方法介绍
C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...
- C#读写txt文件的两种方法介绍[转]
C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...
- C#读写txt文件的两种方法介绍 v
C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...
- spring-data-mongodb两种实现方式对比
spring-data-mongodb两种实现方式对比 参考链接:https://blog.csdn.net/feinifi/article/details/83752862
- Android视频播放的两种方式介绍
1.在Android 中播放视频的方式有两种: 第一种方式是使用MediaPlayer 结合SurfaceView 来播放,通过MediaPlayer来控制视频的播放.暂停.进度等: 通过Surfac ...
- 数据权限筛选(RLS)的两种实现介绍
在应用程序中,尤其是在统计的时候, 需要使用数据权限来筛选数据行. 简单的说,张三看张三部门的数据, 李四看李四部门的数据:或者员工只能看自己的数据, 经理可以看部门的数据.这个在微软的文档中叫Row ...
- 数据库基础知识详解五:MySQL中的索引和其两种引擎、主从复制以及关系型/非关系型数据库
1.MySQL中的索引 在MySQL,索引是由B+树实现的,B+是一种与B树十分类似的数据结构. 形如下面这种: 其结构特点: (1)有n课子树的结点中含有n个关键码. (2)非根节点子节点数: ce ...
随机推荐
- 第十六节、基于ORB的特征检测和特征匹配
之前我们已经介绍了SIFT算法,以及SURF算法,但是由于计算速度较慢的原因.人们提出了使用ORB来替代SIFT和SURF.与前两者相比,ORB有更快的速度.ORB在2011年才首次发布.在前面小节中 ...
- java键盘中输入q退出
用 java.util.Scanner 如下 public static void main(String[] args) { while(true){ Scanner scan = new Scan ...
- (链表 递归) leetcode 24. Swap Nodes in Pairs
Given a linked list, swap every two adjacent nodes and return its head. You may not modify the value ...
- day-02(css,js)
本文档并非个人所写,只是便于参考:回顾: html: 作用:展示 文件标签: <html> <head> <title></title> </he ...
- Xenserver之设置Xenserver和VM机开机自动启动
一.设置Xenserver开机自动启动 [root@xenserver-DS-TestServer09 ~]# xe pool-list uuid ( RO) : b1c803a6-88cf-7b24 ...
- 【.NET】asp.net Redirect 图片路径
#需求: 前端通过<img>的src向服务端请求图片信息,如果不存在想要的图片,那么就返回一张默认路径下的图片: #实现: <img class="related_reso ...
- python while 格式化 运算符 编码
#######################总结############# 1. 循环 while 条件: 循环体(break, continue) 循环的执行过程: 执行到while的时候. 首先 ...
- MAC上截图,编辑图片与恢复图片
1.Command+shift+3:全屏截图,保存截图到桌面 2.Command+shift+4:鼠标选定区域截图,保存截图到桌面 3.Command+shift+4+Space(空格键):程序窗口截 ...
- Sqlserver中的索引
一.什么是索引及索引的优缺点 1.1 索引的基本概念 数据库索引,是数据库管理系统中一个排序的数据结构,用来协助快速查询数据库表中数据. 简单理解索引就是一个排好顺序的目录,设置了索引就意味着进行了 ...
- overlay网络隔离实验失败记录
按照 https://www.cnblogs.com/CloudMan6/p/7341487.html进行操作,实验结果与老师文章中的正好相反,不同 overlay 网络中的主机可以通信,验证部分见下 ...