|
作为一名DBA,可以在不需要太多掌握应用开发的情况下,全部掌握Oracle的核心技术,反倒单纯使用Oracle的开发人员,通常掌握不了Oracle的核心。在Oracle数据库平台上,DBA对数据库有第一级的话语权,DBA与应用开发者有着较清晰的界限。
在MySQL数据库平台上,事情发生了变化。由于MySQL的特性决定,DBA和应用设计者被赋予了更多的可操作性,工作职责会互相入侵,作为一名MySQL DBA,你无法不去更多的关注应用业务,数据库的架构、引擎的选择等等都由应用决定;作为应用的设计者和开发者,也比从前更需要关注数据库,应用期待符合预期的数据库支撑。MySQL的DBA会发现,自己的话语权被应用设计者夺走了一部分,不再像以前那么重要了。
这个时候,作为MySQL DBA,要想重新树立自己的核心竞争力,只有掌握MySQL源代码。一方面可以加深自己对数据库的了解,更重要的另一方面,你可以试图去解决应用导致的数据库本身不足引起的缺陷,职责上这是应用设计开发者解决不了的。
阅读InnoDB引擎源代码,和阅读任何系统源代码没有区别。也许刚开始,你只是试图通过查看部分代码细节来分析你面对的数据库问题现象,但如果你希望真正掌握数据库,最终你肯定会走上通读代码的道路。
面对一个系统大量的源代码,通常往往会没有头绪,这个时候从目录结构开始,逐次结合文档进行系统模块、系统层次的划分,目的是了解哪些代码文件负责完成了哪些功能,所谓物理结构。
接下来,就可以开始切入逻辑结构了,从上往下进行阅读,先掌握总体架构,再逐一细节,一层一层细化,代码是要阅读多次的。
阅读了试读章节,发现本书作者代码阅读方法与个人基本一致,作者已经对代码物理结构和逻辑结构进行了对应的描述,可以减少读者去摸索的时间,相信后续章节应该是对InnoDB引擎各种机制的详细代码剖析,那会是MySQL和本书最精彩的部分,期待。 |
|