推荐序四
读书,品书,回味与思索,一直是我工作生活的一部分。对于本书,一见书名《让DB2跑得更快——DB2内部解析与性能优化》,立刻就使我产生了兴趣与期望。在读过上百本数据库方面的书籍后,感到有的书催人思考,有的书主推实践,还看过有的书是技术达人对技术菜鸟的煽动,也见过技术牛人写书像是摆下擂台孤独求败,但是结合数据库内部机理介绍性能调优等方面的书籍却非常缺乏。本人在银行业从事系统设计及性能优化的十多年时间里,深切感受到DB2这方面书籍的稀少对从业者的困惑。因此我更青睐于那些重在强调理论与实践结合的技术作品,而对有关数据库性能优化的书籍则更是期待。
一直以来,数据库性能优化都是大型应用系统中技术含量较高的工作。是否能够针对业务特点合理地设计一个数据库的架构,能否更好地保证扩展性并将应用性能发挥到最大化,能否编写高效的SQL语句,这对于系统的稳定与安全运行至关重要。而在解决问题的表象背后,数据库性能优化的工作远远不止表面看到的那么简单,有时发现的问题只是冰山一角,有时解决掉的故障只是偏安一隅。值得注意的是,本书作者曾经在DB2技术支持的第一线奋斗过,其对于DB2性能优化、故障排除等各种技术工作的经验总结与技能提炼,对读者来说肯定是极好的知识盛宴与分享。
在思考为本书作序时,突然想起在一次数据库技术交流会上,有位业界朋友描述了两种典型的DBA工作状态:一种是不求有功但求无过;另一种是只见树木,不见森林。
第一种工作状态可以延伸到一个有趣的现象:羊群效应。这种效应说的是头羊向哪个方向走,后面的羊就低着头跟在头羊后面没有异议,没有怀疑地走。在金融与投资领域,这被解释为跟从模仿与盲目效仿的行为方式。其实这种现象,在从事数据库技术的领域中也常有发生:当之前有人说该如何做时,后来的人往往以为这就是定论,怀疑的人不多,想去尝试的人就更少;当不曾有人尝试,或者讲授改动某个参数的设置,调整某个参数,避免某种隐患的时候,有些技术人员往往对问题避而远之,抑或知其然而不知所以然。常可以见闻有些DBA的工作态度是:多一事不如少一事;能少做,就少做;能不动就不动,能不改就不改,因为担忧困扰的是在这一改一动之间,不知道会引发什么样的事故。不求功但求无过的想法,确实成了数据库技术人员提高能力、优化思路、增强实战解决问题能力的拦路虎。
接着讲一下前面提及的第二种工作状态:只见树木,不见森林。对于已经有一定DB2使用经验的技术人员,比如做过安装、管理、备份操作,对DB2数据库具备一定感性认识,但是大脑里还没有形成完整的理论框架的技术人员,在接下来的工作积累的过程中,随着经验的增加,是不是离把控全局的阶段更近了呢?我们可以做个比喻:画一个圆圈,圆内代表你拥有的知识,圆外代表未知领域,这个圆圈画得越大,代表你拥有的知识就越多,而圆圈接触到的未知领域就更广。因此,这就可以解释为何有的技术人员,在解决一个问题后,本以为掌握了处理这个问题的方法,可过一段时间后,实战经验更丰富些了,在遇到同样的问题后,反倒弄不明白该如何解决了。所谓只见树木,不见森林,正是漫长学习、积累过程中的一个关键阶段的写照。对于技术层面的问题分析,更需要我们追逐本质,挖掘内涵,这样在故障解决、性能优化等高技术含量的工作中,才能做到举重若轻,正确判断。
而我有幸在本书出版之前先睹为快,其中就分析讲解了如上所述的几种现象,我感到本书最大的特点是侧重于系统的理论分析与实战经验讲解,内容全面,深入浅出,例题丰富,图文并茂,这将会是广大数据库爱好者的重要参考书籍。
因此当数据库技术爱好者在学习、研究和应用DB2数据库时,感到可用的参考资料比较少,实战性的方案与经验分享缺乏,抑或感到在DB2系统部署、性能优化、故障诊断等工作环节中,需要更好的技术指导与参照时,我可以郑重地说:一本理性、科学的DB2性能优化著作出炉了!大家可从中一同品悟DB2,共赏精华!
昆仑银行信息科技部资深技术经理兼数据中心主任