00:00
上节课呢,我们对标准分片表进行了配置,并且呢,对四个标准分片的节点呢分别进行了测试,那么这节课呢,我们继续来看一下标准分片节点这块的配置的其他的一些内容,那么上节课我们实际上是这样配的,最开始。一共配置了四个节点,那么这四个节点呢?分别是ORDER0服务器的ORDER0表和ORDER0服务器的一表,以及一服务器的零表和一服务器的。Order仪表这样的四个分片节点,那么很显然如果服务器特别多的话,这种方式呢,并不是特别高效啊,那四台服务器我们就这样配,如果100台服务器呢,很显然我们一定会有更简便的方式,那么这个方式呢,就是阴烂表达式。什么叫阴表达式呢?在。的官方文档当中给我们提供了一个具体说明。
01:07
好,现在呢,我们来看一下行表达式,先看一下它的简单的介绍吧。在繁琐的数据分片规则配置中,随着数据节点的增多,大量的重复配置使得配置本身不易被维护,那么我们可以通过行表达式简化数据节点配置的工作量,好,我们来看一下哈。具体的语法是这样的,用一个Dollar运算符,然后后面是大括号,大括号里面呢是,但是这个运算符加大括号的形式呢,和我们spring应用程序当中的文件当中的占位符有点冲突了,所以呢,它在这个地方呢,又给我们提供了另外一种可选的形式,这种形式呢,是专门用于配件的,叫做Dollar箭头的,这样的一个形式好。那么我们呢,可以用这种方式和这种方式,也就是两种方式呢,来表示多个节点,那么其中第一种呢,就是前面有个begin,后面有个and啊,它的具体的意思呢,是这样的。
02:19
一点点意思呢,就是一服器和二服器啊,如果我前面写的是。然后呢,当然了,如果在我们的spring应用程序当中,应该写这个箭头哈,如果这样写ORDER1点点二,那意思呢,就是ORDER1和二啊,那如果我是。一点点,那就是121直到七啊,它是一个范围区间,当然了对于我们的程序来说呢,我们可以写零到一,因为我们只有两台服务器,好那么还有一种呢,就是枚举值,枚举值的话呢,它中间这块是个中括号。
03:04
好,我们可以这样写一下。那如果我们想表示ORDER0和ORDER1的话呢,我们可以这样写order,然后呢,这面是零。一这种形式就会更灵活一些,这种形式对于连续的这样的一个数据区间呢,就会更方便一些,所以那很显然对于我们的应用程序来说。我们这个地方。又要表示零,又要表示一,那么我们就可以这样去写了。是这样的形式,后面这个t order也是一样的,这样的话呢,我们就有两个数据源了,Serve order0和serve order1,那么对于t order也是一样的,就有两个数据库表了,T0和T1啊好,那么。
04:03
他这面呢,也给我们举了一些例子,这个呢就是它的一个表达式的例子,那这个表达式例子是这样的,前面他用一个枚举来表示。Online和offline,然后后面呢,这块呢,它用啊一个连续的这样的一个范围区间来表示TABLE1到TABLE3,所以这种情况下,它能表达的最终的结果呢,会被解析为online table1 table2 table3,然后呢是offline table1 offline table2和offline table3,那很显然呢,它是把这部分的内容和这部分的内容呢,做了一个笛卡耳机啊就是。笛卡尔基就是他和他先组合,然后呢他在和二组合,然后呢他在和三组合,然后第二轮呢,就是他和一组合,它和二组合,它在和三组合啊,所以这个叫笛卡尔基,好,那么很显然我们的这个应用程序当中,它也是满足笛卡尔基条件的,所以最终呢,我们组装出来的这样的一个数据节点呢,恰好就是零和零组合,零和一组合。
05:15
一和零组合,一和一组合,那么也就是这样的一个结果了。那我们再进一步的对这个数据节点的表达式,表达式呢进行一个啊这个学习哈,这个叫均匀分布的数据节点,那什么叫均匀分布呢?就是两个数据源当中都有。相同的这个数据节点和我们其实设计的很类似哈,那这块呢,就是T01T01DB0D,好,那么这块呢,就是。DB0点点一,然后这块是点,因为前面是数据源的名字,然后后面呢,就是我们的数据库表的名字了,那这个是和刚才我们在实际的项目当中配置的其实是一样的,好,那这个是另外一种加箭头的写法。
06:08
好,那么对于自定义的数据节点,也就是说相对来说不是特别均匀分布的这种数据节点,它可以这样去配置,那T t1234啊,这是这样定义的,两个数据源当中分别有两个表和三个表。然后呢,它这个行表达式,那你就要分别去配置DD,因为这两个数据当中我们没办法做一个好,那这块呢,就是DB0点,然后零到一,诶这是这个,然后来有个逗号配置二个数据源,那么DB1.torder,然后从二到四,所以这个呢,是针对这样的一个数据分片节点的一个配置的表达式。好,然后呢,还有一些有前缀的数据节点,这种有前缀的数据节点就是这块,这块是00010203,那么这种情况下,我们就不能通过这种表达式来表达了,因为这个里面它不支这样的写法。
07:14
零零到一零,或者是零零到零九,它不支持这样的写法,但是呢,它其实是支持这样的写法的,把这个零拿掉,然后呢,放到这。哎,这样的话呢,它可以表示这种就是小于十的这样的一些数据节点,所以呢,它是这样配置的,你看这里面有一部分是小于十的数据节点,有一部分是大于十的数据节点,那这是DB0数据源,针对DB数据源来说的话呢,也有一部分是小于十的数据节点,有一部分是大于十的数据节点。那么它的配置方案是这样的,针对小于十的数据节点,这面呢,就写。T0,然后零到九,有点类似于刚才我给大家写的这样的一个策略是不是?
08:02
好,那么接下来一个逗号针对于十到20,那就可以正常写了啊,那这个就没有零了,这块是有零的,那接下来呢,就是分片算法了,分篇算法我们下堂课再来说。
我来说两句