在數(shù)據(jù)庫 OceanBase 3.0 峰會上,OceanBase 宣布正式開源,并成立 OceanBase 開源社區(qū),社區(qū)官網(wǎng)同步上線,300 萬行核心代碼向社區(qū)開放。這些代碼有一些多年變遷的遺跡,新人上手殊為不易。為了幫助大家理清頭緒愉快上手,我們決定發(fā)布一系列的文章幫助大家理解 OceanBase 源碼。希望通過這一系列的文章,能夠讓大家深入理解 OceanBase。
專欄作者介紹
楊志豐,花名竹翁,畢業(yè)于北京大學(xué)網(wǎng)絡(luò)實驗室,近十年來一直在從事分布式系統(tǒng)和數(shù)據(jù)庫的研發(fā)工作。竹翁一直在阿里巴巴/螞蟻金服自主研發(fā)的分布式關(guān)系數(shù)據(jù)庫 OceanBase 團隊從事研發(fā)工作,致力把這個設(shè)計先進的 HTAP 數(shù)據(jù)庫系統(tǒng)打造成技術(shù)業(yè)內(nèi)標桿、商業(yè)取得成功的核心基礎(chǔ)設(shè)施。在 OceanBase 系統(tǒng)中,他先后負責(zé) OceanBase 的 SQL 引擎,分布式主控模塊,多模數(shù)據(jù)庫方向等,也負責(zé)過 OceanBase 的數(shù)據(jù)庫平臺產(chǎn)品研發(fā),近期在負責(zé)內(nèi)核創(chuàng)新研發(fā)工作。竹翁對 C++、分布式系統(tǒng)原理、SQL 查詢處理、事務(wù)處理、編譯技術(shù)、工程效率等方面具有濃厚的興趣。
您能獲得什么
通過本系列的源碼解讀文章,您首先可以了解 OceanBase 數(shù)據(jù)庫的基本原理,學(xué)到一個數(shù)據(jù)庫是如何實現(xiàn)的。推而廣之,您也可以把 OceanBase 的實現(xiàn)原理應(yīng)用到其他數(shù)據(jù)庫,這對您學(xué)習(xí)其他數(shù)據(jù)庫也有幫助。其次,在熟悉了 OceanBase 的代碼之后,如果有需要,您可以直接在未來的工作中使用我們的代碼,或者為 OceanBase 貢獻您的代碼。
系列內(nèi)容提要
首先,OceanBase 是品牌名,之后還會推出 OceanBase 其他產(chǎn)品的源碼解讀系列文章。本系列介紹 OceanBase 數(shù)據(jù)庫的各大模塊和實現(xiàn)原理,包括以下幾篇文章:
整體架構(gòu)介紹,包括 OceanBase 數(shù)據(jù)庫包含哪些模塊,以及這些模塊的功能。
一條 SQL 的一生。主要介紹 OceanBase 數(shù)據(jù)庫中一條 SQL 的執(zhí)行流程,包括接收、處理、返回結(jié)果給客戶端的過程。
分區(qū)的一生。主要介紹 OceanBase 數(shù)據(jù)庫存儲層的相關(guān)知識。
事務(wù)的一生。主要介紹 OceanBase 數(shù)據(jù)庫事務(wù)的外部接口。
租戶的一生。主要介紹 OceanBase 數(shù)據(jù)庫多租戶的特性。
虛擬表。主要介紹 OceanBase 數(shù)據(jù)庫的虛擬表。
寫在最后
這是 OceanBase 首次推出源碼解讀教程,我們不免有做得不夠好的地方。如果您有任何建議或反饋,歡迎提出來幫助我們改善。我們的郵箱是 open_docs@oceanbase.com,歡迎來撩。如果您有什么特別想了解的,也請告訴我們。我們可能會在下期翻牌子噢~~當然閱讀本系列文章和直接閱讀源碼的體感還是不一樣的。本系列文章旨在幫助您更好地理解源碼,但是卻不能代替源碼。如果想深入學(xué)習(xí) OceanBase,歡迎閱讀源碼和參與貢獻,OceanBase 社區(qū)在大門永遠向愛好者敞開。
在閱讀過程中,如果您有任何疑問,可以通過以下方式與我們進行交流:
github:https://github.com/oceanbase/oceanbase