陈老师:1415968548 郑老师:2735197625 乐老师:354331153
客服热线:
19941464235 / 19906632509 / 19906733890 / 19905812933(微信同号)

客服微信

源码研究方法论之调试数据库 融会贯通

学习人数:500 课程类型:就业培训 课时长度:4天/24 课时
立即咨询
课程介绍

入学基础与条件

1 掌握三种数据库基础操作:Oracle、MySQL、PostgreSQL

l  掌握基本CRUD操作,参数管理、可以启动与关闭数据库。

l  了解用户、权限管理与如何连接数据库。

l  了解表、索引、存储过程/函数、视图等数据库基本对象操作。

l  了解基本内存池类型与作用、各种文件种类与作用(如Redo文件、归档文件、Binlog文件等)。

2 了解Linux基本操作

3  C/C++编程语言达到二级考试水平

本课程对基础要求并不高,如C++的各种高级玩法,像多态、模版等,将在学习MySQL代码时讲到,学习之前并不需要具备。本课程重在讲述方式、而非方法,在学习结束后,您可根据自己工作重心与情况,选定方向进一步勇攀高峰。

简而言之,本课程是“起点”,而非“终点”。(我们讲告诉你,如何最快的成长。)

课程目标
一颗奔腾向上的、渴望成长的心
本课程的目的在于培养对未来有追求的超级DBA(指可以解决莫明其妙故障、完成极致调优、甚至修改源码),填补数据库技术自主、可控大方向下,技术人员匮乏的情况。
耐心与对未来的期望二者都必不可少。如果北上广深有房数套、家里有矿等情况,建议选择学习见效快、辅助性质的技术,比如携数百亿资本逃离的潘**所学习的编程语言。
课程大纲
Day 1
1、快速构建最简《调试数据库》技术演练环境
1.1 源码环境配置
1.1.1 PostgreSQL源码编译
1.1.2 MySQL源码编译
1.1.3 System tap安装
1.1.4 vim环境设置
1.1.5 其他设置
1.2 数据库调试技术简介
1.2.1 Gdb调试常用命令
1.2.2 System tap语言介绍
用户态跟踪方法
内核态跟踪方法
1.2.3 牛刀小试
统计Oracle/PostgreSQL/MySQL逻辑读耗时
Linux内核层I/O流程跟踪
Linux内核层比较O_DIRECT I/O和普通I/O的耗时
Day 2
2、SQL解析分析
2.1 《调试数据库》方法论:找到锚点、定位目标、千里追踪
实践《调试数据库》方法论,摆脱枯燥的源码阅读方式,感受不一样的源码学习方法。
2.2 扩展MySQL/PostgreSQL、增加解析性能统计调试脚本
2.2.1 PostgreSQL解析时间与效率统计
使用动态跟踪技术,不改源码、增加硬解析、软解析、软软解析比例与时间统计
2.3 MySQL解析时间与效率统计
2.4 与Oracle解析横向点评
分析Oracle的优秀方式、与PG/MySQL差异,讲术中何从应用端发挥三个数据库各自的强项。展望如何增强PostgreSQL/MySQL。
2.5 更上一层楼:修改PostgreSQL/MySQL源码提升效率
Day 3
3、数据读取(Select执行分析)
3.1 页/行格式
PG/MySQL逻辑读函数介绍
PostgreSQL页/行格式
MySQL页/行格式
自己动手,打造MySQL/PG版的alter system dump datafile
3.2 数据读取流程分析
PG/MySQL数据读取流程追踪
PostgreSQL逻辑读分析
MySQL逻辑读分析
3.3 分析源码重点一:深入理解竞争
观察逻辑读时的竞争
使用内核态动态跟踪技术,量化竞争
根据从源码中总结原理,制造竞争
使用动态跟踪技术,观察逻辑读竞争
全面掌握竞争的分析、研究方式
使用Intel PMU技术分析竞争
Day 4
3.4 分析源码重点二:观察效率
使用内核态动态跟踪技术,理解三种I/O:
普通文件I/O
O_DIRECT I/O
RAW设备I/O(裸设备)
横向分析Oracle/MySQL/PG 读I/O优缺点
3.5 缓存池与内存管理
PostgreSQL/MySQL内存管理代码的分析与使用
缓存池的链表行为分的
Oracle的缓存管理模式比较
使用动态跟踪增加缓存池观察脚本
3.6 向Oracle学习、修改代码/增强MySQL/PG数据读取效率
Day 5
7、扩展学习(赠送课程、提供方向、扩展思路)
7.1 如何开发SQL Parse程序
Bison简介
编译原理基础知识
Bison使用举例
讲师信息

吕海波

云贝教育特邀讲师  调试数据库技术开创者  PostgreSQL ACE总监

IT老兵,资深数据库内核专家,24年IT领域从业经历,十数年数据库经验,惯看IT江湖风起云涌。 北京大学 《开源软件开发基础与实践 – PostgreSQL数据库内核》课程校外导师。 出版技术书籍《Oracle内核技术揭密》,被誉为国内最深度解密Oracle算法原理与实现的技术书籍。 1996年进入软件行业,至今27年软件行业从业经历,19年数据库相关工作经验。 曾在多家国内外巨头型互联网公司,2009年曾就任阿里巴巴P8级数据库专家(当年阿里巴巴P8、含P8以上技术人员不足百人)。 并于2014年以特招方式进入国际电商巨头ebay(是ebay全球唯一无法英文听说的技术人员),从事数据库管理与研究工作。 曾多次在DTCC数据库大会、系统架构师大会以个人、独立身份发表演讲,演讲内容涉及云数据库、源码研究等方面内容。 在2018 DTCC达梦发布会中,作为国内企业级杰出数据库专家代表,与中国工程院院士倪光南、方滨兴共话中国数据库技术的自主可控问题。
推荐课程

源码研究方法论之调试数据库 出神入化

数据库核心算法原理与应用

Oracle SQL Tuning(DSI系列Ⅲ)

Oracle DB Performance Tuning(DSI系列Ⅳ)