随笔分类 -  MongoDB

摘要:在MongoDB源码概述——内存管理和存储引擎一文的最后,我们留下了一个问题,在使用MongoDB的内存管理与存储引擎时,因为其依仗操作系统的MMAP方式,将磁盘上的文件映射到进程的内存空间,这给MongoDB带来了极大的便利,可也给我们带来了不小的问题。到底隔多久一次将映射的在内存的视图持久化... 阅读全文
posted @ 2012-12-11 23:51 大熊先生|互联网后端技术 阅读(3368) 评论(0) 推荐(0) 编辑
摘要:数据存储: 之前在介绍Journal的时候有说到为什么MongoDB会先把数据放入内存,而不是直接持久化到数据库存储文件,这与MongoDB对数据库记录文件的存储管理操作有关。MongoDB采用操作系统底层提供的内存文件映射(MMap)的方式来实现对数据库记录文件的访问,MMAP可以把磁盘文件的全... 阅读全文
posted @ 2012-11-04 20:27 大熊先生|互联网后端技术 阅读(9870) 评论(8) 推荐(3) 编辑
摘要:在启动MongoDB后,程序会对相应的参数,上次遗留的锁文件,日志文件等等进行相应的处理,同时也会开启一些支撑其他部分运行的服务线程,为了精读MongoDB的代码,领会其全局设计理念,所以我对这些不是特别核心的部分,也通过博文给自己来做一个总结,方便自己以后查阅。 程序在mian函数里进行了对输入参数的所有处理,程序使用Boost库实现了跨平台的命令行参数的兼容性,这部分的代码非常庞大,也非常的乱,所以也没有必要太过记载,在main函数的底部进行了initAndListen(cmdLine.port, appsrvPath);调用,这个函数就是我们的重点部分。 在void _... 阅读全文
posted @ 2012-03-07 21:21 大熊先生|互联网后端技术 阅读(4314) 评论(0) 推荐(5) 编辑
摘要:本篇文章主要介绍MongoDB的日志模块以及数据持久化存储模块的代码实现方式。大家也许会惊讶,为什么日志模块和持久化存储模块会放到一篇文章来总结。嘿嘿,在别的系统,可能这两个模块联系不是特别大,可是这MongoDB ,这两个模块还真不能分开来讲。这是怎么回事呢?请听我娓娓道来…通常说来,MongoDB具有三个日志模块,LogJournalOplog Log: 位于 log.h,它主要负责用户日志文件,这和我们普通系统的日志系统没有什么区别,作用也就是记录系统的一些重要流程,然后持久化到log文件。这个log文件可以通过系统启动参数"--logpath". Journal: 阅读全文
posted @ 2012-03-02 22:13 大熊先生|互联网后端技术 阅读(5502) 评论(2) 推荐(4) 编辑

点击右上角即可分享
微信分享提示