我这些年不断地,反反复复地在碎片化阅读一些国产数据库的文档。说实在的无论是写得言简意赅,总是在不该省略的地方省略的文档,还是洋洋洒洒几万页的看似写得很不错的文档,读起来都十分吃力。
读起来吃力的最主要的原因还是因为对这些数据库产品不够熟悉,经过几年的阅读,我也意识到了,我觉得Oracle的文档读起来舒服,不仅仅是因为Oracle数据库的文档写得确实是好,还有一个原因是因为Oracle的基础概念和日常操作我都很熟悉,因此我只需要碎片化地从某个文档中找到我所需要的以前不熟悉的内容就可以了。
而对于国产数据库,我既不了解其概念,也不大了解其操作和使用,因此读起文档来十分费劲,幸亏很多国产数据库厂商都和我们建立了技术沟通群,有时候不想仔细读文档了,就在群里咨询原厂的专家。不过这样做也十分不礼貌,有些朋友就会告诉我,某份文档的第几页很详细地介绍了这个问题。
如果你逐渐对某个数据库熟悉起来了,对其架构和一些粗浅的原理了解了,那么看起文档来效率就高了不少,一些原本我觉得写得太粗略,质量太差的文档中,我也能学到不少有价值的知识。
从这些阅读国产数据库文档的过程中,我发现一个问题,在寻求某个问题的答案时,其实我们是需要碎片化阅读的 ,几千页上万页的手册不如一份MOS 的notes,因此有些时候我们在使用国产数据库文档的时候,也并不是说国产数据库的文档写得有多糟糕,而是解决一些特定问题的时候,需要的是另外一种形式的文档,不是手册,而是一些知识点,一些使用体验,一些实战经验。
这目前是绝大多数国产数据库所欠缺的。其实我们缺少的是一个20多年前 ITPUB的数据库论坛版块 ,官方文档是无法承担这个 任务的。
另外一个方面就是,我们在学习某个数据库之初,最需要的是理解某个数据库的基本概念,如果对某个数据库的基础概念不了解,那么我们总会用另外一种数据库的原理来解释这种全新的数据库产品,这样就会加深我们的误解。
一些新数据库产品,我学得最深入的是PG,这是因为我学习PG看的第一本书是interpg.jp,从那里我理解了PG的基本原理,然后再去实践,再去学其他的东西,就变得十分轻松了,而且我理解了PG的原理后,就会和Oracle的原理相互对照,让后面的学习更加轻松。
因此对于国产数据库来说,认认真真写一本concepts是十分必要的 ,这一点,我和很多国产数据库 厂商的朋友都提过,有些数据库也尝试写一本这样的手册,不过目前为止,我还没有看到能和Oracle Concepts媲美的类似手册。在二十年前,我对每个想做Oracle DBA的朋友说,你首先要看的书就是《Oracle Concepts》。
实际上,数据库知识的学习是必须基于实践的,每次要解决某个问题的时候,我总是会再次认真地阅读某个数据库产品的文档,而随着这种事情做得越来越多,我能从国产数据库手册中吸取的营养就越丰富。
从我的阅读经验来说,再烂的国产数据库手册里都有写得很精妙的地方,看多了,慢慢也就看懂了。也可能并不是我看懂了文档,而是通过使用理解了某个数据库产品。