mongo实战2——第10章 存储引擎

本文深入探讨MongoDB的可插拔存储引擎,重点介绍WiredTiger引擎的高性能特性及配置参数,包括内存缓存、压缩算法等。同时,文章还涵盖了RocksDB和TokuteDB等其他存储引擎,以及MongoDB 3.0后引入的文档级锁机制。
摘要由CSDN通过智能技术生成


MongoDB3.0之后,引入了可插拔的存储引擎。3.2之前的存储引擎默认为MMAPv1、3.2之后默认的存储引擎为WiredTiger。

WiredTiger引擎

WiredTiger是个高性能的、可伸缩的、开源的数据存储引擎,它专注于多核伸缩性和最佳的内存使用。

注:书中使用大量的篇幅对比MMAPV1与WiredTiger的性能,由于从4.0后MMAPV1已经不建议使用,这里就不在赘述。

WiredTiger配置参数

  • engineConfig.cacheSize 配置wiredTiger 使用内存的大小,可以加速数据的查询,默认是物理内存的一半,最少是1GB
  • engineConfig.journalCompressor 配置压缩算法,默认snappy,也可以设置为none,获取最佳性能
  • collectionConfig.blockCompressor 配置wiredTiger对集合数据的压缩算法,支持none 、snappy、zlib,默认是snappy
  • indexConfig.prefixCompression 配置是否压缩索引数据,默认true

其他可插拔的存储引擎

RocksDB

由Facebook开发,基于Google的LevelDB数据库,受到Apache的HBase启发,RocksDB是个键值对存储库,通过LSM树来提供低延迟数据库。RocksDB的写入性能较高。

TokuteDB

是另外一个键值存储引擎,使用分形树索引来替换WiredTiger默认的B-树数据结构。

在MongoDB3.0后的wiredTiger存储引擎支持文档级别的锁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值