OceanBase 儲存層程式碼解讀(一)引言
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- OceanBase 儲存層程式碼解讀(三)巨集塊儲存格式
- OceanBase 儲存層程式碼解讀(二)微塊儲存格式
- OceanBase 原始碼解讀(九):儲存層程式碼解讀之「巨集塊儲存格式」原始碼
- OceanBase儲存層程式碼解讀(四):宏塊的垃圾回收和壞塊檢查
- TiFlash 原始碼閱讀(一) TiFlash 儲存層概覽原始碼
- OceanBase 儲存引擎詳解儲存引擎
- [轉帖]OceanBase 儲存引擎詳解儲存引擎
- OceanBase 原始碼解讀(五):租戶的一生原始碼
- OceanBase 原始碼解讀(三):分割槽的一生原始碼
- Python中檔案讀取與儲存程式碼示例Python
- 使用MyGeneration生成儲存過程和資料訪問層程式碼儲存過程
- 臨時儲存程式碼
- TiFlash 儲存層概覽
- block底層儲存方式BloC
- 雲端儲存抽象層-FluentStorage抽象
- Appdash原始碼閱讀——Store儲存APP原始碼
- Ceph分散式儲存技術解讀分散式
- Tair持久儲存系列技術解讀AI
- 在應用程式中將OJB作為一個儲存層使用(一) (轉)
- 使用js實現儲存讀取js字串程式碼例項JS字串
- mysql程式碼閱讀-外掛載入及儲存引擎接入MySql儲存引擎
- OceanBase 原始碼解讀(七):一文讀懂資料庫索引實現原理原始碼資料庫索引
- 大資料儲存平臺之異構儲存實踐深度解讀大資料
- OceanBase易鴻偉 OceanBase Cloud 核心能力解讀Cloud
- 程式碼質量第 3 層 - 可讀的程式碼
- 一文讀懂層次聚類(Python程式碼)聚類Python
- 儲存ASPX 生成的html程式碼HTML
- 在應用程式中將OJB作為一個儲存層使用(二) (轉)
- 在應用程式中將OJB作為一個儲存層使用(三) (轉)
- 在應用程式中將OJB作為一個儲存層使用(四) (轉)
- 在應用程式中將OJB作為一個儲存層使用(六) (轉)
- 在應用程式中將OJB作為一個儲存層使用(五) (轉)
- 三層儲存技術保障雲服務的儲存安全
- 技術分享 | LSM-Tree 和 OceanBase 分層轉儲
- 一張圖讀懂軟體定義儲存
- 一文讀懂容器儲存介面 CSI
- 分散式儲存技術解讀系列之GFS分散式
- 一文詳解 JuiceFS 讀效能:預讀、預取、快取、FUSE 和物件儲存UI快取物件