当前位置:首页 > 开发 > 开源软件 > 正文

Mongodb FAQ 存储(storage)篇

发表于: 2013-07-10   作者:donlianli   来源:转载   浏览次数:
摘要: 1、什么是内存映射文件(memory mapped files)? 内存映射文件是操作系统通过调用函数mmap()创建的一个放在内存中的一个数据文件。这种文件可以当做一个从零开始的内存或者数组,你可以将内容放在任意位置。内存映射文件是mongodb存储引擎中的一个很重要组成部分。通过使用这种文件,mongodb可以将数据文件当内存一样任意分配和使用。同时又可以以一种极其简单的访问方式和极快的速度

1、什么是内存映射文件(memory mapped files)?

内存映射文件是操作系统通过调用函数mmap()创建的一个放在内存中的一个数据文件。这种文件可以当做一个从零开始的内存或者数组,你可以将内容放在任意位置。内存映射文件是mongodb存储引擎中的一个很重要组成部分。通过使用这种文件,mongodb可以将数据文件当内存一样任意分配和使用。同时又可以以一种极其简单的访问方式和极快的速度访问和操作数据。

 

2、内存映射文件的原理是什么?

内存映射文件会将一个文件映射到内存,使mongodb以访问内存的方式访问文件(无需经过操作系统的缓存,性能高)。

 

3、Mongodb是如何使用内存映射文件的?

mongodb使用内存映射文件管理所有的数据。Mongodb需要访问对象的时候就将相应的文件映射到内存,不需要访问的对象,不映射到内存。

 

4、什么是页面错误(page faults)?

当你访问的一个内存映射文件时不在内存时,将会产生页面错误。如果操作系统还有空闲内存,操作系统将直接将文件加载到内存。当系统没有空闲内存时,操作系统将:step1,从内存中找一个陈旧的或者不再需要的页面,将此页面写入到磁盘。Step2,读取请求的内存页面并加载到内存。这个操作过程,特别是在服务正在运行时,跟直接从内存读取一个页面相比,所耗费的时间是相当大的。

 

5、“软”页面错误和“硬”页面错误有何不同?

当操作系统从硬盘上读取内存页面是,页面错误为“硬”页面错误,当操作系统从系统缓存区读取内存页面时,此时只是将内存页面从一个页面地址读取到另一个内存页面上,被称作“软”页面错误。在生产环境,很少碰到“软”页面错误。

 

6、有什么工具可以了解mongodb的数据文件使用情况?

可以在mongo shell中运行db.stats()命令查看。

 

7、什么是工作集(working set)?

工作集代表应用程序(mongo)一次正常的操作所使用的所有数据。通常,这些数据只是数据库中的一部分数据,具体是多大的数据,取决于该操作所发生时间时的数据库中的数据。

 

 

 

对这类话题感兴趣?欢迎发送邮件至 donlianli@126.com
关于我:邯郸人,擅长Java,Javascript,Extjs,oracle sql。
更多我之前的文章,可以访问  我的空间

Mongodb FAQ 存储(storage)篇

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
一个程序不能操作其他程序的独立存储 和不能操作文件系统,独立存储是虚拟的文件系统。 System.IO.I
SilverLight学习笔记--进一步学习Isolated Storage独立存储二(实践篇) 在"SilverLight学习笔记--
Web Storage是HTML5引入的一个非常重要的功能,可以在客户端本地存储数据,类似HTML4的cookie,但可
在上一篇《HTML5本地存储之Web Storage篇》中,简单介绍了如何利用localStorage实现本地存储;实际
SilverLight学习笔记--进一步学习Isolated Storage独立存储二(实践篇) 在"SilverLight学习笔记--
基础操作语法 using System.IO.IsolatedStorage; using System.IO; void CreateDir(string dirName)
Silverlight 独立存储 好比Cookie一样,可以在客户端存储信息,但是他更加强大,独立存储提供了客户
  《Windows Azure Platform 系列文章目录》      如果读者使用的是国内由世纪互联运维的Azur
Silverlight中的独立存储是其内部的可信任的可访问文件空间,在这里你可以使用Silverlight 随意的创
转自:http://www.ibm.com/developerworks/cn/web/1107_gaoly_html5storage/ HTML5 是下一代 HTML
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号