美文网首页
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 浅谈

    作为全球最流行的文档型NoSQL数据库(根据DB-Engines的排名),MongoDB一直备受关注,而Stora...

  • mysql Storage Engines

    https://dev.mysql.com/doc/refman/5.7/en/storage-engines.h...

  • oldguo-MySQL 8.0 OCP 原题解析-Q27

    Question 27: Which two storage engines provide a view of ...

  • MongoDB Engines

    MongoDB 3.0 added wiredTiger engine, it is recommend usin...

  • MYSQL(01)-模块介绍

    整体框架 MySQL 可以分为 Server 层和存储引擎层(Storage Engines)两部分 Server...

  • 云计算D7

    参考 windows下MongoDB的安装及配置 浅谈如何用Java操作MongoDB?

  • 浅谈MongoDB数据库

    浅谈MongoDB数据库 Java操作MongoDB数据库简介MongoDB 介绍数据库安装MongoDB使用Mo...

  • MongoDB基础

    MongoDB 导读:全球最受欢迎的数据库排行:www.db-engines.com/en/ranking 简介M...

  • 浅谈MongoDB

    MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提...

  • [node] engines

    1. 背景 npm 3.0.0之后package.json的engineStrict属性就不支持了, This f...

网友评论

      本文标题:MongoDB Storage Engines 浅谈

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