那些晦澀的國產數據庫文檔,我總是能看明白的
我這些年不斷地,反反復復地在碎片化閱讀一些國產數據庫的文檔。說實在的無論是寫得言簡意賅,總是在不該省略的地方省略的文檔,還是洋洋灑灑幾萬頁的看似寫得很不錯的文檔,讀起來都十分吃力。
讀起來吃力的最主要的原因還是因為對這些數據庫產品不夠熟悉,經過幾年的閱讀,我也意識到了,我覺得Oracle的文檔讀起來舒服,不僅僅是因為Oracle數據庫的文檔寫得確實是好,還有一個原因是因為Oracle的基礎概念和日常操作我都很熟悉,因此我只需要碎片化地從某個文檔中找到我所需要的以前不熟悉的內容就可以了。
而對于國產數據庫,我既不了解其概念,也不大了解其操作和使用,因此讀起文檔來十分費勁,幸虧很多國產數據庫廠商都和我們建立了技術溝通群,有時候不想仔細讀文檔了,就在群里咨詢原廠的專家。不過這樣做也十分不禮貌,有些朋友就會告訴我,某份文檔的第幾頁很詳細地介紹了這個問題。
如果你逐漸對某個數據庫熟悉起來了,對其架構和一些粗淺的原理了解了,那么看起文檔來效率就高了不少,一些原本我覺得寫得太粗略,質量太差的文檔中,我也能學到不少有價值的知識。
從這些閱讀國產數據庫文檔的過程中,我發現一個問題,在尋求某個問題的答案時,其實我們是需要碎片化閱讀的 ,幾千頁上萬頁的手冊不如一份MOS 的notes,因此有些時候我們在使用國產數據庫文檔的時候,也并不是說國產數據庫的文檔寫得有多糟糕,而是解決一些特定問題的時候,需要的是另外一種形式的文檔,不是手冊,而是一些知識點,一些使用體驗,一些實戰經驗。
這目前是絕大多數國產數據庫所欠缺的。其實我們缺少的是一個20多年前 ITPUB的數據庫論壇版塊 ,官方文檔是無法承擔這個 任務的。
另外一個方面就是,我們在學習某個數據庫之初,最需要的是理解某個數據庫的基本概念,如果對某個數據庫的基礎概念不了解,那么我們總會用另外一種數據庫的原理來解釋這種全新的數據庫產品,這樣就會加深我們的誤解。
一些新數據庫產品,我學得最深入的是PG,這是因為我學習PG看的第一本書是interpg.jp,從那里我理解了PG的基本原理,然后再去實踐,再去學其他的東西,就變得十分輕松了,而且我理解了PG的原理后,就會和Oracle的原理相互對照,讓后面的學習更加輕松。
因此對于國產數據庫來說,認認真真寫一本concepts是十分必要的 ,這一點,我和很多國產數據庫 廠商的朋友都提過,有些數據庫也嘗試寫一本這樣的手冊,不過目前為止,我還沒有看到能和Oracle Concepts媲美的類似手冊。在二十年前,我對每個想做Oracle DBA的朋友說,你首先要看的書就是《Oracle Concepts》。
實際上,數據庫知識的學習是必須基于實踐的,每次要解決某個問題的時候,我總是會再次認真地閱讀某個數據庫產品的文檔,而隨著這種事情做得越來越多,我能從國產數據庫手冊中吸取的營養就越豐富。
從我的閱讀經驗來說,再爛的國產數據庫手冊里都有寫得很精妙的地方,看多了,慢慢也就看懂了。也可能并不是我看懂了文檔,而是通過使用理解了某個數據庫產品。