OceanBase 儲存層程式碼解讀(一)引言

OceanBase開源社群發表於2021-10-13

OceanBase 是一個金融級分散式關聯式資料庫,在經過多年的雙十一大促和大規模商用場景的考驗後,於 2021 年 6 月份正式  開放原始碼


開源範圍包含資料庫核心、分散式元件和介面驅動,並提供完整的 SQL 引擎、事務引擎和儲存引擎,支援多副本、分散式事務、高效能、擴充套件能力、故障恢復、優化器、多活容災、語法相容等核心技術,共有 300 萬行的核心程式碼。


為了幫助大家更好的理解  OceanBase 開原始碼儲存層的實現,OBKV 團隊計劃推出一系列的博文,做一個 儲存層原始碼解讀的專欄,同時也基於這樣的一個渠道,和大家更暢快的交流討論資料庫儲存技術。


專欄作者介紹
我們是 OBKV 開發團隊,由 錫林、頌樂、公祺、力蝦、飛馳等小夥伴組成,我們的技術棧主要包括多模型資料庫、分散式儲存、資料庫高可用技術、後端伺服器開發等方面。OBKV 是基於 OceanBase 構建的分散式 NOSQL 資料庫,OBKV 的程式碼後續也會慢慢開源出去。


你能獲得什麼
通過本系列的儲存層原始碼解讀文章 ,您可以瞭解到 OceanBase 儲存層的具體程式碼實現、背後的設計思路,以及深層的思考,這對您學習其他資料庫也有幫助。


其次,在熟悉了 OceanBase 儲存層程式碼之後,如果有需要,您可以直接在未來的工作中使用我們的程式碼,或者為 OceanBase 貢獻您的程式碼。


系列內容提要
本系列的內容主要集中在 OceanBase 儲存層的程式碼解讀,主要包括如下幾篇文章:
1.微塊的儲存格式:微塊編碼格式程式碼解讀。
2.巨集塊的儲存格式:巨集塊在儲存層的作用和編碼格式。
3.SSTable 的儲存格式:SSTable 的組織形式,以及和分割槽的關係。
4.巨集塊的回收原理:SSTable 中不再使用的巨集塊是怎麼回收的。
5.Dag排程器原理:有向無環圖任務排程模型。
6.Compaction 的實現:包括各級 SSTable的轉儲、合併的實現。
7.Redo log 的實現原理:Redo log 的作用及實現。
8.其他相關內容。

寫在最後
如果您對我們的文章任何建議或反饋,歡迎提出來幫助我們改善。我們的郵箱是 open_docs@oceanbase.com,歡迎來撩。

如果您有什麼特別想了解的,也請告訴我們。

我們可能會在下期翻牌子噢~~

當然閱讀本系列文章和直接閱讀原始碼的體感還是不一樣的。

本系列文章旨在幫助您更好地理解原始碼,但是卻不能代替原始碼。如果想深入學習 OceanBase,歡迎閱讀原始碼和參與貢獻,OceanBase 社群在大門永遠向愛好者敞開。

最後的最後:
如果大家有任何疑問,可以通過以下方式與我們進行交流:
測試遇到問題?
企業使用者想享受技術顧問的免費一對一諮詢服務?
快加入 OB 創計劃→

釘釘群:33254054


今日之星,明日之星都不如你留下的星星(⭐️️)
我們想讓  Github 上優質的開源專案被更多人看到。
文件都是我們精心整理。如果有幫助的話 求個star(◕ᴗ◕✿),鼓勵鼓勵我們喲!
也歡迎大家給我們   issue,請點選  這裡。運營小姐姐在此跪謝️️ ❥(^_-)
歡迎大家一起參與 社群貢獻,指南請參考看  這裡
社群答疑:請點選  這裡



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70005215/viewspace-2795658/,如需轉載,請註明出處,否則將追究法律責任。

相關文章