MongoDB wiredTiger存储引擎下的存储方式LSM和B-Tree比较

释放双眼,带上耳机,听听看~!

前段时间做拦截件监控的时候把拦截件生命期存入mongodb,因生命期有各种变化,因此对此表的更新写操作非常多,老大给我看了一篇文章,才知道mongodb已经支持lsm存储方式了。

原文如连接:https://github.com/wiredtiger/wiredtiger/wiki/Btree-vs-LSM

文中对比了LSM和B-Tree的读写吞吐量,在单线程写操作下和多线程读操作下的差异。英文差的小伙伴别指望我这个半吊子来翻译了。

总结一点就是:在写操作上,LSM的吞吐量会是B-Tree的1.52倍   而在读操作上,随着读线程的增加,LSM性能下降很明显,B-Tree在读的性能上吞吐量是LSM的1.52倍。

因此在一个表需要频繁的进行写操作时,换成LSM的存储方式,将会是一个不错的选择。

目前正准备从B-Tree转向LSM,需要一段时间验证其效果。

另,目前只知道在创建collection的时候可以修改存储方式,脚本如下:


1
2
3
4
5
1db.createCollection(
2"TestTable",
3{storageEngine: { wiredTiger: {configString: "type=lsm"}}}
4)
5

 

转载于:https://www.cnblogs.com/sylvialucy/p/8883646.html

给TA打赏
共{{data.count}}人
人已打赏
安全运维

OpenSSH-8.7p1离线升级修复安全漏洞

2021-10-23 10:13:25

安全运维

设计模式的设计原则

2021-12-12 17:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索