mongodb mmap内存映射是把文件中数据全部映射到内存中的吗?

远古大猛犸 2014-12-14 12:57:39
资料上说:在Mongodb中,其使用了操作系统底层提供的内存映射机制,即MMAP。MMAP可以把磁盘文件的一部分或全部内容直接映射到内存,这样文件中的信息位置就会在内存中有对应的地址空间,这时对文件的读写可以直接用指针来做,而不需要read/write函数了。同时操作系统会将数据刷新保存到磁盘上。

我有个疑问:这个内存映射,是把文件中数据全部映射到内存中的吗?还是只是映射一部分内容,那么这部门内容又是什么的呢?

请专家给指点下,谢谢!

...全文
342 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 4 楼 qq120848369 的回复:
mongodb只映射索引。
That would be the preferred approach for traditional database. Mongo monster actuall does more http://stackoverflow.com/questions/11835942/what-maps-mongodb-into-memory
qq120848369 2014-12-15
  • 打赏
  • 举报
回复
mongodb只映射索引。
zhi_oo 2014-12-15
  • 打赏
  • 举报
回复
这个不就是虚拟内存的建立吗?
buyong 2014-12-15
  • 打赏
  • 举报
回复
映射一部分。具体由算法决定
  • 打赏
  • 举报
回复
from wikipedia In computing, mmap(2) is a POSIX-compliant Unix system call that maps files or devices into memory. It is a method of memory-mapped file I/O. It naturally implements demand paging, because initially file contents are not entirely read from disk and do not use physical RAM at all. The actual reads from disk are performed in a "lazy" manner, after a specific location is accessed.

4,465

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