小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI

本文介绍了如何从零开始实现LSM-Tree存储引擎,涵盖日志、MemTable、SSTable、Bloom Filter和Compaction等核心概念,并提供完整的C代码、架构图和数学推导,深入探讨LSM-Tree的设计哲学及其在数据库中的应用。

数据库内核实验索引

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-19T00:00:00Z

基于 Linux 6.6 drivers/net/wireguard:wg_xmit 与 AllowedIPs trie、noise 握手入口、encrypt/decrypt worker、messages.h 常量与 netlink 配置面。与 network/89 全景文互补。

【WireGuard】内核代码路径:从 wg_xmit 到加解密 worker

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-19T00:00:00Z

从 Donenfeld NDSS 2017 的设计哲学出发,拆解 Noise IKpsk2、内核数据路径、运维实践与形式化验证争论——把 WireGuard 从「好用的 VPN」讲成可核对的协议与系统。

WireGuard 深度系列:从设计哲学到内核实现

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-19T00:00:00Z

本目录记录「SQLite 内核」系列的单机实验。正文机制结论以 SQLite 官方文档(file format、WAL、locking)与 3.45+ 源码为准;实验只补充可观察行为,不以单机数字推断服务器数据库或跨库排名。

SQLite 内核复现说明

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-18T08:24:56Z

