前几日收到好友崔华(dbsnake)给我寄来的《海量数据库解决方案》--一本来自韩国的数据库技术书籍,我随之以极大的兴趣投了入此已书的阅读之中。读了大部分内容之后,我觉得有必要在这里写一写,向大家介绍介绍一下此书。
其实在此前,我已经知道崔华在参与《海量数据库解决方案》一书的审校工作。有几次我们聊到这个事情,他提到经常要为此书工作到深更半夜,而对此他却告诉我说非常值得,因为这的确是一本值得引入国内的数据库技术书籍。他对我如此推崇此书,同时参与此书翻译审核还包括盖国强(eygle)和张乐奕(kamus),这让我为对此书充满了期待,也坚信这本书的质量。
实际上关于本书的作者,在韩国有数据库泰斗之称的李华植,请恕我孤漏寡闻,我之前没有任何了解。也许是因为不是英语国家的缘故,导致我们对此缺乏了解。就像国内很少有Oracle高手专门写英文博客,或者在OTN上发表文章。通常我们知晓的国外Oracle大牛基本上来源于英语国家。而另一位来自于韩国的Oracle ACE, Dion Cho则是在WORDPRESS上开设了英文博客才被我们有所了解。(他同样有一本书在09年引入到了国内,《高级OWI与Oracle性能调整》,这其实是非常好的一本介绍Oracle等待事件以及调优化的书,不知道为什么在国内此书如此的默默无闻。而此书的翻译,丝毫不会让人感觉到是一本翻译的书,反而像是一本以中文为母语写就的Oracle技术书籍。)
拿到《海量数据库解决方案》一书,通过短短几页的阅读就足以使我对此书的翻译和审校质量有了很高的评价。这让我找回到了阅读《Expert Oracle Database Architecture 9i and 10g Programming Techniques and Solutions》(中文名《Oracle 9i&10 编程艺术-深入数据库体系结构》)和《高级OWI与Oracle性能调整》这样的书的感觉,完全没有翻译的生涩感。
从书名上看,开始时给了我一个误导。我开始以为是一本关于类似于数据仓库方面的,有关海量数据管理和性能方面的书。其实这是一本以Oracle为主的(大型)数据库性能方面的数据库技术书籍。与其他书动辄有十几二十几章节不同,这本400多页的厚厚的书仅仅只有6个章节,仅仅浓缩在几个与性能有关的最主要的主题方面。这不是一本大而全的泛泛而谈的书,也不是step by step的教科书。仅仅"SQL的执行计划“一章就有100多页的篇幅。就算我自认为对Oracle的执行计划有相当程度的理解,从这一章节中仍然获取了以往不曾想到或接触的执行计划方面的知识。而其他关于索引和表连接的章节,也花了相当多的笔墨。可以说,这是一本类似于大名鼎鼎的Thomas Kyle的《Expert Oracle Database Architecture 9i and 10g Programming Techniques and Solutions》的书,是让我们从原理上掌握数据库性能技术的书。而书中大量的比较,插图,让我们从原理上理解技术时,又避免了技术原理过于抽象的问题。这两本书都有一个共同点,虽然侧重于原理和本质,但并不是泛泛而谈,而是深入到技术细节。
这本书不仅适合于DBA,而我认为同样更适合于系统设计和开发人员。比如”构建索引的战略方案“一章内容,帮助我们在开发和设计系统阶段,如何有效设计索引,而不是在系统上线运行后,由于性能问题才去被动的增加索引。
虽然这本书以Oracle为主介绍海量(大型)数据库解决方案,但书中并没有提到Oracle特有的比如Latch、10046 trace、SGA结构这样的东西。因此,这本书同样适合于其他非Oracle数据库工作者。我相信,这些原理同样适用于其他关系型数据库。
之所以愿意为大家介绍这样一本书,是因为我希望Oracle技术社区能够有更多的人,能够吸取到更多的技术营养。如果以后有可能,我也希望能够把自己的更多的东西写出来,为Oracle技术社会贡献一点微薄的力量。