美文网首页
MongoDB Storage Engines 浅谈

MongoDB Storage Engines 浅谈

作者: zivsu | 来源:发表于2016-08-08 01:20 被阅读0次

    作为全球最流行的文档型NoSQL数据库(根据DB-Engines的排名),MongoDB一直备受关注,而Storage更是受到关注的组件之一。MongoDB Inc收购了WiredTiger之后,根据官方博客得知,WiredTiger相比MMAP(Memory Mapping),性能提高了7-10倍,降低了80%的存储占用空间、降低了高达95%操作开销、支持高达50个副本集。加入到3.0版本,并成为3.2版本默认Storage。一句话:质的飞跃。下面让我们来比较下两者的差异:

    1、Concurrency

    MMAP使用Collection-Level的锁,如果一个客户端请求修改Document内容,那么其他的客户端的请求不能再控制当前Document下的Collection,好吧,听起来有点糟糕。

    WiredTiger使用Document-Level的锁。多个客户端可以对同一个Collection进行操作,而不能对同一个Document进行操作。

    2、Compression

    数据大量增长,必然减少磁盘的开销

    WiredTiger实现了两种方式进行压缩

    Snappy compression

    Zlib

    Zlib相对Snappy compression,具有更快的压缩速度 而MMAP没有实现压缩

    3、Consistency

    MongoDB每60s 会将数据写入磁盘,为了防止服务器宕机造成数据丢失,采取journal文件,而每100ms会写入journal文件 MMAP使用journal恢复文件 WiredTiger添加了checkpoints实现,每隔60s或者journal达到2G时,将会创建checkpoint,如果崩溃或者宕机,可回退到最新的有效checkpoint

    目前知识有限,浅显介绍,之后会更加深入:)

    相关文章

      网友评论

          本文标题:MongoDB Storage Engines 浅谈

          本文链接:https://www.haomeiwen.com/subject/piolsttx.html