本课程是一个套路课程。通过本课程学习我们了解mysql中间件的基本实现套路。借助第三方库模拟实现数据库中间件部分(分表功能),懂了原理再学习各种成熟中间件就更丝滑啦~本课程为中高级课程,不适合零基础学员。
课程大纲
第1讲:开张课、 课程内容、创建一个最简单的mysql代理
今天我们首先来创建一个最简单的mysql代理
第2讲:mysql代理(1):初步创建自己的Handler处理类
创建好代理后,我们来看下是怎么处理请求的
第3讲:mysql代理(2):支持查询数据返回
承接上节课,我们来支持查询数据返回
第4讲:数据库中间件、模拟分表、模拟最简单的多表查询
本课时我们来简单介绍下中间件。并且挑选其中的分表功能作为后面我们实现的重点
第5讲:模拟分表查询:多数据集合并的方式
本课时我们看下如果使用最lower的方法怎么完成合并查询
第6讲:Sql解析学习(select):使用第三方库、获取From表名
SQL解析是数据库中间件的精髓之一,今天我们开始结合第三方库进行学习。
第7讲:Sql解析学习(select): 获取Select字段、字符串形式打印
今天我们把select 字段打印出来
第8讲:Sql解析学习(select): 根据”分表规则”拆分SQL(初步)
这节课我们要开始根据规则逐步拆分SQL,用于分表查询
第9讲:Sql解析学习(select): 根据”分表规则”拆分SQL(支持where、Limit等)
在上节课的基础上我们加入where、limit等条件的初步支持
第10讲:分表拆分之水平拆分、分表规则、范围分表配置
今天我们来说明下分表的基本方法和设置分表规则
第11讲:按范围分表(1):分析where条件找到ID字段
设定了按范围分表后,我们一步步来,先根据where条件找到我们的命中条件
第12讲:按范围分表(2):根据ID范围规则初步拆分SQL
上节课我们找到了命中条件,今天我们来进行SQL初步拆分
第13讲:按范围分表(3): where多个条件处理
今天来处理多个where条件的SQL解析
第14讲:按范围分表:支持多命中条件分表 (上):思路讲解
支持多命中条件分表
第15讲:按范围分表:支持多命中条件分表 (下):代码实现
承接上节课,代码实现
第16讲:阶段性成果:把SQL解析和代理做初步整合、总结课、新课预告
总结课,把之前的成果和mysql代理程序整合,变成一个具有中间件的初步雏形。