怎么實(shí)現(xiàn)一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)系統(tǒng)?
作者: 發(fā)布日期:2025-06-26 04:00:10
我個(gè)人是比較反對(duì)那些遇事就推薦生啃 sqlite 源碼的人。
推薦看sqlite1代碼的人,八成,不,九成五都是自己沒(méi)有看過(guò)的人。
sqlite1 的源碼確實(shí)不多,但底層存儲(chǔ)系統(tǒng)使用的是 gdbm 接口,沒(méi)有自己實(shí)現(xiàn)存儲(chǔ)系統(tǒng),就缺席了日志,以及依賴其實(shí)現(xiàn)的各種高級(jí)現(xiàn)代化功能。
還實(shí)現(xiàn)了一個(gè)復(fù)雜精巧的虛擬機(jī) vdbe。
這兩個(gè)東西的代碼就基本上占據(jù)了一大半。
其中 vdbe 是基于堆棧式上下文的虛擬機(jī)實(shí)現(xiàn),這也遠(yuǎn)不是你在大學(xué)學(xué)習(xí)的計(jì)算機(jī)組成原理…。









