话题讨论:怎样阅读InnoDB存储引擎源码(已公布获奖)

查看数: 34190 | 评论数: 44 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-5-20 13:14

正文摘要:

话题讨论:怎样阅读InnoDB存储引擎源码 InnoDB是为处理巨大数据量时的最大性能设计。它的CPU效率可能是任何其它基于磁盘的关系数据库引擎所不能匹敌的。InnoDB存储引擎被完全与MySQL服务器整合,InnoDB存储引擎为在 ...

回复

myownstars 发表于 2014-6-11 07:23
   说好的 送书捏
buptdream 发表于 2014-6-9 17:49
活动结束了
2009532140 发表于 2014-6-4 12:55
1.理解MySQL内核对于DBA的重要性;
为了更好的了解数据库,很多人挖掘数据库的源代码。什么MDB,GDB 全都用上了,可以说无所不用其极。至于原因很简单:就是为了在数据库报出内部的错误信息的时候能一眼定位问题的所在。
另外的一个原因:数据库的性能调试,如果能深入的了解数据库的原理,才能做到不头疼医头,脚疼医脚。这一切的高大上的工作,都离不开内部原理的了解。而了解内部原理的最好办法就是读读源代码。
——————————————————————————
2.怎样阅读InnoDB存储引擎源码;
要是我的话,我会从数据库的内存结构与处理上来了解。
这部分内容较为深入,涉及很多内部算法,锁栓等等。
——————————————————————————
3.说说读完试读章节后您的感想?
对于新手的第一个亮点:
1.4 代码编译,这个对于从来没搭建环境的新手来说是个不错的指导,这部分网上找的资料也不是很完善。
第二章,果然是内存部分.但不知道后面的章节对内存是否还有介绍说明。貌似第二章不是特别丰满哈
lhyangel2012 发表于 2014-5-30 12:57
lujinke 发表于 2014-5-30 12:03
最好的书是dev.mysql.com上面的在线文档

mysql的初学者,,,还是先看下介绍的书吧,,,
lujinke 发表于 2014-5-30 12:03
lhyangel2012 发表于 2014-5-28 09:59
嘿嘿,,,我也在看,,,这本书确实好书,,,但是有些地方不太懂,,,具体跑的时候出错,,,想和你交 ...

最好的书是dev.mysql.com上面的在线文档
lhyangel2012 发表于 2014-5-29 13:58
cysummery 发表于 2014-5-29 13:52
欢迎~一起讨论共同进步,不过话说我第一遍还没看完,计划第一遍看懂,第二遍动手,第三遍接受并加自己 ...

O,,,感觉是最好边看边动手好点,,,
cysummery 发表于 2014-5-29 13:52
lhyangel2012 发表于 2014-5-28 09:59
嘿嘿,,,我也在看,,,这本书确实好书,,,但是有些地方不太懂,,,具体跑的时候出错,,,想和你交 ...

欢迎~一起讨论共同进步,不过话说我第一遍还没看完,计划第一遍看懂,第二遍动手,第三遍接受并加自己的思考。
lhyangel2012 发表于 2014-5-28 09:59
cysummery 发表于 2014-5-21 11:06
作者姜承尧,正在看他的《MySQL技术内幕innodb存储引擎》,书里已经涉及部分源码,不知内核这本书在内核源码 ...

嘿嘿,,,我也在看,,,这本书确实好书,,,但是有些地方不太懂,,,具体跑的时候出错,,,想和你交流下 ,,,
insnowind 发表于 2014-5-27 15:05
作为一名DBA,可以在不需要太多掌握应用开发的情况下,全部掌握Oracle的核心技术,反倒单纯使用Oracle的开发人员,通常掌握不了Oracle的核心。在Oracle数据库平台上,DBA对数据库有第一级的话语权,DBA与应用开发者有着较清晰的界限。

在MySQL数据库平台上,事情发生了变化。由于MySQL的特性决定,DBA和应用设计者被赋予了更多的可操作性,工作职责会互相入侵,作为一名MySQL DBA,你无法不去更多的关注应用业务,数据库的架构、引擎的选择等等都由应用决定;作为应用的设计者和开发者,也比从前更需要关注数据库,应用期待符合预期的数据库支撑。MySQL的DBA会发现,自己的话语权被应用设计者夺走了一部分,不再像以前那么重要了。

这个时候,作为MySQL DBA,要想重新树立自己的核心竞争力,只有掌握MySQL源代码。一方面可以加深自己对数据库的了解,更重要的另一方面,你可以试图去解决应用导致的数据库本身不足引起的缺陷,职责上这是应用设计开发者解决不了的。

阅读InnoDB引擎源代码,和阅读任何系统源代码没有区别。也许刚开始,你只是试图通过查看部分代码细节来分析你面对的数据库问题现象,但如果你希望真正掌握数据库,最终你肯定会走上通读代码的道路。

面对一个系统大量的源代码,通常往往会没有头绪,这个时候从目录结构开始,逐次结合文档进行系统模块、系统层次的划分,目的是了解哪些代码文件负责完成了哪些功能,所谓物理结构。

接下来,就可以开始切入逻辑结构了,从上往下进行阅读,先掌握总体架构,再逐一细节,一层一层细化,代码是要阅读多次的。

阅读了试读章节,发现本书作者代码阅读方法与个人基本一致,作者已经对代码物理结构和逻辑结构进行了对应的描述,可以减少读者去摸索的时间,相信后续章节应该是对InnoDB引擎各种机制的详细代码剖析,那会是MySQL和本书最精彩的部分,期待。
TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表