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引擎的优化其实主要集中在内存控制 索引压缩两方面,非常好记
五 Mongo对比mysql优势点
1 mongoDB对于开发者十分友好,拿到的数据都是json格式,同时开发者维护数据库也很方便。
2 mongodb 适用于存储数据表结构复杂并且经常被修改,
3 mongoDB官方自带分布式架构,可以针对海量的数据进行无限扩张,用来提升性能
转载于:https://www.cnblogs.com/danhuangpai/p/10571158.html
mongodb 系列 ~ mongo的两种引擎对比相关推荐
- 数据库的两种引擎Innodb和MyIASM
Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别,关于数据库事务与其隔离级别的内容请见数据库事务与其隔 离级别这篇文章.该引擎还提供了行级锁和外键 ...
- php mysql 连接方法 对比_Mysql实例php连接MySQL的两种方式对比
<Mysql实例php连接MySQL的两种方式对比>要点: 本文介绍了Mysql实例php连接MySQL的两种方式对比,希望对您有用.如果有疑问,可以联系我们. MYSQL数据库记录一下P ...
- 20190508——python基础(if...in...循环语句、while循环、两种循环对比)
二.python基础(if...in...循环语句.while循环.两种循环对比) 1.for...in...循环语句 1)for循环:空房间 # 空房间的学名叫[元素](item),因为英文是ite ...
- android注册广播两种方式,Android 注册广播的两种方式对比
Android 注册广播的两种方式对比 1.常驻型广播 常驻型广播,当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接受到, 他的注册方式就是在你的应用程序中的AndroidManif ...
- 外媒:iPhone13系列将推出两种新配色:日落金和玫瑰金
7月13日消息,据国外媒体报道,苹果iPhone 13系列将于9月正式发布,目前有最新消息称,今年的iPhone13系列将新增两种配色,分别是日落金和玫瑰金. 据报道,该系列将有四款机型,分别是 iP ...
- mysql常用的两种数据库引擎_Mysql数据库常用两种引擎的介绍
1.数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在MySQL数据库中,常用的引擎主要就是2个:Innodb和MyIAS ...
- android两种广播注册区别,Android 注册广播的两种方式对比
Android 注册广播的两种方式对比 1.常驻型广播 常驻型广播,当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接受到, 他的注册方式就是在你的应用程序中的AndroidManif ...
- Java两个线程交替打印奇偶数(两种方法对比)
简介 本文将承接文章<Java多线程wait()和notify()系列方法使用教程>,我们将通过"两个线程交替打印100内的奇偶数",来展示下wait()方法和noti ...
- java中map类型_Java中Map类型遍历的两种方式对比
Java中Map类型是存储键值对数据的类型,在编程过程经常使用,进行遍历操作对于每个Java程序员都不会模式,下面总结两种常用的遍历方式(一种keySet,一种entrySet),通过对比让你明白使用 ...
- 福光电子蓄电池测试仪软件,福光电子蓄电池容量测试仪IDCE-4815C系列——交直流两种供电方式...
IDCE-4815C系列蓄电池容量测试仪无线单体监测,超大彩屏显示,交直流两种供电方式 产品特点: 采用蓝牙无线单体监测技术,支持2V/6V/12V单体电压监测. 单体电压采集和记录采用总线数据结构, ...
最新文章
- 【iOS开发-8】UIButton类型属性简单归纳以及自定义按钮的设置
- 5500以太网模块pcb布局_以太网PCB布局布线
- 如何更改自己电脑上的COM端口号
- 给windows 98 客户虚拟机安装VMWare tools
- 中原标准时间对时_GPS对时系统(时间同步系统)应用电子政务
- python中swap函数_python swap
- 用模糊查询like语句时如果要查是否包含%字符串该如何写
- 微信红包封面向个人开放,1元定制!
- Java SpringBoot 页面渲染
- 中国1,2,4-三氟苯市场趋势报告、技术动态创新及市场预测
- Hive 入门练习题
- 百度搜索风云榜Rss
- 杂谈:微信推出赞赏码功能
- Redis Operator学习笔记
- 算法分析-时间复杂度:大O、大Ω、大θ、小o、小ω
- 三大常用个人邮箱 163 Gmail QQMail之用户体验分析
- 计算机输入法在桌面显示不出来的,电脑桌面输入法不见了怎么办?
- 【python-docx 06】理解word样式
- CSU 1803:2016解题报告
- android metal api,Metal 简述及其API
热门文章
- Atitit 开发效率大法 v0 t025.docx Atitit 提升开发效率几大策略 目录 1. 提升效率三原则	3 1.1. 更少的代码量简化	3 1.2. 优化配置减少等待	3 1.3.
- Atitit 企业战略目标的艺术 目录 1. 企业战略目标	1 2. 特点 ▪ 宏观性 ▪ 长期性 ▪ 全面性 稳定性	1 3. 内容	2 3.1. 彼得·德鲁克在《管理实践》一书中提出了八个
- Atitit需求文档模板大纲目录 attilax总结
- paip.Java Annotation注解的作用and 使用
- paip.提升性能---首页性能加快解决方案
- ATIchinapay银联支付模块.zip
- paip.SVN无法提交--提示冲突的解决
- bbs与BLOG与SNS在区别
- 袁承兴:Rust异步编程 Pinning
- 期货交易的异常交易认定标准