推荐序三

一直以来,我都认为数据管理与数据维护是一项神圣且充满爱心的职责与工作。我在讲课中常以“提灯女神Florence Nightingale”为例,她是世界上第一位真正意义上的护士,开创了护理之先河,不但是护理大师,还是数据大师、统计大师。

Florence Nightingale出身富贵,却心系穷苦人。在当时残酷的克里米亚战争中,战死数十万人。她自愿担任战地护士,每晚提灯巡视,她通过考察发现,因伤致亡的人数远大于在前线阵亡的人数。之后她通过自学的统计学知识提炼收集的数据,绘制了世界上首例扇形图。清晰的伤亡数据对比图形的震撼展示传回国内后,舆论哗然,政府立刻组建战地医院,大力增加护理人员,从而挽救了更多的生命。她的壮举在中国也成就了奉献与爱心的代名词:南丁格尔精神。我想,对于同样从事维护与治理工作的数据人员,这种精神与睿智同样具有榜样的力量!

本书所要面对的数据库管理与性能优化的读者,应该心存几个长久不衰的问题:

如何著书立传?怎样写出高水平的著作

写作这门艺术,是我多年探索的目标。在出版几部数据库著作后,通过亲身经历,现在为有志向著书立说的朋友分享一些经验。从技术著作的写作技巧来看,按水平高低分为几个档次:

1.善用图、表、例者,赞而嘉之

视觉效果需要冲击。人的大脑皮层中,有41%是视觉反应区。图像比文字传递信息更加快捷、直观,无论是对会场中的听众,还是对高高在上的决策者,抑或正在翻看书籍的读者。因此,善用图表来解释证明技术问题,是聪明而合理的方式。在数据领域,这种美学范畴也导致了商业智能、数据可视化等细分学科的迅猛发展。因而在写作过程中,应毫不吝啬地增加图表的数量与质量。

而举例,则是写作技巧中更能展示实力的方法。实际上读者更倾向于阅读实战类的书籍,例子多多益善、案例不胜枚举的书想必会大受欢迎。

2.比喻,是讲述问题的更高层次的方式

从事计算机领域的工作,需要逻辑思维、形象思维、抽象思维。枯燥的理论阐述常使读者昏昏欲睡,不知所云。而打比喻,无疑是亮点。通过打比喻,可以把深奥的技术点带进我们熟知的领域。我所仰慕的墨家学说里有种理念是:世间的道理只有那么一点点。所谓大道至简,分化在各个领域出现了不同的形态,而比喻恰恰能够把看似复杂的理论提炼为我们易懂的道理。记得王涛有篇文章是通过我们所熟悉的在银行交易的场景做比喻,来讲解代理进程、分区内并行、分区间并行、分区数据库等概念,这种讲述方式受到了广泛赞许,也是比喻这种方式的功力展现。

3.讲故事,是比喻的更为生活化的阐述方法

我们现在已经可以接触到越来越多的笔记类的数据库著作,我在著作中也曾有尝试,也期待着有更多类似书籍的出现。

4.什么样的著作才称得上经典中的经典

我认为,一本读物,尤其是数据库著作,如果能使读者在通读全书后,对人生有所感悟,在哲理层面有所收获,甚至还有励志的效果,那么这样的著作实为经典中的经典。

为什么性能优化这么重要

数据库性能优化之所以愈发重要,究其原因是数据爆炸的发生,迫使我们追求更为快捷、高效的生活状态与工作方式。这其中涉及多种词汇:信息增长、数据爆炸、海量数据、大数据等。

之前我曾读过一本关于数据的科幻小说,叫作Cagatis。它讲的是在未来,人类掌握了预知本领,那并非是占卜,而是通过关联数据分析来预测人类的行为,比如一个人的信用卡记录、网聊记录、驾驶记录、旅行记录、医疗记录、通话记录等,之后对这个人自出生后的所有相关数据进行综合分析,利用生物数据库模型与人类行为分析算法,就可以准确地预测此人下一步的所作所为。事情遥远吗?其实正逐步发生!有新闻报道,美国曾发生有公职人员参与非法赌博,通过获取对手的车牌号、教育背景、网络留言等个人信息,分析预测出对方在投赌时的心理。

