00:01
好,咱们实现了这个分户分表的全局表啊,也就是咱们的广播表的搭建,各位也看到了啊,这就相当于是一个开胃小餐,那再往后哎,咱们就要上正餐了啊,正菜出现了,就是它,哎创建咱们的分片表,哎实现咱们的这个什么呢?哎,这个真正数据库的一个分片操作,那这块各各位可以看到,咱们举例就以它为例了啊订单表啊,订单表咱们默认啊,这块里面已经有600万数据了啊,这600万数据我要进行一下分片啊,分到不同主机不同数据库啊,咱们要做一个拆分,那怎么去做呢?诶参考之前咱们创建广播表的步骤,哎,是不是直接该怎么运行建表语句就怎么运行,对吧,只不过多点东西,那这回呢,多一行,咱们就是它,哎DB啊,咱们partition啊,咱们的数据库分啊,分库的操作啊,咱们设置就两部分啊,从这呃来个划分啊,一部分是什么呢?前面啊DB partition啊BY根据什么规。
01:01
字要进行划分,哪一个字段划分啊,这个咱们采用的就是默认的啊这个呃,咱们的model哈希,Model哈希是可以说是啊,咱们分片数据分片做这个分表操作最常用的规则啊,就是对咱们的指定字段里面数值进行一个取模操作,进行一个哈希运算啊,这个哈希码,然后进行取模,然后分到不同节点上面,这样做更什么的平均更什么的哎更什么的,这个划分的更均匀一些,这样什么呢?对于大量数据的划分,哎,咱们用这种方案更多一些,好这块呢,也不需要咱们自己去配置配置文件了,相信用过1.6版本的买卡的同学应该都知道,想要做这个分片啊,数据分片的话,咱们得去什么呢?改scmer配置文件,改这个入相关的配置文件啊,改这个相关的配置信息很麻烦,但现在呢,直接用建表语句直接配这个相关的,这个加这么一行记录就成,很简单啊,首先咱们设定这个数据库分片的规则是什么?
02:01
在表分片的规则是什么,然后后面就是指定你分多少片啊,这块呢,咱们对应的这个表分片啊,咱们的TB分片啊,表分片我分一片,然后呢,哎,咱们对应的什么呢?在这儿数据库我分两片,那总共就是什么往两个数据库里面各分一片啊,各这块要明白啊,咱们怎么个划分方式啊,这块呢,知道它这个参数的一个作用,好,那之后咱们只需要去运行这个建表语句就可以了啊,咱们去看一眼,在数据库里面咱们运行一下这个建表语句啊,这之前已经复制过来了,哎,咱们的这个表分一片,然后呢,每个数据库里面各分一片啊,这块呢,两个数据库运行下。好诶,运行成功啊,咱们创建了这个相的表啊,咱们为了能看到效果啊,先不着急看什么的配置信息,不着急去看咱们的这个,哎,物理的这个库啊,咱们先去往里面灌数,哎过这么六条数据啊运行。哎,六条数据灌入成功,咱们再查询一下,看看在我买cat这块查询的结果,还是不是六条数据啊,运行没毛病对吧?哎,但是各位留意细节啊,他的ID可不是123456,而是什么呢?126345啊,为什么会是这个,哎这种什么呢?哎这种情况,因为我用的什么,各位我可是用的卡ID进行一个什么分片的,咱们可以看到它的规则是不是前三条卡ID一样,后三条一样,对吧?那很显然我这个数据是分成两部分,然后之后做了一个合并的。
03:31
啊,各位,这是啊,咱们对应的什么呢?明确一下咱们,诶这个怎么去进行分片表的创建,然后之后呢,怎么往里面灌数据,然后呢怎么查询,其实这块呢,哎,买CAT2它的做法,包括咱们之前的买CAT1那个版本啊,其实它的根本理念就是让咱们对这个买cat数据库中间件的使用呢,感觉跟使用什么my soq数据库一模一样。啊,这叫什么呢?咱们就不会说是啊,有这么一个,诶额外的东西啊,咱们搭建这个买cat的数据库中间件就不会有过多的一些投入成本啊,这个学习成本啊,研究成本啊都会降低啊,这是也是啊,咱们这个工具的一个进化的一个方向,咱们也能看到它的一个什么呢?进化的一个呃,优势所在,好,那这个车远了,咱们再回来去看什么呢?看具体的划分了,首先咱们刚刚是不是有看过那个什么stemmer的配置文件,对吧?咱们再去看一眼,进到这个墓下,再去看一眼d be一点stemmer.jason,看看跟之前有什么不一样啊,咱们可以看到,诶之前有全局表的配置啊,分到两个集群当中,那再往后,哎,这是什么呢?咱们的分片表OS啊在这,诶,这个OS建表语具有了,然后在这里面有相关的分片信息啊,都列出来了啊,分片信息咱们进行一个什么呢?啊,这个描述啊,这块的分的啊,这个数据库几个两个,然后对应的每个数据库里面的表的分片啊一片然后。
04:55
那这块有相关的,哎,根据分片规则进行分片,都是咱们的model哈希根据customer ID进行分片,说白了就是咱们在建标语的关键字,哎这个呃,写的内容在咱们配置文件里面分别都体现出来,不需要咱们自己写啊,这这如果咱们自己写这个配置文件太麻烦,而是用什么呢?诶咱们直接用键表语句加这一行什么呢?诶咱们的命令啊,一行关键字,咱们买cat自动识别帮咱们什么呢?生成配置文件,而且不需要重启,直接使用就可以,非常方便。好,这是咱们的配置文件的一个查看。
05:33
好,那还没完呢,咱们去看看真正物理节点物理表怎么去划分呢?看看首先第一个哎,100这台机器,咱们刷新一下,看看这个相关的信息啊,刷新可以看到哎,它创建了一个DB1小线零啊,这个相关的什么数据库,点开看看在这里面啊,这是咱们对应的物理库啊,各位一定要分清,在咱们的买CAD里面这个DB,这是咱们的呃逻辑库,而真真正对应的是咱们的100下面这个DB0小写零,这是它的物理库啊,这有这么一个映射关系啊,在这面看到表OS0,打开OS0这张表咱们去看一下啊,打开表可以看到相关数据刷新下,哎,咱们分的126的数据分到这个O4零下了,那再去看啊,打开咱们99这台机器啊,再去刷新一下,多了一个什么,是不是DB1下划线一啊啊是按照这个下划线后面的所引号进行区分的,哎,D比一下划线一点开看看,可以看到这里面表OS_一分成两片。
06:33
啊,这个有这个所引号做一个区分啊,咱们哎在这儿打开表,咱们刷新一下,可以看到相关的数据啊,345啊这块它所对应的啊,卡斯耐蒂都是这个101。来完成咱们数据分片,然后呢,你查询的时候可以做一个整体经行查询,也能看到咱们的这个逻辑库跟咱们的物理库的映射关系逻辑表啊,这个这还得刷新一下才能看到表啊。哎,刷新下,咱们能看到这个下面创建的表就是一个OS逻辑表跟咱们的物理,哎,咱们逻辑表跟物理表的映射关系,但都能看到一目了然,咱们对比去什么呢?理解它通过这个什么呢?实际操作咱们也去消化一下,哎,这个逻辑库逻辑表,物理库物理表这些概念,那这块呢,相互之间来进行印证啊,理论结合实际,实际结合理论啊,咱们把这些都通通的掌握下来就可以好带着各位咱们把这个分片表啊,咱们搭建了一下啊,这个完成咱们的,呃,这个表数据的一个分片,各位也能看到相关效果,其实它的原理依然是拦截转发啊,根据咱们的配置信息啊,你这个什么的插入啊,再回到咱们这块,依然是拦截转发啊,咱们运行在麦下运行这个相关的键表语句,根据你这个分析拦截,根据你这个关键字进行一个来创建啊创建咱们。
07:59
的真正的物理库,物理表,然后呢,之后呢,哎在什么呢?运行隐私语句的时候,同样拦截进行个分析啊根据customer ID进行个哎,咱们的model哈希的一个什么呢?一个划分,然后把这个相应的数据,哎这个126啊这块给放到什么呢?呃,126放到了咱们的节点一啊这个345放到了节点二,哎完成咱们的数据的分片啊各位这块呢,诶根本原理还是它拦截转发啊带着各位咱们把一个大菜啊,咱们给他什么呢?哎了解一下啊去什么呢?了解一下怎么去实现。
我来说两句