土法炼钢兴趣小组的算法知识备份

数据库内核实验索引

文章导航

分类入口
dbstorage
标签入口
#database#lsm-tree#storage-engine#postgresql#mysql#innodb#clickhouse#columnar#lakehouse#iceberg#parquet#flink#kafka#stream-processing#trino#query-engine#rocksdb#leveldb#compaction#milvus#vector-search

目录

数据库内核索引

本目录汇总八类数据库内核内容:生产级 RDBMS 源码拆解(PostgreSQL、MySQL InnoDB)、OLAP 列存引擎(ClickHouse / DuckDB)、数据湖与开放表格式(Parquet / Iceberg / Delta / Hudi)、流式数据处理(Kafka / Flink / 状态 / exactly-once)、分布式 OLAP 查询引擎(Trino / Spark / DuckDB / 优化与 MPP)、RocksDB 写优化 LSM 内核向量检索引擎(Milvus / Knowhere / Qdrant / Lance 对照),以及 从零实现 LSM-Tree 的实验系列。

系列入口

PostgreSQL 内核机制(26 篇,已完成)

系列入口 →

从进程模型、MVCC、WAL、Buffer Pool、查询优化器、索引到流复制与运维实战——PG 内核完整拆解。

MySQL InnoDB 内核机制(20 篇,已完成)

系列入口 →

InnoDB 架构、页格式、Buffer Pool、Redo/Undo、MVCC、锁、binlog 与 PG 系列对照。全 20 篇。

列存引擎内核(16 篇,已完成,§14 学术加深)

系列入口 →

ClickHouse MergeTree、向量化执行、Merge 与分布式;DuckDB 对照。全 16 篇;研究台账见 columnar-engine/PLAN.md

数据湖与开放表格式(21 篇,已完成)

系列入口 →

Parquet / Arrow 列式文件格式,Iceberg 元数据树与提交协议,Delta 事务日志与 Hudi timeline 对照;对象存储 ACID、行级删除、catalog、查询引擎下推、流式 CDC 入湖与湖上向量。全 21 篇。

流式数据处理(18 篇,已完成,§14 学术加深)

系列入口 →

Kafka 日志与副本、Flink 事件时间与 watermark、窗口、RocksDB 状态与 checkpoint、端到端 exactly-once、Debezium CDC 与入湖深化;背压、生产故障模式与引擎选型对照。承接 lakehouse 第 19 章 入湖侧,补全实时计算层。全 18 篇;研究台账见 stream-processing/PLAN.md

分布式 OLAP 查询引擎(18 篇,已完成)

系列入口 →

闭合数据平台栈:SQL 前端与 Calcite 式优化、Volcano/向量化执行、Trino Coordinator/Worker 与 shuffle、Iceberg connector 下推与生产排查。承接 lakehouse 第 18 章 读湖视角。全 18 篇。

RocksDB 内核机制(18 篇,已完成)

系列入口 →

补全存储引擎三角:LevelDB 基线、RocksDB 写/读路径、SST/MANIFEST、Leveled/Universal compaction 与 write stall、Column Family、事务与 Checkpoint、Flink/TiKV 嵌入对照。与 lsm-tree DIYstream-processing 第 12 章 分工。全 18 篇。

向量检索引擎(18 篇,已完成)

系列入口 →

补齐 db-frontier ANN 算法篇与 llm-infra RAG 应用篇之间的引擎层:Milvus 2.6.x(Segment / WAL / Segcore / Knowhere / 混合过滤与一致性),Qdrant 与 Lance/LanceDB 对照。全 18 篇;规划见 vector-engine/PLAN.md

LSM-Tree 实验与其它单篇

这一组文章偏“自己动手做一个数据库部件”:从日志、MemTable、SSTable、Bloom Filter、Compaction 到完整引擎,把抽象名词还原成可运行的代码路径。

当前 LSM 实验与其它单篇共 9 篇正文。

推荐入口

目录

  1. 【从零写一个 LSM-Tree 存储引擎】Compaction:LSM-Tree 的心脏手术
  2. 【从零写一个 LSM-Tree 存储引擎】完整引擎 + Rust 重写对比
  3. 从零写一个 LSM-Tree 存储引擎
  4. 【从零写一个 LSM-Tree 存储引擎】LSM-Tree 全景:为什么要先写日志再排序
  5. 【从零写一个 LSM-Tree 存储引擎】SSTable + Bloom Filter:磁盘上的有序表
  6. 【从零写一个 LSM-Tree 存储引擎】WAL + MemTable:崩溃了也不丢数据
  7. 数据库 MVCC:快照隔离到底隔离了什么
  8. 持久化数据结构在数据库中的应用
  9. SQLite 是怎么做到十亿行每秒的

延伸阅读

同主题继续阅读

把当前热点继续串成多页阅读,而不是停在单篇消费。

2026-07-07 · database / storage

【RocksDB 内核机制】选型与存储栈阅读地图

用决策树收束 RocksDB 与 InnoDB、列存、湖仓的适用边界;给出存储引擎三角 + 数据平台全栈阅读地图,对接 query-engine/18 与 postgresql-kernel,并标注 HTAP/TiKV 续作入口。

2026-06-29 · database / storage

【数据湖与开放表格式】Parquet · Iceberg · Delta · Hudi 内核拆解

拆解 lakehouse 的两层基础:列式文件格式(Parquet/ORC/Arrow)与开放表格式(Iceberg/Delta/Hudi)。讲清没有数据库进程时,如何在对象存储上做 ACID、行级更新、快照与并发,以及 catalog、查询引擎、流式入湖如何拼成可运维的湖仓。面向数据平台工程师与从 OLAP/数仓转型的开发者。


By .