大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 Mycat月分片方法

Mycat月分片方法

更新時(shí)間:2021-07-07 16:40:33 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1916次

本篇文章主要介紹Mycat以月進(jìn)行分片的方法,包括配置方法、注意事項(xiàng)等。

mycat版本:1.4

數(shù)據(jù)節(jié)點(diǎn):dn1,dn2,dn3

架構(gòu):主從

配置

創(chuàng)建測(cè)試表

CREATE TABLE `tdate` (
   `id` int(11) NOT NULL,
   `createdate` datetime DEFAULT NULL,
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8

在三個(gè)節(jié)點(diǎn)上面分別執(zhí)行創(chuàng)建表語(yǔ)句。

分片配置

Mycat月分片方法

<table>參數(shù) 

在table參數(shù)配置中使用了rule="sharding-by-month"分片函數(shù),同時(shí)配置了13個(gè)數(shù)據(jù)節(jié)點(diǎn)分別是dn1-dn13,當(dāng)然數(shù)據(jù)節(jié)點(diǎn)的數(shù)目沒有限制,在生產(chǎn)環(huán)境避免重復(fù)重啟mycat這個(gè)節(jié)點(diǎn)的范圍大小最好配置超過1年。

<datanode>參數(shù)

因?yàn)槲疫@里只有三個(gè)節(jié)點(diǎn),所以采取三個(gè)節(jié)點(diǎn)循環(huán)作為數(shù)據(jù)的保存節(jié)點(diǎn),默認(rèn)1,4,7,10,第二年1月,這些月份的數(shù)據(jù)保存在節(jié)點(diǎn)1。在生產(chǎn)婚假一般會(huì)配置12個(gè)節(jié)點(diǎn),這樣每年的1月可以存在節(jié)點(diǎn)1,

 不支持這樣寫,datanode中的節(jié)點(diǎn)定義一定要和table一樣
 <dataNode name="dn1,dn4,dn7,dn10,dn13" dataHost="localhost1" database="db1" />

<datahost>參數(shù)

datahost配置的是主從讀寫分離,如果第一個(gè)writehost宕機(jī)了自動(dòng)切換到第二個(gè)writehost

分片函數(shù) 

vim rule.xml
<tableRule name="sharding-by-month">
                <rule>
                        <columns>createdate</columns>
                        <algorithm>sharding-by-month</algorithm>
                </rule>
</tableRule>

<function name="sharding-by-month"
                class="org.opencloudb.route.function.PartitionByMonth">
                <property name="dateFormat">yyyy-MM-dd HH:mm:ss</property>
                <property name="sBeginDate">2015-01-01 00:00:00</property>

</function>

權(quán)威指南默認(rèn)的自然月分片使用的dateFormat格式是yyyy-MM-dd,在這里我是故意這樣測(cè)試的。

注意:如果dateFormat格式是yyyy-MM-dd那么sBeginDate格式就必須是2015-01-01,否則就是上面我配置的這種對(duì)應(yīng)關(guān)系。當(dāng)我使用dateFormat格式是yyyy-MM-dd的時(shí)候我在插入語(yǔ)句的createdate字段使用“2015-01-01 00:00:00”格式的時(shí)間也可以識(shí)別,反之,我配置dateFormat格式是yyyy-MM-dd HH:mm:ss,當(dāng)我的插入語(yǔ)句的createdate字段使用“2015-01-01”格式的時(shí)間會(huì)報(bào)錯(cuò),建議函數(shù)這里配置的是什么格式在執(zhí)行插入語(yǔ)句的時(shí)候時(shí)間也使用什么格式。

在dateFormat格式是yyyy-MM-dd時(shí)分片字段的數(shù)據(jù)類型可以是date、datetime,在dateFormat格式是yyyy-MM-dd HH:mm:ss是分片字段的數(shù)據(jù)類型必須是datetime。

sBeginDate是開始時(shí)間

測(cè)試數(shù)據(jù)

在mycat中執(zhí)行插入語(yǔ)句。

insert into tdate(id,createdate) values(1,'2015-01-01 00:00:00');
insert into tdate(id,createdate) values(2,'2015-02-01 00:00:00');
insert into tdate(id,createdate) values(3,'2015-03-01 00:00:00');
insert into tdate(id,createdate) values(4,'2015-10-01 00:00:00');
insert into tdate(id,createdate) values(5,'2016-01-01 00:00:00');

到master中查看數(shù)據(jù):

select * from db1.tdate; 
select * from db2.tdate; 
select * from db3.tdate; 

Mycat月分片方法

插入的結(jié)果也正常的分布到了各個(gè)分片中,測(cè)試結(jié)果正確。

注意事項(xiàng)

1.在進(jìn)行insert插入時(shí)分片字段必須明確在table后面列出,其它的默認(rèn)字段可以不列出在1.4中不受影響。

2.values中不能使用函數(shù),例如:now()

總結(jié)

mycat對(duì)月進(jìn)行分片總體概念比較清晰,但是因?yàn)閙ycat本身對(duì)于容錯(cuò)的處理比較弱,所以在sql語(yǔ)句方面使用盡量簡(jiǎn)單的標(biāo)準(zhǔn)語(yǔ)法。

以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"Mycat月分片方法",希望對(duì)大家有幫助,想了解更多可查看Mycat教程,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 天天躁狠狠躁狠狠躁夜夜躁 | 日日嗷| 亚欧洲精品在线视频免费观看 | 伊人色强在线网 | 欧美白人极品性喷潮 | 久久精品国产400部免费看 | 精品哟啊呦v视频在线观看 精品哟哟国产在线观看 | 亚洲综合一区二区三区 | 精品在线99| 四虎影院wwww | 伊人第一路线 | 国产午夜亚洲精品不卡福利 | 中文精品爱久久久国产 | 午夜在线视频网站 | 亚洲第一成年免费网站 | 亚洲国产成人成上人色 | 国产亚洲精品一区二区 | 看大片全色黄大色黄 | 麻豆成人久久精品二区三 | 韩国女主播一区二区三区视频 | 888米奇色狠狠俺去啦 | 国产精品va一区二区三区 | 一级片在线免费看 | 免费鲁丝片一级在线观看 | 欧美香蕉爽爽人人爽观看猫咪 | 在线亚洲欧美性天天影院 | 色偷偷91久久综合噜噜噜 | 天天摸天天操免费播放小视频 | 国产精品久久久久久福利69堂 | 欧美亚洲另类久久综合 | 欧美成人aa大片拍拍拍 | 98在线视频噜噜噜国产 | 色精品一区二区三区 | 曰本一级毛片免费 | 午夜看一级特黄a大片黑 | 久久精品国语 | 亚洲一区二区三区在线播放 | 亚洲一区二区三区在线免费观看 | 国产成人精品一区二三区在线观看 | 综合免费一区二区三区 | 欧美激情一区二区 |