mycat1.6.5分片規則(熱資料)
阿新 • • 發佈:2018-12-19
mycat one群:106088787。
分片規則:字串拆分hash
一、conf/schema.xml檔案
<mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100"> <table name="partition_by_hotdate" primaryKey="id" dataNode="dn$0-2" rule="sharding-by-date" /> </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檔案
<tableRule name="sharding-by-date"> <rule> <columns>create_time</columns> <algorithm>sharding-by-hotdate</algorithm> </rule> </tableRule> <function name="sharding-by-hotdate" class="io.mycat.route.function.PartitionByHotDate"> <property name="dateFormat">yyyy-MM-dd</property> <property name="sLastDay">10</property> <property name="sPartionDay">30</property> </function>
三、規則檔案資訊
無
四、測試用到的sql
五、注意事項=============按照 熱資料分片================ CREATE TABLE partition_by_hotdate (create_time timestamp NULL ON UPDATE CURRENT_TIMESTAMP ,`db_nm` varchar(20) NULL); INSERT INTO partition_by_hotdate (create_time,db_nm) VALUES ('2017-10-01', database()); INSERT INTO partition_by_hotdate (create_time,db_nm) VALUES ('2017-10-10', database()); INSERT INTO partition_by_hotdate (create_time,db_nm) VALUES ('2017-10-11', database()); INSERT INTO partition_by_hotdate (create_time,db_nm) VALUES ('2017-10-21', database()); INSERT INTO partition_by_hotdate (create_time,db_nm) VALUES ('2017-10-31', database()); INSERT INTO partition_by_hotdate (create_time,db_nm) VALUES ('2017-11-30', database()); select * from partition_by_hotdate;
1、資料的及時移動
六、引數說明
1、dataFormat:時間格式化
2、sLastDay:熱資料的天數
3、sPartionDay:冷資料的分片天數(按照天數分片)