b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

mongodb?mongodb使用场景?mongodb吧?随笔分类(2)

电脑杂谈  发布时间:2016-06-24 01:07:05  来源:网络整理

摘要: 在mongodb中,其使用了操作系统底层提供的内存映射机制,即MMAP。MMAP可以把磁盘文件的一部分或全部内容直接映射到内存,这样文件中的信息位置就会在内存中有对应的地址空间,这时对文件的读写可以直接用指针来做,而不需要read/write函数了。同时操作系统会将数据刷新保存到磁盘上。如下图:阅读全文

posted @ 2011-04-25 08:36 代震军 阅读(8040) | 编辑

mongodb源码分析--游标Cursor

摘要: 在Mongodb中,其提供了类似关系型数据中cursor对象来遍历数据集合,同时mongodb并要根据不同的场景生成不同的游标对象(cursor),比如顺序遍历游标(basicCursor),反向游标(reverseCursor), B树索引游标(btreeCursor)等。 下面是其游标体系架构类图,cursor.cpp, cursor.h, clientcursor.cpp, clientcursor.h阅读全文

posted @ 2011-04-15 11:29 代震军 阅读(6034) | 编辑

mongodb源码分析--更新记录

摘要: 在之前的一篇文章中,介绍了assembleResponse函数(位于instance.cpp第224行),它会根据op操作枚举类型来调用相应的crud操作,枚举类型定义如下: 可以看到dbUpdate = 2001 为更新操作枚举值,下面我们看一下assembleResponse在确定是更新操作时调用的方法,如下:阅读全文

posted @ 2011-04-11 09:49 代震军 阅读(4771) | 编辑

mongodb源码分析--删除记录

摘要: 在之前的一篇文章中,介绍了assembleResponse函数(位于instance.cpp第224行),它会根据op操作枚举类型来调用相应的crud操作,枚举类型定义如下...可以看到dbDelete = 2002 为删除操作枚举值。当客户端将要删除的记录(或条件的document)发到服务端之后,mongodb通过消息封装方式将数据包中的字节流解析转成 message类型,并进一步转换成dbmessage之后,mongodb就会根据消息类型进行判断,以决定接下来执行的操作),下面我们看一下 assembleResponse在确定是删除操作时调用的方法,如下:阅读全文

posted @ 2011-04-06 14:11 代震军 阅读(6142) | 编辑

mongodb源码分析--消息(message)

摘要: 在Mongodb中,客户端和服务端进行通信是基于mongodb wire protocol。说白了,该协议是一个简单的基于socket,请求/响应方式的协议,客户端使用常规的TCP/IP套接字(socket)进行通信。客户端与服务端使用约定的消息(格式)进行通信,其消息头结构与C语言中的struct类似。具体的代码(位于message.cpp):阅读全文

posted @ 2011-04-02 14:45 代震军 阅读(4194) | 编辑

mongodb源码分析--插入记录及索引B树构建

摘要: 在之前的mongodb查询流程中,介绍了assembleResponse函数(位于instance.cpp第224行),它会根据op操作枚举类型来调用相应的crud操作,枚举类型定义如下: enum Operations { opReply = 1, /* reply. responseTo is set. */ dbMsg = 1000, /* generic msg command followed by a string */ dbUpdate = 2001, /* update object */阅读全文

posted @ 2011-03-30 13:23 代震军 阅读(6772) | 编辑

mongodb源码分析--日志及持久化

摘要: 在本系列的第一篇文章(主函数入口)中,介绍了mongodb会在系统启动同时,初始化了日志持久化服务,该功能貌似是1.7版本后引入到系统中的,主要用于解决因系统宕机时,内存中的数据未写入磁盘而造成的数据丢失。其机制主要是通过log方式定时将操作日志(如cud操作等)记录到db的journal文件夹下,这样当系统再次重启时从该文件夹下恢复丢失的(内存)数据。阅读全文

posted @ 2011-03-21 15:45 代震军 阅读(6922) | 编辑

mongodb源码分析--查询

摘要: 在之前的一篇文章中,介绍了mongodb的主程序入口main()的执行流程,其实main只是实始化一些参数信息并做了些后台线程任务的启动工作(包括数据准备和恢复),并最终启动一个线程进行循环侦听。今天将会介绍在mongodb中数据查询 (find)的流程,以了解mongodb是如果对message进行拆包分析,以及数据进行表扫描及索引使用的。阅读全文

posted @ 2011-03-18 17:26 代震军 阅读(10168) | 编辑

mongodb源码分析--主程序入口main()

摘要: 作为这个系列的开篇,本人特此声明,因为本人技术功力有限,且对mongodb源码目前也在研究探索中,可能会对mongodb内部某些实现机制及原作者的意图领会不够精确,因此错误再所难免,希望大家批评指正。另外本文所使用的mongodb源码为1.8 rc1,同时如果有条件的话,大家可以安装vs2010,用C++来编译调试mongodb源码,以便通过运行过程中的数据和流程来验证自己的判断。阅读全文

posted @ 2011-03-17 17:52 代震军 阅读(12782) | 编辑

VS2010 C++下编译调试mongodb源码


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-10670-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 田佳佳
      田佳佳

      我身边成千上万的企业退休老人都和我一样

    • 万丰
      万丰

      未从官方渠道购买怎么能说我们小米是不合格的呢

    热点图片
    拼命载入中...