mycat1.6.5分片(取模)
阿新 • • 發佈:2018-12-19
mycat one群:106088787。
說明:根據分片欄位取模。
一、conf/schema.xml檔案
<?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100"> <table name="partition_by_mod" primaryKey="id" dataNode="dn$0-2" rule="partition-by-mod" /> </schema> <dataNode name="dn0" dataHost="dh-1" database="db0"/> <dataNode name="dn1" dataHost="dh-1" database="db1"/> <dataNode name="dn2" dataHost="dh-1" database="db2"/> <dataHost name="dh-1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="hostM1" url="localhost:3306" user="root" password="123456"> </writeHost> </dataHost> </mycat:schema>
二、conf/rule.xml檔案
三、規則檔案資訊<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mycat:rule SYSTEM "rule.dtd"> <mycat:rule xmlns:mycat="http://io.mycat/"> <tableRule name="partition-by-mod"> <rule> <columns>id</columns> <algorithm>partition-by-mod</algorithm> </rule> </tableRule> <function name="partition-by-mod" class="io.mycat.route.function.PartitionByMod"> <property name="count">3</property> </function> </mycat:rule>
無
四、測試用到的sql
五、注意事項=============按照id欄位 取模================ CREATE TABLE partition_by_mod (id int(10) null,`db_nm` varchar(20) NULL); INSERT INTO `partition_by_mod` (id,db_nm) VALUES (1, database()); INSERT INTO `partition_by_mod` (id,db_nm) VALUES (2, database()); INSERT INTO `partition_by_mod` (id,db_nm) VALUES (3, database()); INSERT INTO `partition_by_mod` (id,db_nm) VALUES (10, database()); select * from partition_by_mod;
1、分片的個數多少合適,需要提前規劃好
2、如果運行了的系統再擴充套件,資料遷移解決
六、引數說明
count::分片個數