跳过正文
  1. Posts/

数据库行业调研报告模板

·1564 字·4 分钟
📖 阅读 --
DogDu
作者
DogDu
工作结束或者累了, 要不休息一会, 看会动漫吧 ~
目录
数据库行业学习 - 这篇文章属于一个选集。
数据库行业调研报告模板

1. 系统目标与历史动机
#

说明系统为什么出现,受什么系统、论文、工程问题或行业变化启发,想替代、补充或改进谁。

2. 目标 workload 与用户需求
#

说明系统面向的 workload、用户群体和核心需求。

3. 整体架构模型图
#

放置官方架构图、官方论文/博客/演讲图、高质量第三方图,或根据公开资料整理的 Mermaid 图。

图后解释:

  • 计算层在哪里。
  • 存储层在哪里。
  • 日志层在哪里。
  • 事务层在哪里。
  • 元数据层在哪里。
  • 复制层在哪里。
  • 缓存层在哪里。

4. 存储模型
#

说明底层数据如何组织,例如 B+Tree、LSM、列存、对象存储文件、page、SST、segment、tablet、region、partition、倒排索引或向量索引。

5. 写入路径
#

说明写请求如何进入系统,是否支持 batch、group commit、日志聚合,写入是否经过 WAL、redo log、raft log 或 binlog,何时可见,何时持久化。

6. 读取路径
#

说明点查、范围查、snapshot read、index lookup、remote read、cache miss 后的路径,以及读路径如何处理可见性和缓存。

7. 日志、恢复、CDC
#

至少回答:

  • 日志记录什么。
  • 日志如何写入、读取、分段、截断、删除和回收。
  • checkpoint 与日志回收如何关联。
  • 崩溃恢复从哪里开始。
  • CDC 读取哪类日志或变更流。
  • BLOB 或大对象如何进入日志或被日志引用。

8. 事务、MVCC、batch、并发控制
#

说明时间戳、snapshot、可见性、冲突检测、锁、latch、长事务、大事务、失败恢复、批量写入原子性和并发安全。

9. 复制与分布式一致性
#

说明复制对象是什么,采用主从、Raft、Paxos、quorum、lease 或其他机制,leader 如何选举,副本如何追赶,learner、follower read、read replica 如何工作。

10. 元数据管理
#

说明 catalog、schema、table、index、tablet、region、shard、partition、version、manifest、snapshot 等元数据如何管理,以及 master、PD、meta service 或 catalog service 的职责。

11. 二级索引与约束维护
#

说明二级索引如何编码、写入、维护一致性,唯一索引、异步索引、索引回填、索引 GC 和约束检查如何处理。

12. 缓存、后台任务、资源隔离
#

覆盖 buffer pool、block cache、page cache、metadata cache、result cache;flush、compaction、vacuum、GC、checkpoint;以及竞争规避、资源隔离和后台任务调度。

13. 插件、生态补丁与变相方案
#

区分:

层次含义示例
原生能力系统内核直接支持PostgreSQL 的 SQL、MVCC、B+Tree
官方或主流扩展插件补能力pgvector、PostGIS、TimescaleDB、Citus
外围系统组合靠别的系统配合PostgreSQL + Elasticsearch、MySQL + Canal + ClickHouse
变通方案能做但不舒服用 JSONB 模拟文档库,用关系表模拟队列

结论必须判断“能做”和“适合做”的区别。

14. 我的问题
#

记录当前不理解的问题、需要源码验证的问题、工程实践相关问题、已解决问题和当前结论。

15. badcase 与架构边界
#

按模块组织 badcase,至少关注日志、事务、元数据、缓存、分布式一致性、索引、后台任务、成本和多租户。

16. 工程启发
#

总结哪些设计值得借鉴,哪些复杂性被转移,哪些方案看似优雅但工程代价高,哪些 badcase 对存储系统设计有警示意义。

17. 参考来源与引用
#

记录所有参考来源。开源系统必须先 clone 到本地源码目录,默认路径为 D:\program\<repo-name>;如果本地已存在则复用,并记录实际源码路径、关键目录、关键文件、类或函数。闭源系统记录官方公开资料来源。架构图必须注明来源;自绘图注明“根据公开资料整理”。如果开源系统暂时无法 clone,必须记录阻塞原因,并且不能写源码级结论。

数据库行业学习 - 这篇文章属于一个选集。
数据库行业调研报告模板