`
美丽的小岛
  • 浏览: 306305 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

试读《MySQL内核:InnoDB存储引擎 卷1》有感

 
阅读更多

 

   --------对于是学习我喜欢寻根问底

     对于内存与储存,一直很感兴趣,特别是数据库的存储; 看到InnoDB存储引擎,很自然的一动作,下载然后阅读了,一口气就看完了试读部分,有些急切想知道接下来的内容。试读的内容为:

    第一章讲了InnoDB的历史与InnoDB的规范,由Heikki Tuuri创始,再到与MySQL AB公司合作,Inno DB开源,最后Oracle Innobase公司与MySQL都收购了的曲折历史;接着就InnoDB的一些代码规范。

    第二章讲述了InnoDB内存管理及所用到数据结构。InnoDB主要采用内存堆的方式进行内存的管理,通过动态分配与缓冲池分配两种方式的内存申请,其中动态分配是从操作系统分配内存空间;缓冲池分配是从缓冲池分配内存空间。

    InnoDB内存管理分为三层,从高层到底层分别为:内存堆层,缓冲池与通用内存池,系统内存。对于内存堆层实质就是栈,最晚分配的内存最早对它进行释放;对于InnoDBd存储引擎有三种类型,分别为MEN_HEAP_DYNAMIC,主要是对内存调用通过内存池接口申请;MEN_HEAP_BUFFER主要对从缓冲池申请;MEN_HEAP_BTR_SEARCHMEN_HEAP_BUFFER的子类,在适应的哈希中使用。

    中间层通用内存池,为了有效地解决内存中的碎片问题,主要是采用了伙伴系统算法。内存池中分成64组内存块,采用数组free_list来存储,内存块的大小都是2的幂次方。文中的1M内存的例子把内存分配的过程与内存释放过程清晰可见(如下图)。初始化1M内存,首先申请100K1M内存进行一个512k,256k,128k,128K分块,最终返回一块128k内存给申请者。请求64k时,还会对最小的块继续分块,最小可以到120次方);当请求256k时,因为链表中没有空闲的256km内存,会向更大内存块分配。对于释放,当两个块的大小相同与两个块的物理地址连续时,就会进行合并,形成更大的内存块,这个让人想起现在最流行的1024那个游戏^_^


        
最后介绍InnoDB采用哈希表(哈希算法,哈希表的数据结构)及双链表(内存双链表及磁盘双链表)一些数据结构;及动态数组与排序。

总的来说,从试读的几章看来,作者的思路比较清晰,可对于InnoDB的内存管理原理性的分析只是点到即止,期待接下来的各章节对这些原理的分析及在InnoDB内存管理中应用。

  • 大小: 53.6 KB
分享到:
评论

相关推荐

    MySQL内核:InnoDB存储引擎 卷1.pdf

    《MySQL内核:InnoDB存储引擎 卷1》由资深MySQL专家,机工畅销图书作者亲自执笔,在以往出版的两本InnoDB介绍性图书的基础之上,更深入地介绍InnoDB存储引擎的内核,例如latch、B+树索引、事务、锁等,从源代码的...

    MySQL内核:InnoDB存储引擎 卷1.pdf.zip

    《MySQL内核:InnoDB存储引擎 卷1》是一本深度探讨MySQL数据库系统核心部分——InnoDB存储引擎的专业书籍。这本书以超高清的PDF格式呈现,包含详细的书签,便于读者快速定位和查阅相关内容。InnoDB作为MySQL中最常用...

    MYSQL内核:INNODB存储引擎 卷1.part3.rar

    MYSQL内核:INNODB存储引擎 卷1.part3.rar

    MYSQL内核:INNODB存储引擎 卷1.part2.rar

    MYSQL内核:INNODB存储引擎 卷1.part2.rar

    MYSQL内核:INNODB存储引擎 卷1.part1.rar

    MYSQL内核:INNODB存储引擎 卷1.part1.rar

    MySQL内核 INNODB存储引擎-卷1-高清-完整目录-2014年5月

    MySQL内核 INNODB存储引擎-卷1-高清-完整目录-2014年5月

    MYSQL内核:INNODB存储引擎

    可作为深入理解MySQL InnoDB存储引擎实现细节的研究学习。

    mysql内核 innodb存储引擎

    《MySQL技术内幕:InnoDB存储引擎》是国内目前唯一的一本关于InnoDB的著作,由资深MySQL专家亲自执笔,中外数据库专家联袂推荐,权威性毋庸置疑。内容深入,从源代码的角度深度解析了InnoDB的体系结构、实现原理、...

    MySQL技术内幕 InnoDB存储引擎.pdf

    最近在学习MySQL技术内幕 InnoDB存储引擎 第2版,整理了一些文档分享出来,同时也方便以后查看。若有不当之处,烦请批评指正。 1. MySQL体系结构和存储引擎 2. InnoDB存储引擎 2.1 InnoDB体系结构 2.2 ...

    MySQL技术内幕InnoDB存储引擎-读书笔记.pdf

    MySQL技术内幕InnoDB存储引擎-读书笔记.pdf

    MySQL技术内幕 InnoDB存储引擎.pptx

    与前一版相比,第2版不仅针对最新的MySQL 6对相关内容进行了全面的补充,还根据广大读者的反馈意见对第1版中存在的不足进行了完善,《MySQL技术内幕:InnoDB存储引擎》大约重写了50%的内容。 《MySQL技术内幕:...

    MySQL技术内幕:InnoDB存储引擎.docx

    MySQL 技术内幕:InnoDB 存储引擎 MySQL 是一款流行的开源关系型数据库管理系统(RDBMS),自 20 世纪 70 年代以来一直作为全球众多企业和开发者的首选数据库之一。MySQL 具有强大的性能、可靠性和易用性,使其在 ...

    MySQL技术InnoDB存储引擎_姜承尧_第2版

    《MySQL技术内幕_InnoDB存储引擎_姜承尧_第2版》是一本深入探讨MySQL数据库中InnoDB存储引擎的专业书籍。作者姜承尧是数据库领域的知名专家,他的这部著作详细阐述了InnoDB引擎的核心概念、设计原理以及实际操作技巧...

    mysql存储引擎(csdn)————程序.pdf

    InnoDB存储引擎是MySQL的默认引擎,尤其在高并发和事务处理的场景下被广泛使用。InnoDB的最大特点是它支持事务处理(ACID属性:原子性、一致性、隔离性、持久性),这意味着在多用户环境下,InnoDB可以保证数据的...

    static-mkk#something#MySQL技术内幕:innodb存储引擎1

    第一章:mysql存储引擎1.innodb存储引擎支持事务;行锁设计;支持外键;支持非锁定读。4种事务隔离级别,默认为repeatable,同时使用next-k

    MySQL数据库:MySQL存储引擎.pptx

    InnoDB是事务型数据库的首选引擎,为MySQL提供了具有提交、回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎,其它存储引擎都是非事务安全表,支持行锁定和外键,MySQL5.5以后默认使用InnoDB存储引擎。 ;2.MyISAM

    MySQL技术内幕InnoDB存储引擎.rar

    《高性能mysql(第3版)》是最具代表性的进阶书籍没有之一,它是 MySQL 领域的经典之作,内容涵盖 MySQL 架构和历史,性能分析,优化,复制、备份和恢复,高可用与高可扩展性。值得每一个后端工程师多次阅读,无论是...

    MySQL内核-innodb存储引擎(卷1)

    带部分个人目录,即开即用,非常方便,2分真的不多啊,真的不多。

Global site tag (gtag.js) - Google Analytics