从 VersionStorageInfo 的 compaction score、ColumnFamilyData 的 picker、DBImpl 的后台调度、CompactionJob 的输出 SST 构建、以及 VersionEdit/LogAndApply 的提交链路出发,建立 RocksDB compaction 的基础机制与主流程。
从 CURRENT 指向 MANIFEST、VersionEdit 增量记录、VersionBuilder/VersionEditHandler 的应用与回放、以及 VersionSet::LogAndApply/Recover 的主链出发,讲清 RocksDB 如何持久化 SST 元数据、切换 current Version,并在 DB 打开时恢复回来。
从 FileSystem/Env 文件抽象、TableCache、TableReader、BlockBasedTableReader、BlockFetcher、RandomAccessFileReader 和 ReadOptions 出发,梳理 RocksDB 点查 SST 时如何从逻辑查找落到物理 block 读取,并区分 table cache、block cache、prefetch buffer 与 OS page cache 的职责边界。
从 WriteBatch sequence 分配、SnapshotImpl、DBImpl::GetImpl、LookupKey、GetContext、DBIter 和 ReadCallback 源码出发,梳理 RocksDB 如何用 sequence number 表达版本顺序,用 snapshot 固定读可见性上界,并在 Get 与 Iterator 路径中过滤不可见版本。
预览传统 OLTP 与存储基础专题,说明为什么 PostgreSQL、MySQL/InnoDB、SQLite 仍然是理解现代数据库的比较基线,并建立后续系统文章要追问的 storage-first 框架。
数据库行业长期学习索引与轻量状态文件,用于恢复专题进度、导航调研报告,并记录问题、来源和工程启发。
从 storage-first 视角建立现代数据库行业全景,先把传统单机数据库、嵌入式存储引擎、分布式 SQL、云原生数仓、实时 OLAP、搜索与向量数据库放到同一张地图里,再沉淀后续源码阅读和系统调研的问题框架。
数据库行业专题调研报告模板,用于按 storage-first 视角拆解现代数据库系统。
从 DBImpl::GetImpl、MultiGetImpl、NewInternalIterator、Version::Get、TableCache 和 BlockBasedTableReader 源码出发,梳理 RocksDB 读路径如何在 SuperVersion 稳定视图上先查 memtable,再查 immutable memtable,最后查 SST,并说明 Get、MultiGet 与 Iterator 的职责边界。
调研面向个人电脑、手机再利用的多节点文件服务方案,比较 GlusterFS、RetroShare、D-LAN、Tahoe-LAFS、SeaweedFS、Syncthing、Peergos、Spacedrive、IPFS/Kubo、JuiceFS 等项目与“多节点提供服务、内网可用、最好去中心化、最好有安卓端、不追求容灾”的匹配程度。