分片枚举(sharding by intfile)
每片枚举,简言之,就是手动指定把某张表的某条数据添加到特定的数据库节点。操作流程如下:
①切换到mycat文件夹下的conf文件夹,修改schema.xml文件,比如把user数据表的rule属性改成“sharding-by-intfile”,
那么user这张数据表就适用分片枚举策略。
②还是在conf文件夹下,打开rule.xml文件,观察分片枚举策略的规则:
algorithm是算法,采用的是hash-int算法,同样可以在rule.xml文件中查看到。
columns里的sharding_id就是分片标记,可以自定义。
sharding_id作用是在你给user数据表新增数据的时候,需要在sharding_id这一栏填写数值,mycat会根据sharding_id的值
,把你新增的数据放到对应的数据库中,这个对应关系继续看下方:
③在conf目录下打开partition-hash-int.txt这个文件,并把里面的对应关系修改为如下:
意思是:如果我指定sharding_id=1,那么user表新增的数据就放到db1中;
如果sharding_id=2,新增数据就放到db2中,以此类推。
④最后测试往user表中添加一条数据