从数据库原理到高性能实战,一次性掌握
【课程目录】
- 第1章 课程介绍 试看1 节 | 10分钟
本章对课程内容、知识点、授课过程进行引导性说明。
- 视频:1-1 课程导学 (09:14)试看
- 视频:1-1 课程导学 (09:14)试看
- 第2章 环境搭建3 节 | 28分钟
本章主要进行学习环境的搭建:CentOS7操作系统搭建、MySQL5.7安装与MySQL5.7配置与启动。
- 视频:2-1 CentOS7操作系统搭建 (09:20)
- 视频:2-2 MySQL安装讲解 (10:04)
- 视频:2-3 MySQL配置 (07:38)
- 第3章 一个SQL语句如何执行 试看8 节 | 70分钟
本章介绍MySQL的各个组成部分与架构设计思路,演示MySQL的网络连接方法及图解一次更新SQL的执行过程等,建立MySQL清晰的架构体系,深入理解MySQL Server层+存储引擎层的架构体系,并理解存储引擎插件化的好处。
- 视频:3-1 为什么需要数据库 (07:41)
- 视频:3-2 数据库软件的典型架构是怎样的 (10:04)
- 视频:3-3 MySQL软件架构是怎样的 (09:23)试看
- 视频:3-4 客户端怎样连接MySQL数据库(上) (14:17)
- 视频:3-5 客户端怎样连接MySQL数据库(下) (04:19)
- 视频:3-6 一个SQL语句是怎样执行的 (10:27)
- 视频:3-7 MySQL有哪些存储引擎 (09:33)
- 视频:3-8 本章小结 (03:58)
- 第4章 如何建表更符合业务 试看11 节 | 129分钟
本章详细学习InnoDB的数据表底层原理,详细阐述B+树与逻辑存储结构,掌握如何建立高效索引、如何优化数据表结构。
- 视频:4-1 什么叫索引组织表 (07:44)
- 视频:4-2 B+树的B是什么意思-1 (13:24)
- 视频:4-3 B+树的B是什么意思-2 (14:22)
- 视频:4-4 为什么说InnoDB索引即数据 (17:20)试看
- 视频:4-5 InnoDB数据表是如何存储的 (11:59)
- 视频:4-6 InnoDB数据行长什么样-1 (12:08)
- 视频:4-7 InnoDB数据行长什么样-2 (14:59)
- 视频:4-8 索引有哪些左侧用法 (12:53)
- 视频:4-9 如何约束数据 (07:36)
- 视频:4-10 如何使用不存在的数据表 (05:56)
- 视频:4-11 本章小结 (10:18)
- 第5章 怎么查询速度更快10 节 | 133分钟
本章讲解MySQL排序、随机、联合索引等原理。在丰富的实战场景下学习分析慢SQL语句的思路,并学习如何多角度优化慢SQL性能。
- 视频:5-1 示例数据库的安装 (07:26)
- 视频:5-2 WHERE查询太慢,怎么办 (13:14)
- 视频:5-3 有更合适的索引不走,怎么办 (11:08)
- 视频:5-4 COUNT这么慢,怎么办 (12:57)
- 视频:5-5 ORDER BY这么慢,怎么办 (16:14)
- 视频:5-6 随机选取这么慢,怎么办 (17:21)
- 视频:5-7 带头大哥丢了,怎么办 (15:38)
- 视频:5-8 明明有索引,就是不走,怎么办 (18:10)
- 视频:5-9 分页查询这么慢,怎么办 (09:30)
- 视频:5-10 本章小结 (10:27)
- 第6章 如何处理数据更新14 节 | 176分钟
本章讲解InnoDB日志、锁和事务的原理,并讲透MVCC原理、间隙锁原理。并学习如何解决事务场景下的慢事务、死锁等问题。
- 视频:6-1 数据库动起来之后,会发生什么 (06:55)
- 视频:6-2 什么日志不是给人看的 (15:40)
- 视频:6-3 一条数据是如何更新的 (14:16)
- 视频:6-4 锁:怎样平衡功能与性能 (13:39)
- 视频:6-5 事务:InnoDB的杀手锏(ACID) (06:36)
- 视频:6-6 事务:InnoDB的杀手锏(隔离级别) (19:08)
- 视频:6-7 MVCC是怎么做到千人千面的(1) (11:09)
- 视频:6-8 MVCC是怎么做到千人千面的(2) (14:21)
- 视频:6-9 间隙锁把全表都锁住了,怎么办 (18:07)
- 视频:6-10 MySQL也有垃圾回收吗 (11:33)
- 视频:6-11 如何改善刷脏性能 (10:32)
- 视频:6-12 如何解决死锁问题 (13:45)
- 视频:6-13 元数据锁是如何导致数据库崩溃的 (13:19)
- 视频:6-14 本章小结 (06:38)
- 第7章 ORM框架原理4 节 | 28分钟
本章介绍ORM框架原理,了解ORM的一般架构和中间层设计思路以及ORM框架使用过程中如何规避SQL缺陷问题。
- 视频:7-1 什么是ORM框架 (08:58)
- 视频:7-2 ORM框架是如何设计的 (07:30)
- 视频:7-3 ORM框架有哪些常见问题 (07:39)
- 视频:7-4 本章小结 (03:42)
- 第8章 怎么给数据上保险9 节 | 102分钟
本章学习不同的备份种类,mysqldump和ibbackup的备份逻辑与使用方法等,使同学对MySQL备份有全局认识,可以通过所学知识为公司的数据库设计备份恢复方案了。
- 视频:8-1 数据库有哪些种类的备份 (07:38)
- 视频:8-2 如何使用OUTFILE命令进行备份 (12:09)
- 视频:8-3 如何使用mysqldump进行备份 (17:25)
- 视频:8-4 如何使用mysqldump+binlog增量备份 (19:22)
- 视频:8-5 如何使用XtraBackup物理备份-1 (14:25)
- 视频:8-6 如何使用XtraBackup物理备份-2 (10:32)
- 视频:8-7 MySQL备份工具如何指导我们的创新 (07:50)
- 视频:8-8 如何防患于未然 (06:14)
- 视频:8-9 本章小结 (05:30)
- 第9章 搭建“三高”架构的基础--如何实现数据冗余10 节 | 127分钟
本章讲解MySQL主备复制的原理、配置方法、binlog格式对主备复制的影响等。本章还研究了备库延迟的原因以及备库延迟的改善方法。最后讲解了MySQL最简单的高可用架构:主主架构。
- 视频:9-1 三高架构之路 (08:32)
- 视频:9-2 复制有哪些类型 (18:19)
- 视频:9-3 主从复制配置实战 (16:45)
- 视频:9-4 怎样使得复制的配置更方便 (07:55)
- 视频:9-5 为什么binlog格式会影响复制 (14:30)
- 视频:9-6 备库延迟太大,怎么办-1 (14:54)
- 视频:9-7 备库延迟太大,怎么办-2 (21:03)
- 视频:9-8 如何在备库读到最新数据 (09:30)
- 视频:9-9 怎样实现最简单的高可用架构 (10:46)
- 视频:9-10 本章小结 (04:31)
- 第10章 数据库高并发、高性能的基本保证--如何解决数据库超大容量不够问题9 节 | 113分钟
本章学习MySQL的可拓展性(容量和性能的拓展),首先介绍分区表的原理、特点和注意事项。然后学习分库分表的原理,重点学习MyCat的升级版:dble的安装与使用。让大家对MySQL分库分表的分类、目的、手段等有清晰的认识。
- 视频:10-1 怎样最简单地扩展容量 (12:43)
- 视频:10-2 为什么要分库分表 (15:17)
- 视频:10-3 dble比MyCat强在哪 (17:46)
- 视频:10-4 如何安装dble (09:03)
- 视频:10-5 如何配置dble (13:53)
- 视频:10-6 如何使用dble (12:25)
- 视频:10-7 怎样提高分库分表架构的可靠性 (14:49)
- 视频:10-8 分库分表之后性能反而下降,怎么办 (11:44)
- 视频:10-9 本章小结 (04:47)
- 第11章 数据库高可用和身份切换的关键--如何解决数据库经常宕机问题6 节 | 88分钟
本章学习MySQL实现高可用的意义、原理和实现方案。学习MySQL主备切换的隐患以及处理方法。讲解高并发、高性能、高可用MySQL集群:DRDS集群的原理和架构。
- 视频:11-1 切换:保业务还是保数据 (13:07)
- 视频:11-2 数据库切换了,业务怎么办 (11:36)
- 视频:11-3 如何实现自动主从切换 (18:17)
- 视频:11-4 MHA自动主从切换实战 (18:45)
- 视频:11-5 高可用了,集群为什么还会挂 (18:24)
- 视频:11-6 本章小结 (07:42)
- 第12章 未来的数据库什么样
本章讲解未来新型数据库的发展趋势,主要讲解MySQL8.0新特性、阿里POLARDB、谷歌Spanner数据库、TiDB、阿里OceanBase等NewSQL数据库。