第一部分:数据库基础与架构设计
数据库系统概述
数据库发展史与技术演进
ACID特性深入解析
技术大牛成长课,从0到1带你手写一个数据库系统(完结)--- “夏のke” ---www.bcwit.top/5271/
主流数据库架构对比(关系型 vs NoSQL)
系统架构设计
模块化设计原则
存储引擎选型(B+树 vs LSM树)
查询引擎优化策略
事务管理器的实现思路
第二部分:存储引擎实现
3. 数据存储基础
磁盘I/O原理与优化
页式存储管理
数据序列化与反序列化
索引结构实现
B+树索引的插入、删除、查找
哈希索引的适用场景与限制
复合索引的设计与优化
数据压缩与加密
压缩算法选择(如Snappy、Zstandard)
数据加密技术(AES、RSA)
压缩与加密的性能平衡
第三部分:查询引擎构建
6. SQL解析与执行
词法分析与语法分析
抽象语法树(AST)的构建
查询优化器基础(基于规则的优化)
查询执行计划
执行计划生成算法
连接算法实现(嵌套循环连接、哈希连接、排序合并连接)
聚合函数与窗口函数优化
第四部分:事务处理与并发控制
8. 事务管理器实现
事务日志(Undo Log & Redo Log)
多版本并发控制(MVCC)
死锁检测与解决策略
锁机制与隔离级别
悲观锁 vs 乐观锁
隔离级别实现(读未提交、读已提交、可重复读、串行化)
幻读问题解决方案
第五部分:性能优化与扩展
10. 性能调优实战
- 慢查询分析与优化
- 索引调优策略
- 缓存机制设计(LRU、LFU)
分布式数据库基础
分片(Sharding)策略
分布式事务(2PC、TCC)
数据一致性协议(Paxos、Raft)
高可用与容灾
主从复制与半同步复制
故障检测与自动切换
数据备份与恢复方案
第六部分:实战项目与案例分析
13. 综合项目:实现简易分布式数据库
- 项目需求分析
- 系统设计与模块划分
- 核心功能实现(存储、查询、事务)
- 性能测试与优化
开源数据库源码剖析
MySQL InnoDB存储引擎
Redis持久化机制
TiDB分布式架构
行业案例研究
电商秒杀系统数据库设计
金融交易系统高可用性方案
大数据场景下的数据库选型
课程特色
理论与实践结合:每个模块均包含理论讲解、代码实现和实战演练。
分层教学:从基础到进阶,逐步深入,适合不同层次的学员。
开源项目驱动:基于真实开源项目(如LevelDB、RocksDB)进行二次开发。
社区互动:提供论坛支持,鼓励学员交流心得,解决疑难问题。