00:00
好,咱们实现了垂直拆分分库,水平拆分分表啊有同学说老师啊,结束了吗?还没有啊,咱们还差最后一个全局序列啊,为什么要用到全局序列啊啊咱们得看一下啊,咱们无论是做垂直拆分,水平拆分啊,咱们水平拆分完了以后,各种诶拆分的规则咱们都了解了,那现在问题来了,咱分成多片以后这个ID怎么办啊,这块呢,各位可以看到我插数据啊,这个例子都是啊直接写死ID的,但是各位真实情况下咱们是不能写死啊啊那这个ID怎么设置?啊,有同学说,哎自增嘛,啊很简单,但是有一个事儿,你如果都设置成自增,诶一个思扣过来,哎,我这个表,哎咱们DN2增一个D液增一个A,万一咱们的ID重了怎么办?所以各位咱们必须要设置下是什么呢?哎,再回来看设置下全局序列,那这块怎么设置全局序列,第一点啊,咱们买CAD给咱们提供了三种方式,第一个方式咱们可以用本地文件的方式,咱们看一下啊,怎么用本地文件啊,我这个买CAD这块呢,诶这块呢,诶。
01:12
你的一个隐私的语句过来,我同样给你拦截,判断一下到底发给谁,但是有一个地儿,哎,你的这个ID,哎,我怎么做,在这个my cat所在主机上面给你啊配置一个文件,这个文件啊,就放你的sequence序列啊,比如说我设定为一,从一开始,呃,一个隐色的语句过来,给你一个一啊,再来一个给你增加成二,哎,再来一个增加成三啊这块呢,哎,这个文件就存这个序列,但是有一个问题啊,这块这个好不好啊,有同学说,哎,挺好的老师啊,这块呢,哎,这块哎直接过来就给你分一个,过来就给你分一个挺好,但是各位要知道,我们来看着所在主机如果挂了怎么办?有,有时候说这个难不倒我各位啊,都已经清楚了啊,我可以什么呢?来一个备机啊,但凡主机挂了,我备机上线,但是有一个事儿啊,你主机都挂了,你里面存的这个文件还能读到吗?如果读不到你这个诶背机上面这个全局序列应该从多少开始啊啊这是不是可能会造成咱们的哎,这个序列号重复啊啊这个咱们本地文件方式,这个是咱们不推荐的啊,为什么咱们再回来看本地文件,它抗风险能力太差,但凡我买开了所带主机宕机后没办法读取它的文件啊各位这一块一定要注意,咱们再看第三种啊第三种方式啊,这块呢叫什么呢?时间戳方式,哎,这种方式挺好啊,为什么咱们只需要保证咱们的诶再回来看。
02:50
哎,在保证咱们的主机跟被机它的什么呢?哎,系统时间一致就可以了,这块但凡隐色的语句过来,我读取当前系统时间给它作为ID插进去,但凡我主机挂了备记上限是不是时间一致啊就没问题啊啊咱们时间戳不会重啊,这是一个比较好的方式,但是啊咱们一般工作中也不用它啊,为什么不用它,咱们看一下它有缺点什么缺点各位太长啊,你这个ID啊时间戳18位啊有点浪费了,那怎么办啊,咱们推荐使用什么呢?哎,上面这个哎比较麻烦的配置项,诶什么呢?数据库方式啊,这个怎么去理解,咱们再去看看啊,哎,咱我这个买看看这整个架构里面什么最多各位,哎,数据库是不是有的是啊啊,这个一堆数据节点,我可以但凡选一个DN1这个数节点创建一张表啊,这张表里专门。
03:51
说从我的这个全局序列,但凡有一个隐私语句过来,哎,管你这个,诶表里面要这个全局序列,哎,这块来一个给一个啊有时候说老师啊,效率有点低啊,哎,每来一个隐私的语句,你都得发生一次IO啊这块什么的效率有点低,那怎么办呢?哎,一个一个取效率太低,咱们是不是可以打包啊啊这块呢,但凡买开的需要全局序列的时候,哎,我给你来100个一到100个,直接100个给你,然后你买开的去划分啊这块呢,放你内存里面啊,但凡来一个给你一个,来一个给你一个啊这块当100个用完了,是不是再管我要我再去给你什么呢?发送,哎下面100个有同学说老师那主机挂了怎么办啊,那很好办了,各位,我备机上线以后,是不是得管你去要什么呢?诶要新的这个ID啊,那这个时候比如说哎一到100这块还没用完,我再管你要新的,各位这回多少,那是不是肯定101~200。
04:51
哎啊啊,这样是不是就可以保证了全局序列不会出现问题啊啊咱们公司里面啊,企业当中哎多数都是用这种方式,数据库方式啊这块呃以上就是买CAD自带的啊三种的哎咱们的呃数据分片,当然这块除了啊它自带的咱们还可以怎么做,是不是可以自己去创建啊,自主生成啊这块呢,根据业务生成根据诶比如说三方工具red也可以,但是推荐啊咱们还是使用诶咱们买cat自带的这种方式,因为不需要再去诶再去开发新的程序了啊,推荐使用数据库方式啊以上就是咱们全局序列的哎,这个创建的这个原理,好啊,就先说到这。
我来说两句