MongoDB-介绍.pptVIP

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MongoDB-介绍

* 6、数据文件内部结构   test.0         test.1     0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0   test.table1 test.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0   test.table2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0   test.table3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0   test.freelist 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6、数据文件内部结构 名字空间与数据域: 每个名字空间可以有不同的数据域,在磁盘上不必连续。 图中还有一个特殊的名字空间freelist,存放着不再使用的数据域,例如,删除集合或索引产生的数据域。 当名字空间分配新的数据域时,系统会先查找空闲列表,看看有没有适合大小的数据域可用。 在每一个数据域中,保存了具体一行行BSON格式的数据,这些数据也是通过双向链表连接。 每一行数据存储空间不仅包括数据占用空间,还可能包含一部分附加空间,这使得在数据update变大后可以不移动位置。 6、数据文件内部结构 索引数据也保存在数据文件中,不过索引是被组织成B-tree结构,而不是双向链表。 对每个数据库,都有一个命名空间文件,用于保存每个名字空间对应的元数据。我们通过查询这些元数据来找到对应的名字空间的数据存储位置。 下面通过10gen工程师Mathias Stearn的发言稿,介绍数据文件结构: 6、数据文件内部结构 每个数据库都有相应的数据文件和命名空间文件。 6、数据文件内部结构 数据文件从16MB开始,新的数据文件比上一个文件大一倍,最大为2GB 。 6、数据文件内部结构 数据文件使用MMAP进行内存映射,会将所有数据文件映射到内存中,但只是虚拟内存,只有访问到这块数据时才会交换到物理内存。 6、数据文件内部结构 MongoDB的数据文件映射到内存表中的位置。 6、数据文件内部结构 使用32位机器的话,内存地址最大可以标识4GB内存。 6、数据文件内部结构 但是在32位机器上,4GB内存会有1GB被内核占用,大约0.5GB会用于mongod进程的stack空间,只剩下大约2.5GB可用于映射数据文件。 6、数据文件内部结构 使用64位机器的话,内存地址最大可以标识128TB内存。 6、数据文件内部结构 每个数据文件被分成一个一个的数据块。 6、数据文件内部结构 块与块之间用双向链表连接。 6、数据文件内部结构 在命名空间文件中,保存的是一个哈希表,存储了每个名字空间对应的元数据,包括其大小,块数,第一块位置,最后一块位置,被删除的块的链表以及索引信息。 6、数据文件内部结构 这些位置通过DiskLoc数据结构进行存储,存储了数据文件编号和块在文件中的位置。 6、数据文件内部结构 对每一个块来说,其头部包含了一些块的元数据,比如自己的位置,上一个块和下一个块的位置。 6、数据文件内部结构 以及块中第一条和最后一条记录的位置指针。剩下的部分用于存储具体的数据,具体数据之间也是通过双向链表进行连接。 6、数据文件内部结构 MongoDB尽管在数据存储上与传统关系数据库很不一样,但是在索引构建上却几乎是与传统关系型数据库一致。 主要是使用了B-tree作为索引结构。 B-tree,多路有哪些信誉好的足球投注网站树,并不是二叉的,以下介绍其主要特点: 6、数据文件内部结构 B-tree特点 6、数据文件内部结构 B-tree特点 1)任意非叶子结点最多只有M个儿子,且M2。 2)根结点的儿子数为[2, M]。 3)每个结点存放至少M/2-1和至多M-1个关键字,且唯一。 4)非叶子结点的关键字:K[1], K[2], …, K[M-1];且K[i] K[i+1]。 5)非叶子结点的指针:P[1], P[2], …, P[M];其中P[1]指向关键字小于K[1]的子树,P[M]指向关键字大于K[M-1]的子树,其它P[i]指向关键字属于(K[i-1], K[i])的子树。 6)所有叶子结点位于同一层。 6、数据文件内部结构 B-tree有哪些信誉好的足球投注网站 从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键字大,就进入右儿子;如果左儿子或右儿子的指针为空,则报告找不到相应的关键字。 下面一篇文章是10gen工程师 Kyle Banker 所写,他拿食谱举例,讲解了索引的基本实现,

文档评论(0)

pengyou2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档