黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

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

Mycat月分片方法

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

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

mycat版本:1.4

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

架構(gòu):主從

配置

創(chuàng)建測試表

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)建表語句。

分片配置

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,在這里我是故意這樣測試的。

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

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

sBeginDate是開始時(shí)間

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

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

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è)分片中,測試結(jié)果正確。

注意事項(xiàng)

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

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

總結(jié)

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

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

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

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 免费看欧美一级特黄a大片一 | 牛牛精品| 黄色大片视频 | 欧美四区 | 午夜激情在线 | 天天做人人爱夜夜爽2020 | 久久综合五月开心婷婷深深爱 | 一级黄色在线观看 | 丁香伊人五月综合激激激 | 亚洲成人动漫在线观看 | www激情五月 | 在线视频精品播放 | 欧美特黄一免在线观看 | 99视频精品全国免费 | 日韩黄色片视频 | 免费观看成人www精品视频在线 | 操操影视 | 国产东北男同志videos网站 | 国产大片在线观看 | 我亲爱的朋友们免费看 | 免费黄色三级 | 欧美高清欧美videosex | 女人找男人皮日日视频 | 午夜人体视频 | 天天看黄| 成年人免费看片 | 天天干天天插天天 | 亚洲欧美日韩一区超高清 | 美女视频黄.免费网址 | 中文字幕禁忌乱偷在线 | 成人免费视频软件网站 | 久操视频网 | 国产无遮挡男女羞羞影院在线播放 | 高清成人综合 | 成人免费福利网站在线看 | 成年人网站在线观看免费 | 亚洲无限乱码一二三四区 | 一级人做人a爰免费视频 | 欧美亚洲国产成人综合在线 | 欧美一级在线观看视频 | 国产成人久久精品激情91 |