2013年11月14日
摘要: 想要深入了解MongoDB如何存储数据之前,有一个概念必须清楚,那就是Memeory-Mapped Files。Memeory-Mapped Files下图展示了数据库是如何跟底层系统打交道的。内存映射文件是OS通过mmap在内存中创建一个数据文件,这样就把文件映射到一个虚拟内存的区域。虚拟内存对于进程来说,是一个物理内存的抽象,寻址空间大小为2^64操作系统通过mmap来把进程所需的所有数据映射到这个地址空间(红线),然后再把当前需要处理的数据映射到物理内存(灰线)当进程访问某个数据时,如果数据不在虚拟内存里,触发page fault,然后OS从硬盘里把数据加载进虚拟内存和物理内存如果物理内 阅读全文
posted @ 2013-11-14 15:16 foxracle 阅读(28830) 评论(4) 推荐(3) 编辑