toyDBRust 編寫的分布式 SQL 數(shù)據(jù)庫
toyDB 是用 Rust 編寫的分布式 SQL 數(shù)據(jù)庫,作為一個學(xué)習(xí)項目。大多數(shù)組件都是從頭開始構(gòu)建的,包括:
-
用于線性化狀態(tài)機復(fù)制的基于 Raft 的分布式共識引擎。
-
具有基于 MVCC 的快照隔離的符合 ACID 的事務(wù)引擎。
-
具有 B+樹和日志結(jié)構(gòu)后端的可插拔存儲引擎。
-
具有啟發(fā)式優(yōu)化和時間旅行支持的基于迭代器的查詢引擎。
-
SQL 接口包括投影、過濾器、連接、聚合和事務(wù)。
toyDB 不適合在現(xiàn)實世界中使用,但其他學(xué)習(xí)數(shù)據(jù)庫內(nèi)部結(jié)構(gòu)的人可能會感興趣。
toyDB 的架構(gòu)對于分布式 SQL 數(shù)據(jù)庫來說是相當(dāng)?shù)湫偷模阂粋€由 Raft 集群管理的事務(wù)鍵/值存儲,上面有一個 SQL 查詢引擎。有關(guān)更多詳細(xì)信息,可參閱 架構(gòu)指南。
評論
圖片
表情
