MyCat分片規則之自定義範圍分片

2021-09-26 20:54:17 字數 1634 閱讀 6671

下面通過乙個簡單的示例,說明在mycat中如何實現範圍分片。

【a】建立資料庫和表

create database range1;

use range1;

create table user(id bigint not null primary key,name varchar(20));

create database range2;

use range2;

create table user(id bigint not null primary key,name varchar(20));

【b】配置server.xml:

【c】配置schema.xml分片表、分片節點等

【d】配置rule.xml自定義範圍分片

autopartition-long.txt

0

idrang-long

【e】配置autopartition-long.txt檔案,說明分片字段分片範圍

注意:這裡配置了dn1,dn2兩個分片節點,所以這裡也配置兩個節點對應的分片字段範圍,如果配置多了可能會報錯。

【f】測試插入資料

如上兩圖可見,成功實現了id在0-500w範圍內就被插入到了第乙個分片上dn1,id在500w-1000w範圍內被插入到第二個分片上dn2,並且配置了如果id都不在這兩個範圍內的預設節點,被分配到了第乙個節點上(預設節點)。

實現範圍分片大體步驟:

注意事項:分片規則配置檔案autopartition-long.txt中配置的節點要跟datanode數量對應上,不然可能會報錯。

MyCat分片規則之取模範圍分片

本文介紹另外一種分片規則 取模範圍分片,先進行取模運算再根據求餘結果範圍進行分片。下面通過示例說明在mycat中如何進行取模範圍分片,具體實現步驟如下 a 建立資料庫和表 b 配置server.xml 邏輯庫資訊 使用者資訊 c 配置rule.xml,定義取模範圍分片規則 d 配置partition...

MyCat分片規則之取模分片

除了上一章總結的列舉分片之外,mycat中還有一種比較常見的分片 取模分片規則,本節將總結如何實現取模分片。a 建立資料庫和表結構 create database testmod1 create database testmod2 use testmod1 create table user id ...

MyCat分片規則之程式指定分片

a 建立資料庫和表 b 配置server.xml 0905 testdb user testdb true c 配置schema.xml分片表 分片節點等 d 配置rule.xml分片規則 e 測試插入資料 insert into user id,name values 111,0 zhangsan...