> 本文是写作规划,不是可发布正文。拆解对象:SQLite 3.45.x–3.46.x 的单文件嵌入式行存内核——Pager / B-Tree / VDBE / Rollback Journal·WAL / 锁状态机 / 计划器与恢复;DuckDB 只作选型边界句,不重写 [列存引擎](../columnar-engi…

SQLite 内核 — 系列规划

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-18T08:24:56Z

用部署形态、写并发、查询形态与持久化需求收束 SQLite / PostgreSQL·InnoDB / DuckDB / RocksDB 选型;给出站内阅读地图、全系列学术谱系与开放问题,标志 SQLite 内核系列完成。

【SQLite 内核】选型与阅读地图:SQLite vs PG vs DuckDB vs RocksDB

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-18T00:00:00Z

拆解 BEGIN DEFERRED/IMMEDIATE/EXCLUSIVE 三种模式的取锁时机差异,对照 Berenson et al. SIGMOD 1995 的隔离词汇与官方 Isolation In SQLite 文档;说明单写者约束下 WAL 快照为何天然回避 write skew,并用本机 3.53.2 实测三种 BEGIN 均可提交。

【SQLite 内核】事务与隔离:DEFERRED/IMMEDIATE/EXCLUSIVE 与单写者快照

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-18T00:00:00Z

拆解 PRAGMA integrity_check/quick_check 的检查范围与复杂度差异,对照官方 How To Corrupt Your Database Files 列出的四类常见损坏来源;用本机 3.53.2 实测一个刻意损坏的数据库,比较 .recover 与 .dump 在数据丢失时的真实行为差异,钉住“修复=尽力抢救,不是万能恢复”的边界。

【SQLite 内核】完整性检查与损坏恢复:integrity_check 与修复边界

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-18T00:00:00Z

拆解 sqlite3_backup_init/step/finish 与 CLI .backup 如何在不停机的前提下拿到一致快照;用本机 3.53.2 实测 .backup 后备份库 count(*)=3、integrity_check=ok,并实测对比:在写事务打开期间用 cp 拷贝主文件,物理文件已经比头部记录的逻辑页数更大。

【SQLite 内核】在线备份与 sqlite3_backup:与 cp 热拷贝的语义差

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-18T00:00:00Z

用进程模型、日志、锁与缓冲池四轴对照 SQLite 与 PostgreSQL / InnoDB:说明嵌入式单文件如何删掉服务器层,以及同名 WAL、隔离、缓存概念为何不能平移运维经验;不写跨库吞吐排名。

【SQLite 内核】与 PG / InnoDB 机制对照:进程、WAL、锁、缓冲池

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-18T00:00:00Z

拆开 sqlite3_prepare_v2 内部如何把 SQL 文本经词法、语法、名字解析、查询规划变成第 5 篇执行的 bytecode;用本机 3.53.2 的 EXPLAIN QUERY PLAN 钉住三种访问路径形态,并交代 schema cookie 触发 reprepare 的机制,规划算法细节留给第 11 篇。

【SQLite 内核】SQL 编译管线:从文本到 VDBE 程序

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-18T00:00:00Z

钉住 SQLite WAL 模式如何反转 rollback journal 的读写关系:原始内容留在主文件、新内容追加到 -wal,checkpoint 才把帧搬回主文件;用本机 3.53.2 实测 journal_mode=WAL 切换与 passive/truncate checkpoint 的真实帧数,读放大与 checkpoint 频率的取舍留作开放问题。

【SQLite 内核】WAL 与 checkpoint:追加日志与读写并发

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-18T00:00:00Z

钉住 SQLite 默认的原子提交机制:写前把原页拷进 -journal、DELETE/TRUNCATE/PERSIST 三种提交点如何实现、cache spill 何时把 journal 变成真正的 hot journal;用本机 3.53.2 实测崩溃恢复全过程,WAL 对照留给第 8 篇。

【SQLite 内核】Rollback Journal 模式:写前拷贝与提交点

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-18T00:00:00Z

钉住 ATTACH DATABASE 的命名空间规则、super-journal 如何让跨文件事务在 rollback journal 模式下保持原子,以及官方文档明确写明的一条反常识边界:main 库或任一 attached 库切到 WAL 后,跨库事务只在单文件粒度原子,崩溃中间态可能只改了一部分文件;本机 3.53.2 实测跨库 JOIN、跨库事务提交与 DETACH 锁冲突。

【SQLite 内核】ATTACH / 多库边界:跨库事务的原子性在 WAL 下会退化

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-18T00:00:00Z

钉住 EXPLAIN QUERY PLAN 的 SEARCH/SCAN 判定、ANALYZE 写入 sqlite_stat1/stat4 的具体语义,以及没有统计时 SQLite 用什么默认猜测(表大小猜一百万行、重复度猜 10);对照官方 N3 join 排序算法与 PG 式穷举代价优化器的复杂度边界,本机 3.53.2 实测覆盖两条 EQP 路径。

【SQLite 内核】查询计划器与统计:没有 ANALYZE 时的启发式与代价估计边界

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-18T00:00:00Z

钉住 covering index 消除的具体开销:第 4 篇 index b-tree 只存 key+rowid,命中后仍要回表这一次二次查找;用本机 3.53.2 实测 SELECT 列是否全部落在索引内如何改变 EQP 输出,并区分语句级自动索引与 sqlite_autoindex_* 约束索引这两个常被混淆的概念。

【SQLite 内核】索引与 covering scan:什么时候真的省掉了第二次查找

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-18T00:00:00Z

钉住官方 File Locking And Concurrency 文档定义的 UNLOCKED/SHARED/RESERVED/PENDING/EXCLUSIVE 五态锁阶梯:谁能与谁共存、PENDING 如何防写者饿死、Pager 为何只跟踪四态;用本机 3.53.2 真实双连接冲突实验验证,shared cache 与 WAL 差异只点边界,留给第 8、10 篇。

【SQLite 内核】锁状态与 shared cache:五态锁阶梯与 writer starvation

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-18T00:00:00Z

本文记录了FoundationDB内核的单机实验,涵盖事务冲突与重试、状态观察、事务时间限制及进程重启后的状态恢复。建议在Linux或WSL2环境中进行实验,并确保Python绑定与API版本一致。

FoundationDB 内核复现说明

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-17T15:09:04Z

> 本文是写作规划,不是可发布正文。拆解对象:FoundationDB 7.x 的 Unbundled 架构、OCC 严格可串行化、Log / Storage 分离、Redwood 与确定性模拟;Record Layer 只作一篇边界章。不重写 [distributed/39](../../distributed/39…

FoundationDB 内核 — 系列规划

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-17T15:09:04Z

> 本文是写作规划,不是可发布正文。拆解对象:TiKV 7.x/8.x(Region / Multi-Raft / raftstore / MVCC key)为主线;PD 为调度与 TSO;TiFlash 以 Raft Learner 列存副本收束 HTAP;CockroachDB 作对照一篇,OceanBase 仅边…

TiKV / HTAP 内核 — 系列规划

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-17T13:46:25Z
  • <<
  • <
  • 1 (current)
  • 2
  • 3
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码