資料庫是個很複雜的系統,涉及到算法、資料結構、編譯原理、體系結構、網絡通信等幾乎涵蓋計算機科學主要方面的東西,想要全搞懂了着實不易,但要真好好地把某個開源資料庫核心實作研究一番,卻又大有裨益。要提起開源資料庫不能不提MySQL,可以說網際網路的興起都是受到這個開源産品的促進,随着MySQL被Oracle收購,PostgreSQL這個稍顯學院派的資料庫逐漸被人們重視起來,越來越多的人投入到PostgreSQL核心開發中來。
PostgreSQL與MySQL是兩種經典的極端:MySQL偏重江湖實用性,PG散發着嚴謹的學院氣息;MySQL的SQL引擎和存儲引擎分離的,PG的SQL引擎與存儲引擎的高度耦合;MySQL是多線程,PG是多程序的... ...
由于工作的關系,主要看PG的代碼多一些,而PG又是經典的遵循了《資料庫系統實作》這本書。隻看一個系統實作的壞處就是總以為這個東西就該這麼實作,放棄了思考多種可能的機會。是以将這兩個系統放在一起對比閱讀,将會是一種奇妙的體驗。
工作又忙,自己又懶,為了鼓勵自己堅持下去,用一篇《為學》來開篇吧。
天下事有難易乎?為之,則難者亦易矣;不為,則易者亦難矣。人之為學有難易乎?學之,則難者亦易矣;不學,則易者亦難矣。 吾資之昏,不逮人也;吾材之庸,不逮人也;旦旦而學之,久而不怠焉,迄乎成,而亦不知其昏與庸也。吾資之聰,倍人也;吾材之敏,倍人也;屏棄而不用,其與昏與庸無以異也。聖人之道,卒于魯也傳之。然則昏庸聰敏之用,豈有常哉! 蜀之鄙有二僧:其一貧,其一富。貧者語于富者曰:"吾欲之南海,何如?" 富者曰:"子何恃而往?" 曰:"吾一瓶一缽足矣。" 富者曰:"吾數年來欲買舟而下,猶未能也,子何恃而往!" 越明年,貧者自南海還,以告富者 。富者有慚色。 西蜀之去南海,不知幾千裡也,僧富者不能至而貧者至焉,人之立志,顧不如蜀鄙之僧哉?是故聰與敏,可恃而不可恃也;自恃其聰與敏而不學者,自敗者也。昏與庸,可限而不可限也;不自限其昏與庸,而力學不倦者,自力者也。