分片规则是这一类数据库中间件比较重要的部分了,Mycat提供了一些常用的分片规则,正常情况下应该是够用了。没法全部涉及到,我们挑一些学学,这一章来看一下最简单ID取模,具体的配置在第二章已经讲了,这里就不再贴出来了,测试项目上一章也已经建好,直接撸代码吧。
OrderMapper中添加方法
|
|
添加测试方法
|
|
看到这里你们可以会想,个傻屌一条条插,不会批量啊。不是没尝试过,因为采用的本地文件的全局Sequence策略,在一个事物中通过next value for MYCATSEQ_ORDER获取的全局ID是同一个!!!如果采用其他方式获取全局ID的话,可以通过如下的批量方法插入数据。另外,之前说插入2000w条,实在是太慢了,就插个2000条玩玩吧。
查看结果
|
|
上图看不出什么,之前我以为SIZE是节点的记录数,后来发现不是。下面还是分别连上两个节点确认下数据,为了看数据方便,直接用Navicat可视化客户端。下图分别是dn1、dn2的数据:
可以更详细的看出,数据均匀分布在两台机器上,达到了简单的水平分库的目的。