数据库内核从入门到精通

1

基于 2022 年教育部-阿里云产学合作协同育人教学内容和课程改革项目合作,云原生分布式开源数据库 PolarDB 系列示范课程建设项目陆续和高校展开。阿里云开发者社区、阿里云PolarDB开源社区、武汉大学联合出品「数据库内核从入门到精通」系列课程正式上线,阿里云数据库专家携手高校教师系统化解读数据库理论,开展数据库实践,带学员全面掌握数据库内核开发技能。

课程亮点

提升数据库内核实战技能
SQL引擎、事务和执行引擎、存储引擎等模块内容,提升数据库内核实战技能
PolarDB基础架构详解
PolarDB基础架构详解,了解新一代云原生数据库PolarDB的实现。
快速深入数据库内核
PolarDB的内核开发实战,让你快速理解知识点并深入数据库内核。
提升研发效率
PolarDB案例讲解,参与讨论数据库问题优化和解决,提升研发效率。

课程大纲

第一讲“数据库系统概述”课程已上线,点击右侧学习
本节课要点:主要从数据库的历史演进开始讲起,分享了数据库的系统架构、系统表、存储引擎的概述和数据组织、
SOL引擎的基础和优化器、执行引擎、事物引擎和实战优化等概要内容。
第二讲“数据库存储引擎”课程已上线,点击右侧学习
本节课主要讲解存储器层次、磁盘、磁盘的快速访问,如果磁盘出现故障该如何解决,数据库上的数据怎么在磁盘
上进行组织,块和记录地址的表示,以及变长的数据和记录在磁盘上怎么进行组织,如果记录发生修改,对应的存
储系统该怎样进行变化等内容。
第三讲“数据库索引”课程已上线,点击右侧学习
本节课主要讲解了索引的类型,B-树、散列表,介绍了特殊的索引如多维索引,多维数据的散列结构和树结构,位
图索引等内容。
第四讲“数据库查询执行”课程已上线,点击右侧学习
本节课主要分析了数据库里面的查询,查询执行要重点解决的问题;重点讲解了查询执行的流程、基于排序的算法、
基于散列的算法、基于索引的选择、使用索引(单)/(双)的连接、内存中的查询/并行处理、如何进行并行连接等丰
富的内容。
第五讲“数据库查询编译-上”课程已上线,点击右侧学习
本节课主要讲解了查询处理过程、语法分析与预处理、SQL查询、视图合并、不相关/相关子查询,以及如何进行逻
辑优化,如何估算选择运算结果和估计连接运算结果、估计多属性的自然连接,详细分享了统计数据分布的情况如
直方图、估算中间结果的磁盘空间,基于启发式的逻辑查询计划、物理计划生成的方法等精彩内容。
第五讲“数据库查询编译-下”课程已上线,点击右侧学习
本节课主要讲解了代价公式的优化示例,更一般的连接运算的代价函数,多关系的链接顺序,动态规划选择连接顺序,
以及基于贪心策略的连接顺序,物理计划的生成,中间结果对计划的影响,最后分享了语义查询优化等精彩内容。
第六讲“事务与并发控制(一)(上)”课程已上线,点击右侧学习
本节课主要分享了什么是事务,事务的原子性、一致性、隔离性、持久性,事务可能的执行情况;重点讲解了非串行调
度、可串行化调度,并发控制会产生什么问题,如数据的丢失更新、读脏数据、不可重复读;以及如何解决这些问题,
讲解了封锁、封锁的协议,事务的隔离级别,多种锁模式的封锁系统等内容。
第六讲“事务与并发控制(一)(下)”课程已上线,点击右侧学习
本节课主要分享了锁系统、锁表、多粒度封锁、警示锁(意向锁) ,共享锁、排他锁和意向锁的相容性矩阵 ,幻象与插入操
作的正确处理,基于树的封锁动机,使用时间戳的并发控制,基于时间戳的调度规则等内容。
第七讲“事务与并发控制(二)”课程已上线,点击右侧学习
本节课主要分享了快照隔离、更新事务的有效性检查——先提交获胜和先更新者获胜、快照隔离的可串行化;接着分享了插入
入操作、删除操作、索引封锁解决幻象、索引中的并发——B-link树、可串行性和可恢复性、级联回滚;以及是什么是死锁,
锁,解决死锁的方法,长事务等内容。
第八讲“故障恢复”课程已上线,点击右侧学习
本节课主要分享了数据一致性的内容、日志的类型、恢复的过程、检查点技术,以及数据归档过程中出现问题如何进行恢复
等内容。
第九讲“PolarDB一写多读架构”课程已上线,点击右侧学习
本节课主要讲解了以企业级客户的高可用,读写分流,容量扩缩容为焦点, 分享了 PostgreSQL 传统解决方案的优缺点
以及 PolarDB 架构下带来的好处。
第十讲“PolarDB Global Plan Cache 详解”课程已上线,点击右侧学习
本节课讲解了一个查询从文本到执行计划的生成都经历了哪些阶段,以及原生的 PG 为了优化性能而采取付出的努力和带
来的问题, 最后讲解了PolarDB-PG 是如何解决这些问题的。
第十一讲“分区表技术”课程已上线,点击右侧学习
本节课分享了表分区的优势,什么时候合适分区,以及分区表的生命周期,分区表的定义,基本概念等内容;重点讲解了
PolarDB-PG提供了丰富的分区表管理语法,兼容PG,兼容Oracle;介绍了分区剪枝的三个阶段,最后分享了
Global Index 相比于Local Index 的优势,以及Partitioned Table Scan 相比于Append 的优势。
第十二讲“实时物化视图详解”课程已上线,点击右侧学习
本节课分享了视图、物化视图、实时物化视图的概念、管理以及特性;讲解了实时物化视图实时增量刷新的概念及基本原
理。最后重点分析了视图、物化视图、实时物化视图的使用差异,对性能的影响。
第十三讲“逻辑复制技术”课程已上线,点击右侧学习
本节课将重点讲解物理复制和逻辑复制,它们的区别;以及逻辑复制的特性、原理、案例,PolarDB-PG是如何实现逻辑
复制功能增强等内容。
讲师阵容
仅为部分讲师
刘斌
  • 武汉大学|计算机学院博士讲师
