使用 Rust 建構 PostgreSQL 相容資料庫:綜合 SQL 解析器(DDL、DML、查詢)
Vaultgres 旅程第六部分:從頭建構 SQL 解析器。深入探討詞法分析、遞歸下降解析、DDL/DML/查詢的 AST 設計,以及運算符優先級處理。
Vaultgres 旅程第六部分:從頭建構 SQL 解析器。深入探討詞法分析、遞歸下降解析、DDL/DML/查詢的 AST 設計,以及運算符優先級處理。
Vaultgres 旅程第五部分:實作 PostgreSQL 通訊協定。深入探討訊息框架、啟動握手、擴充查詢協定,以及序列化 psql 和驅動程式能理解的結果集。
Vaultgres 旅程第四部分:實作預寫日誌和 ARIES 恢復演算法。深入探討持久性、檢查點,以及讓資料庫從崩潰中恢復的三階段恢復。
Vaultgres 旅程第三部分:實作 MVCC 以實現非阻塞讀取和快照隔離。深入探討交易 ID、可見性規則、VACUUM,以及交易 ID 環繞的噩夢。
為何我要用 Rust 建構 Vaultgres——一個 PostgreSQL 相容資料庫——來探索資料庫內部機制。深入探討頁面式儲存、緩衝池管理,以及在 AI 輔助開發下實作 WAL 相容儲存的挑戰。