<!-- schema.xml配置示例 -->
<!-- 逻辑表配置 -->
<table name="logic_table_1" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
schema.xml中的规则名称,到 rule.xml中找到 tableRule标签对应的名称,再找到Function标签
1 rule .xml
rule.xml中定义所有拆分表的规则 , 在使用过程中可以灵活的使用分片算法 ,
或者对同一个分片算法使用不同的参数 , 它让分片过程可配置化。
1 . 1 tableRule标签
<tableRule name="auto-sharding-long">
<rule>
<columns>id</columns>
<algorithm>rang-long</algorithm>
</rule>
</tableRule>
A. name : 指定分片算法的名称
B. rule : 定义分片算法的具体内容
C. columns : 指定对应的表中用于分片的列名
D. algorithm : 对应function中指定的算法名称
1 . 2 Function标签
<function name="rang-long"
class="io.mycat.route.function.AutoPartitionByLong">
<property name="mapFile">autopartition-long.txt</property>
</function>
A. name : 指定算法名称 , 该文件中唯一
B. class : 指定算法的具体类
C. property : 根据算法的要求执行
2 sequence 配置文件
在分库分表的情况下 , 原有的自增主键已无法满足在集群中全局唯一的主键 ,因此 , MyCat中提供 了全局sequence来实现主键 , 并保证全局唯一。那么在MyCat的配置文件sequence_conf.properties 中就配置的是序列的相关配置。
主要包含以下几种形式:
1). 本地文件方式
2). 数据库方式
3). 本地时间戳方式
4). 其他方式
5). 自增长主键