技术开发 频道

10gen工程师:MongoDB数据文件内部结构

        在64位机器上则最多可以表示128TB的空间

  每个数据文件会被分成一个一个的数据块,块与块之间用双向链表连接

   

       

  在名字空间文件中,保存了每个名字空间的存储信息元数据,包括其大小,块数,第一块位置,最后一块位置,被删除的块的链表以及索引信息

  这些位置通过DiskLoc数据结构进行存储,存储了数据文件编号和块在文件中的位置

10gen工程师解答MongoDB数据文件结构

10gen工程师解答MongoDB数据文件结构

10gen工程师解答MongoDB数据文件结构

10gen工程师解答MongoDB数据文件结构

  对每一个块来说,其头部包含了一些块的元数据,比如自己的位置,上一个和下一个块的位置以及块中第一条和最后一条记录的位置指针。剩下的部分用于存储具体的数据,具体数据之间也是通过双向链接来进行连接。

10gen工程师解答MongoDB数据文件结构

10gen工程师解答MongoDB数据文件结构

10gen工程师解答MongoDB数据文件结构

  下面是B-Tree的存储结构和工作原理

10gen工程师解答MongoDB数据文件结构

0
相关文章