P02 设计报告模板
1. 环境与复现
- 语言/版本、OS、CPU/磁盘:
- 提交范围与运行命令:
- 数据规模、随机种子、重复次数:
2. 数据格式与不变量
画出一页、槽目录、RID、buffer frame、B+ 树节点和 WAL 记录的关系。列出每条不变量、检查位置和故障症状。
| 不变量 | 代码位置 | 测试 | 失败症状 |
|---|---|---|---|
3. 查询路径
选一条 SQL,画出 lexer/parser → AST → 逻辑计划 → 物理算子 → page/index → result 的数据流;说明每个算子是否流式。
4. 事务与恢复选择
- 选择 MVCC 快照隔离 / 2PL / 其他:
- 提交点定义:
- 可见性/锁规则:
- WAL 刷盘、redo/undo 和重复恢复策略:
5. 故障实验
从 recovery_faults.json 选择至少两个,再自选一个:记录注入点、期望状态、实际日志和修复前后差异。
6. 性能与反思
给出基线、指标、误差和结论;解释一次设计为何在另一种负载下变慢,以及你会如何继续改进。
7. 个人贡献与引用
列出每位成员的提交/测试和可现场讲解的代码;标注教材、论文、开源代码、生成式工具等来源。