随笔分类 -  MongoDB

an open-source document database: Agile and Scalable
MongoDB如何存储数据
摘要:想要深入了解MongoDB如何存储数据之前,有一个概念必须清楚,那就是Memeory-Mapped Files。Memeory-Mapped Files下图展示了数据库是如何跟底层系统打交道的。内存映射文件是OS通过mmap在内存中创建一个数据文件,这样就把文件映射到一个虚拟内存的区域。虚拟内存对于进程来说,是一个物理内存的抽象,寻址空间大小为2^64操作系统通过mmap来把进程所需的所有数据映射到这个地址空间(红线),然后再把当前需要处理的数据映射到物理内存(灰线)当进程访问某个数据时,如果数据不在虚拟内存里,触发page fault,然后OS从硬盘里把数据加载进虚拟内存和物理内存如果物理内 阅读全文
posted @ 2013-11-14 15:16 foxracle 阅读(28921) 评论(4) 推荐(3)
MongoDB的timezone问题
摘要:MongoDB是以UTC格式来存储所有时间的,查询的时候也是返回UTC时间,不提供在数据库连接级别的timezone支持,这就带来一个问题:无法使用groupby对日期进行聚合,因为你所在的timezone的日期跟UTC的日期不完全是同一天。虽然这个功能在社区里面呼声还是比较高的,但是10gen公司至今都没有给出timezone支持的时间表。https://jira.mongodb.org/browse/SERVER-6310这样对于想要存储正确时间到mongodb中,有两种套路。1:存入数据库之前,把datetime转成UTC时间;从数据库读取时(读取的结果并不带timezone信息,因为它 阅读全文
posted @ 2013-08-14 19:52 foxracle 阅读(8788) 评论(2) 推荐(1)