00:00
好,咱们准备好环境啊,添加了四个数据源啊,添加了咱们的集群,那之后呢,就要真正动手去做拆分了啊,那怎么去拆的?哎,咱们去分啊,咱们去说说这个相关的操作,那这块呢,首先不得不提的就是一个,哎特殊的表叫什么全局表啊,这块指向的例子呢,就是类似于咱们之前给各位举例做这个,哎,咱们分库分表的那个DEMO例子啊,往上翻这块是不是涉及一个叫字典表啊,哎,这个表比较特殊,怎么特殊法呢,它数据量不多。那这块哎,远远达不到什么数据瓶颈,哎,不需要分篇,但是它有一个特性就是什么呢?哎,咱们的字典表是干什么的,是不是翻译别的表里面的字段属性的,那这块呢,就一个要求了,咱们之前也明确过,但凡做分库呢,给各位画一下吧,哎,但凡做分库分表呢,它是放在不同主机上的不同数据库。啊,咱们简单举个例子啊,我这原先是这是咱们应用程序需要访问数据啊,数据我分到三个节点上面啊,这块三个节点,那这个三个节点啊分别存着,咱们比如说分了三个分片吧,分别存着咱们的订单表或者订单详情表,哎对应的三块数据,但这三块数据它所对应的状态值,哎,都需要字典表进行翻译啊,咱们的这个订单状态都需要翻译,而且都需要什么,是不是全量的。
01:24
你就说在这三个什么数据库里面都要有咱们的字典表,而且里面数据必须得是完整的全部数据,那这种什么呢?诶这种表咱们就叫全局表,既有可能是系统表,有可能是字典表,像这些表呢,它的特点是各个数据节点必须都得有,而且数据量是什么呢?诶,都是全量啊,这是咱们所说的全局表,那到咱们的这个买CAT2呢,给它进一步进行规范啊,规范一下咱们这个全集表,它有一个别名叫什么广播表。啊也可以叫全局表啊,都可以啊,这是它两个名称都是一样的,咱们去搭建着它怎么搭啊这块呢,首先第一个你得创建咱们的库吧,哎,在咱们的my cat,诶什么呢,命令行窗口直接运行,或者在咱们的在这儿,诶客户端直接运行建表啊建库语句就可以先创建一个数据库,叫D比一啊创建出它,咱们运行上看看啊跑起来。
02:24
好,哎,创建成功刷新一下,咱们能看到DB有了,哎,那DB有了,数据库创建好了,这是逻辑库,就老师那赶快去改它的配置文件,赶快去什么呢?哎去什么呢?做这个配置文件的一个修改啊,咱们先看看配置文件啊,哎进到对应录像,这回咱们看什么是不是STEM对吧?哎,还是进到咱们的配置文件目录,这回访问stems啊访他。咱们所对应的什么呢?数据啊,这个数据库的一些逻辑库,逻辑表,还有咱们的数据的分库分表都在这里边进行一个诶指定啊,咱们看一下是不是多了一个d be1,咱们逻辑库的相关的配存文件对吧?VM咱们去看一眼,呃,D be1,然后呢,取什么呢?在这儿进去可以看到相关信息,有一个逻辑库,但是它好像没设置什么,是不是那个target name对吧?哎,它的什么呢?诶对应的数据源并没有配置啊,这个对应的集群也没有配置啊,这是啊,咱们对应的对这个诶逻辑库的初步认识,说白了就是在我买看上搭建了这么一个逻辑库,但是还没有去给它指向,哎,我这个逻辑库下面的什么呢?哎,这个表到底存的这个物理节点是什么?咱们物理的数据库是什么?
03:36
啊,这块啊有些拆分,各位还是要呃,如果对这个逻辑库啊,逻辑表啊,还有咱们的呃,物理库物理表这块的概念还是有些模糊的,同学记着再去看一看咱们第三章啊,我带着各位咱们去把这概念都捋过一遍,咱们得打下这个坚实的基础啊,再去做操作,你才能做到什么呢?诶,每一步做的是什么操作,你能什么的很清楚。
04:00
啊,还是那句话,咱们招式得跟内功结合一块儿使用啊,只有这样才能什么呢?哎,这真正的去掌握这个精髓,那同样这块呢,也就是啊,咱们的招式就是咱们具体的操作,内功就是什么,就是一个一个的概念。啊,就这样,这样才能做到什么呢?知其然,知其所以然啊,所以这块呢,哎,这个看一下这个相关的配成键啊,咱们不需要改,你说老师不改吗?不改怎么这个执行下面的操作,这就是买开R神器啊,它的配置信息不需要咱们改,咱们只需要在这个命令行窗口执行你后面的什么呢?具体的命令流程啊,我创建好库,那下面该创建什么了?诶我切到这个选择这个库啊,直接在这选择就程,或者咱命令行,诶直接呃use一下咱们的,呃,咱们直接use一下咱们的对应的数据库啊,切一下数据库就可以,那下面咱们要做的是什么,是不是要创建表啊,选择库以后创建表,咱们创建的第一个表再回来看看叫什么全局表,又叫广播表啊,就是它,哎,咱们什么呢?哎,Body啊,咱们的body case啊,咱们body case啊,直接用它啊,直接创建广播表,这是它的关键字,那怎么创建创建表这一句咱们很熟悉啊,叫create table啊,这个指定下你是哪个。
05:16
库下面哪个表啊,当然这叫什么表名都成啊,就随便这个找了一个键表语句,咱们去运行就成,老师直接运行这个,哎能进行这个,哎这个指定它到底是什么样的表,哎划分到哪个数据节点呢?哎划分到哪个集群当中呢?对这块呢,哎关键就在最后面,在这儿。哎,多了,咱们的广播表的这个标识加上它就可以啊,这是,哎,可以说也是买凯给咱们做了一下封装,你不需要再去很累的去改它STEM的配置文件了,咱们只需要创建表的时候加上关键的标识就可以啊,咱们运行看看直接复制。进到数据库里面啊,咱们把这个建表语句啊,这个粘过来,选择好数据库DB,在这下面创建这个相关的表就可以了,直接运行。
06:09
哎,创建成功啊,那创建成功以后他到底怎么去设置的?哎,咱们再去翻翻各位啊,刚刚带着各位去看过这个d be1的STEM啊,去看过里面好像没设置什么东西,就一个名字啊,其他都是,哎,这个对应的配置项都是默认的啊,没有别的一些变化,咱们再去看一眼,当我运行了一个建表语句,而且加上咱们的广播表的标识之后,再去看一眼吧。啊,你说老师怎么多这么多东西,各位咱们看一下多了什么东西,首先啊,指定一下咱们的什么的,哎,广播的什么的,对应的数据源target name出现了,对吧。哎,不需要咱们自己去什么的设定,你只需要搭建好咱们的数据源,搭建好集群,可以看到是不是运行语句,运行广播表的建表语句是不是自动选择了。
07:02
哎,帮咱们选择好型的集群了,然后之后呢,在这儿可以看到咱们的什么呢?哎,这个哎建这个表的语句啊,这块可以说这些不需要咱们自己手动配置啊,诶买CAT2帮咱们封装了,直接运行思库语句就成,还是那句话,他做的什么呢?买CAT2,呃,他做的是什么?是帮咱们把数据库封装的更好了啊,充分体现它数据库中间件的特点啊,咱们只需要把买cat当成一个数据库用就可以,但是相对而言你得加一些诶这关键的标识,加一些什么呢?一些属性的标识就可以啊,就可以实现咱们的分库分表。啊非常好用啊各位,这是啊,咱们对应的买开尔哎,第一个咱们的分库分表的操作创建啊,咱们的这个全局表创建广播表啊完成了啊就这么快就完成了,那这块呢,那完成之后咱们看看啊,它到底怎么划分的,既然咱们确认啊,它是诶针对两个数据啊,咱们得到什么,是不是真正的库里面去看一看,对吧?到真实的买思数据库里面看一看,我先退出了,好,咱们打开这个相应的真实过,一个是100,一个是99,咱们打开看一眼啊,100打开刷新一下,咱们可以看到BB有了吧。
08:19
哎,这就是咱们的,哎在这儿逻辑库跟咱们的物理库的一个映射啊,同名的,哎这个库创建好,在这下面打开咱们可以看到是不是有咱们创建的这个全局表。有了,那再到另外一个什么数据库看一眼在这儿啊,再去刷新一下,同样是诶一个物理库创建完成,再打开看一眼各位。是不是同样有这张表?哎,这就是咱们所说的,哎,这个全局表广播表它的一个作用,加一个标识关键字就可以了。啊,非常方便啊,其实它根本原理呢,依然是咱们,呃,最开始带各位过的这个咱们再往回翻啊,到这个最开始入门上啊,咱们最开始说过买cat,它的原理是什么,无论是它一点多,还是现在的进化到my cat2,它的基本原理都是一模一样的,是什么呢?咱们往上翻翻啊,再去看一眼。
09:16
啊,翻到它最开始啊,咱们的原理这块啊,还是那句话,咱们什么呢,内功跟招式结合到一块儿,它的原理叫什么拦截。拦截,并且进行分析,然后呢转发啊,咱们呢,对应的建表语句啊,运行过程中传到myca进行拦截,然后呢进行一个分析,分析完了以后进行转发,咱们既然是广播表,既然是全局表,你后面对接了几个什么数据源,数据节点,他就把这个语句发到这个数据节点上,创建库啊,创建表啊,这块呢,咱们既然是全景表,都会在各个节点上都创建。你有几个节点,我就给你创建几个,然后之后呢,诶这个再往咱们的这个,呃,对应的字典表里面啊,去插入数据的时候,它也会拦截,诶进行转发,哎转发到各个节点,类似于什么,我有一个消息发出来,诶广播给各个接收的那个点去听,对吧?这就是咱们所说的广播表。
10:15
那其实这块呢,呃,全局表可以啊,其实更贴切应该叫广播表啊,这块呢,充分体现出它拦截进行广播的这么一个动作啊,这是咱们的,呃,对于分库分表,咱们的什么第一个表啊,咱们去了解一下,这种类型表叫全局表或者叫广播表,带着各位啊,把这个广播表搭建出来啊,可以看到真正步骤啊,就运行了一个建库的脚本啊,运行了一个咱们的建表的语句搞定啊,就多了,这么比咱们原先的建表的语句就多了这么一个广播标识的关键字就可以。哎,非常方便咱们搭建完成。
我来说两句