而从目前看来,微博、微信都已不再是新鲜事物,个人的数据逐渐开放与透明,而计算机系统捕捉与分析信息的能力也愈发强大,这延伸了一个伦理层面的重大问题:在不远的将来,是我们更懂我们,还是机器更懂我们?古老中国的“知己知彼,百战不殆”的精髓将会被数据预测系统演绎得淋漓尽致!也许你我正一步步地从生物王国走向数据王国,而在这根链条上,与日俱增的海量信息的处理与分析,一定对系统的运营优化与性能处理提出了持久的需求与考验。

如何深入学习数据库知识

要想深入学习数据库知识,不能仅仅着眼于技术问题的积累,更要通观体系与全局。回顾整个数据库的发展史,可以说,数据的演进发展使我们的生活趋向开放与透明,是从封闭到开放的过程。最初,二进制的出现,是对数据组织与处理的革命性贡献,也是软件运行的支点。之后IBM的研究员Edgar F.Codd提出了关系型数据库,首次将之前软件的混沌形态分解为数据与程序,使对信息的禁锢得以解放。最显著的效果就是基于事务处理的OLTP(Online Transaction Processing)系统的诞生,在航空、金融、军事等领域遍地开花。在这个过程产生了大量的数据(Data),大量的记录(Record)被存储,但是数据并非信息(Information),也不是知识(Knowledge),更不能成为智慧(Wisdom)。当系统愈发庞大、复杂时,人们发现正确、合理的决策愈发困难,面对大量的数据,竟然会失去对数据的正确判断与控制!

之后,决策支持系统应运而生,这需要将原有的数据系统进一步划分为运营处理系统与决策分析支持系统,这使得数据仓库横空出世。数据仓库是从数据到智慧的过程中的转折点,是对多类数据源的强有力的整合,又通过ETL(Extraction Transformation Load)工具的支持辅佐,一跃成为进入21世纪时的明星。不过对于真正的由数据衍生出的智慧,还需要更高层面上的系统——OLAP(Online Analytical Processing)联机分析处理系统。它首次将多维的理念引入分析领域,使得我们可以在各个维度之间任意切换,从不同的维度、粒度对数据进行分析整理,继而得到动态、完整、灵活的分析报告。

之后离商业智能的实现越来越近,这主要基于新的技术走向前台——数据挖掘。最典型的案例就是啤酒与尿布的例子,它代表着数据挖掘技术带来的智慧与体验。它可以发现规律,而发现规律意味着可在一定程度上预测未来。这种从已知到未知的进程,使数据的生命发生了质变。

报表,这一将数据转化为知识的展现工具已经成熟,新一代的数据展现工具百花齐放,这实现了商业智能从数据整合、分析、挖掘到展现的完整链条。这个链条的发端是若干独立的关系型数据库,经过数据整合而形成多源统一的数据仓库,之后经过联机分析处理,或者是数据挖掘,找到其内在的趋势,而这就形成了知识。如果将这些知识进行可视化处理,合理的展现结果就会为决策者形成意识与认识。如今,大数据时代的到来,更加个人化、更加分散、更加难以处理的非结构化的海量数据,给高效地形成认识这一数据库的终极目标,带来了有趣而艰巨的挑战。

深入理解数据库的过程就像数据库本身的历史一样漫长而复杂。本书有一章在讲述SQL语句性能优化武器时,套用了武侠小说里的7种武器。这是作者在写作风格上的大胆尝试,也是从古龙小说中借鉴的对数据库工作在哲学层面上的思考。这说明了数据库性能优化技术是单调的,但使用这一技术的人是灵活的,不管掌握的是武器,还是工具,都不如对人的心灵与精神的把握更具有内涵与力量。想起年少时,武术老师讲授内家功与外家拳,曾讲到:“内家十年不出手,十年之后打平手,十年下来遍地走”。本书书名中“内部解析”其实就是在讲授“内练一口气,外练筋骨皮”的道理。若按此精神坚持下去,一定会有所建树,绽放光彩。

笔者在为本序落笔时,再次建议大家加入知识分享与传播智慧的大军中来,所谓以小爱博众终无大智慧,以大爱感召必会惊天动地。

成孜论

资深数据库专家、著名数据库专著作者