使用 Rust 和 Go 從零實現(xiàn) KV 存儲
精雕細琢了幾個月的時間之后,《從零實現(xiàn) KV 存儲》課程終于上線了,打造此課程的目的,是看到很多人想要入行數(shù)據庫內核或者分布式存儲,但是苦于沒有一個很好的實戰(zhàn)項目來進行系統(tǒng)性的學習,結合自己從 Java 業(yè)務開發(fā)轉行數(shù)據庫內核的經歷,我認為從零實現(xiàn) KV 存儲是一個很好的起點,希望這個課程可以幫助到一部分同學。
本課程是從零實現(xiàn)一個完整的 KV 存儲項目,比起其他的項目,一個很大的不同在于,我會在視頻當中,帶著大家從第一行代碼開始編寫,而不是對著代碼進行講解,或者讓你自己去看。
并且本課程將會使用 Rust 和 Go 兩種語言實現(xiàn)。
通過每一行代碼的編寫,你會對整個系統(tǒng)了如指掌,這樣對自己基本功的鍛煉、對編程能力的提升都是很大的,下面是關于本課程的一些基本情況:
關于我
我的網名叫 roseduan,是開源項目rosedb、lotusdb
的作者,目前約累計 4.6k star,在存儲引擎方面有自己的一些實踐經驗。
我的 Github 主頁:https://github.com/roseduan

課程形式
課程提供了兩種展現(xiàn)的方式,文檔+視頻。
文檔中描述了一小節(jié)內容的基本流程,例如數(shù)據讀寫流程、刪除流程等,以及一些代碼細節(jié),主要是方便你隨時溫習,在手機端也能夠很好的觀看。
另一個是視頻,在視頻當中,我會專注于代碼細節(jié),帶著你一行一行的來完成每一個章節(jié),你可以先跟著我把代碼敲一遍,然后自己不斷的反思學習,提出自己的思考,以及可能的優(yōu)化思路,這樣才能夠不斷的提升自己。
課程的每一篇文檔開頭,都有一個對應的視頻,建議你先通過觀看視頻的方式,跟著我把代碼寫完。
課程的視頻演示中,將使用 Rust 和 Go 兩種語言來實現(xiàn),一次付費購買,相當于可以用兩種語言來學習實現(xiàn)一個 KV 數(shù)據庫。
課程內容
課程大致分為了幾個部分
一是 KV 存儲基本功能的實現(xiàn),包含數(shù)據讀寫、Merge、WriteBatch 等
二是一些常見的優(yōu)化策略,主要包含內存索引、文件 IO、Merge 操作的優(yōu)化
三是對 Redis 數(shù)據結構以及 Redis 協(xié)議的支持
以及其他的例如數(shù)據備份、測試、HTTP 接口接入等等。
課程目錄如下:

如果你在學習的過程當中,發(fā)現(xiàn)有任何問題,或者可以補充的內容,都可以提出來,如果合理的話,我會再加入到課程內容中。
適用人群
這個課程對以下同學應該都非常的合適,包括但不限于:
想入門數(shù)據庫的同學,存儲對一個數(shù)據庫來說是必不可少的,存儲也是一個數(shù)據庫當中非常重要的模塊,通過自己動手寫 KV 存儲可以掌握一些數(shù)據庫的基本概念,以及數(shù)據庫的基本設計思路
想入門分布式存儲的同學,單機 KV 存儲是分布式存儲崗位的必備,可以了解單機存儲引擎的設計思路,優(yōu)化思路等,增強自己對存儲引擎的深入理解
增加 Go 項目經驗的同學,如果學習了一些 Go 的基礎知識,但是苦于沒有項目經驗,想要進一步鞏固自己的知識
增加 Rust 項目經驗的同學,這個和 Go 類似,課程支持了兩種語言,所以想要進一步鞏固自己的 Rust 基礎知識,這個課程也很合適
想要鞏固基本功的同學,基本功對一個程序員來說非常重要,但是平常的一些課程,例如操作系統(tǒng),學完了之后總是沒有太多的使用場景,沒過多久就忘記了,這個課程當中涉及到操作系統(tǒng)、文件、磁盤等知識,可以幫助你打牢基本功
做畢業(yè)設計,對于尚未畢業(yè)的同學,苦于無法找到一個合適的畢設項目,這個項目應該會讓導師們眼前一亮
前置知識
學習本課程,不需要什么特別的前置知識,只需要熟悉 Go 或者 Rust 的基礎語法即可,課程當中涉及到的一些內容,我將會詳細的為大家講解,前期先跟著視頻中敲代碼,是完全可以學會的,沒有任何障礙。
是否可以試看
可以,課程的前兩節(jié)可以試看:
01 從零實現(xiàn) KV 存儲—初識 KV 數(shù)據庫
02 從零實現(xiàn) KV 存儲—bitcask 論文詳解
可復制這個鏈接查看:https://w02agegxg3.feishu.cn/docx/Ktp3dBGl9oHdbOxbjUWcGdSnn3g
課程目前的進度
課程目前更新到了第七節(jié),KV 引擎的數(shù)據讀寫接口都定義好了,后續(xù)每周將會更新 1-2 節(jié)內容。
如何購買
售價:399 元
課程提供了文檔+視頻,并且使用 Rust 和 Go 兩種語言實現(xiàn),在市面基本上沒有同類型的課程。學習一個硬核的項目,為自己的職業(yè)發(fā)展提供更多的可能,我自己就是從業(yè)務 Java 后端轉到數(shù)據庫內核的,我的啟蒙項目就是自己從零實現(xiàn)了一個 KV 引擎,所以對于這一點我是深有體會。
想要購買的同學,請加我 vx(vx號:kiss_duan),或掃描下面的二維碼,有其他任何疑問都可以咨詢。
購買成功后,將會為你開啟對應的權限。

購買后是否有有效期?
沒有,購買后永久持有,無限次觀看。
咨詢服務
購買后,我會拉你進課程用戶專屬的飛書群,我會親自為你解答學習過程中的疑難雜癥,保證你肯定能夠完全學會課程中的內容!
PS. 專欄無法引用外部鏈接,課程詳情可復制這個鏈接查看:https://w02agegxg3.feishu.cn/docx/Ktp3dBGl9oHdbOxbjUWcGdSnn3g