主要从事数据管理、数据挖掘方面的研究,,讲授《数据库系统》、《数据库原理》等相关课程,指导学生参加计算机设计大赛,蓝桥杯,CCSP等竞赛,获得一等奖、二等奖等多项奖励。
周正中
  • 阿里云数据库 | 高级产品专家
花名德歌,阿里云数据库PolarDB开源生态运营负责人。中国开源软件推进联盟PostgreSQL分会特聘资深领域专家;PG中国社区发起人及PostgreSQL象牙塔发起人之一;DBA社群联合发起人之一;获得10余项数据库相关专利。
冯遵宝
  • 阿里云数据库 | 高级技术专家
花名北侠,阿里云PolarDB内核研发高级技术专家,专注高性能/存储/分布式等领域,参与研发过阿里搜索引擎内核,ErlangVM内核,PolarStore分布式存储,目前负责PolarDB 云原生HTAP架构。
孙梦石
  • 阿里云数据库 | 高级技术专家
花名梦实,阿里云PolarDB高级技术专家,阿里云分布式数据库PolarDB-X作者之一,也是阿里内部使用最广泛的数据库中间件TDDL的维护者,经历过十年淘宝双十一。
李杰
  • 阿里云数据库 | 高级开发工程师
花名慎追,专注于云原生数据库领域,PolarDB-PG 内核研发之一,目前主要负责PolarDB-PG 分区表技术,努力提升大数据量场景下分区表性能。
杨鼎
  • 阿里云数据库 | 高级开发工程师
花名希明,阿里云PolarDB高级开发工程师,专注于分布式数据库领域,参与研发过PolarDB-X开源项目,关注分布式数据库用户体验,参与打造过PolarDB-X一系列的诊断优化产品,致力于创造出更好用的云原生分布式数据库。

了解更多