如何實現單機版DataBase:概覽

husthxd發表於2017-11-04

從分而治之的角度,我們首先對“DataBase”分而治之拆分為以下幾個模組:

CLI:客戶端呼叫介面。接收Client的請求和輸入,響應請求由後端處理後返回結果或資料。實現上面,可以選用開源的使用廣泛的介面,如RDBMS可選擇PostgreSQL、MySQL的介面,NoSQL可選擇Redis,可以很好的適配現有的程式或者降低開發門檻,減少使用者的學習成本。

Data Manager:資料管理器。CLI接收請求,交由Data Manager進行處理,諸如解析命令生成執行計劃、實際執行命令以及序列化資料、反序列化資料、記錄日誌等操作都在此處完成。可以做得非常簡單,比如使用單執行緒類似Redis的處理方式;也可以做的很複雜,如Oracle,使用不同的程式和不同記憶體結構進行處理。

Data Storage:資料儲存。這是資料實際儲存的地方,職責是儲存資料,輸入是Binary的資料,輸出也是Binary的資料,如何組裝和解析由高層負責。這部分可以自己實現,也可以用現成的儲存引擎,比如RocksDB、LevelDB等等。

如何實現單機版DataBase:概覽
模型概覽



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

相關文章