storage-engines 0.1.0

四个教学用 KV 存储引擎(LSM 树 / B+ 树 / Bitcask / 纯内存),共享同一套 MVCC 事务层与统一 trait 门面,可在运行时按名字切换引擎。Four educational key-value storage engines behind one MVCC transaction layer and a runtime-selectable trait facade.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//! 教学用 Bitcask 存储引擎 + MVCC 事务层。
//!
//! - [`bitcask`]:append-only 日志 + 内存 KeyDir + hint 快启动(可多分片)
//! - [`mvcc`]:快照隔离事务 / WAL / vacuum / bulk load
//! - [`kv_ops`]:批量 / 范围 / 搜索分页 / 元数据 / TTL(`Transaction` 扩展)
//! - [`wal`] / [`storage`] / [`error`]

pub mod bitcask;
pub mod error;
pub mod kv_ops;
pub mod bitcask_mvcc;
pub mod storage;
pub mod wal;

pub use bitcask::{hint_path_for, Bitcask, KeyDir, KeyLoc, Log, Result as BitcaskResult};
pub use error::{Error, Result};
pub use kv_ops::{IncrError, KeyMatchMode, KeyMeta, SearchPage, SearchQuery};
pub use bitcask_mvcc::{ExportRecord, VacuumStats, MVCC};