本發(fā)明專利技術(shù)涉及一種分布式數(shù)據(jù)庫擴(kuò)容的方法和系統(tǒng),包括步驟S1,通過代理規(guī)則1將數(shù)據(jù)庫系統(tǒng)1將Mysql_A和Mysql_B的數(shù)據(jù)均切分到兩個數(shù)據(jù)庫上;其中數(shù)據(jù)庫系統(tǒng)1包括與DBProxy相連的Mysql_A和Mysql_B,且Mysql_A和Mysql_B的數(shù)據(jù)設(shè)置為雙主互備;經(jīng)過切分后,Mysql_A的數(shù)據(jù)切分到數(shù)據(jù)庫Schema1和數(shù)據(jù)庫Schema2上,Mysql_B的數(shù)據(jù)切分到數(shù)據(jù)庫Schema1和數(shù)據(jù)庫Schema2上;步驟S2,將代理規(guī)則1修改為代理規(guī)則2;步驟S3,根據(jù)代理規(guī)則2停止Mysql_A和Mysql_B的數(shù)據(jù)復(fù)制功能并刪除Mysql_A包含的數(shù)據(jù)庫Schema2以及Mysql_B包含的數(shù)據(jù)庫Schema1;步驟S4,設(shè)置Mysql_A和Mysql_B的備份節(jié)點(diǎn)分別為Mysql_A_slave和Mysql_B_slave,并將Mysql_A和Mysql_B的數(shù)據(jù)分別導(dǎo)入到Mysql_A_slave和Mysql_B_slave中;本發(fā)明專利技術(shù)操作簡單,擴(kuò)容時間短;支持所有場景的分布式數(shù)據(jù)庫的擴(kuò)容。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及分布式數(shù)據(jù)庫和云計算領(lǐng)域,尤其涉及一種分布式數(shù)據(jù)庫擴(kuò)容的方法和系統(tǒng)。
技術(shù)介紹
在互聯(lián)網(wǎng)、電信等許多關(guān)鍵領(lǐng)域,隨著企業(yè)業(yè)務(wù)的不斷發(fā)展,企業(yè)的I/T環(huán)境也在不斷進(jìn)行演變,單個數(shù)據(jù)庫已經(jīng)很難滿足海量數(shù)據(jù)庫存儲和高并發(fā)數(shù)據(jù)訪問,分布式數(shù)據(jù)庫的出現(xiàn)成為必然,分布式數(shù)據(jù)庫能夠有效的解決海量數(shù)據(jù)存儲和并發(fā)問題,通過數(shù)據(jù)的水平切合和數(shù)據(jù)表的垂直切分,有效的緩解了海量數(shù)據(jù)存儲,通過負(fù)載均衡、高可用、輪詢等緩解了高并發(fā)問題。但隨著分布式數(shù)據(jù)庫的上線業(yè)務(wù)量的增加每個節(jié)點(diǎn)數(shù)據(jù)量的增加,分布式數(shù)據(jù)庫節(jié)點(diǎn)擴(kuò)容則勢在必行?,F(xiàn)有的分布式數(shù)據(jù)庫系統(tǒng)不能實(shí)現(xiàn)擴(kuò)容,隨著業(yè)務(wù)增加每個節(jié)點(diǎn)數(shù)據(jù)量劇增,整個分布式數(shù)據(jù)庫性能急劇下降;擴(kuò)容時間長,對應(yīng)用程序影響大;擴(kuò)容局限性強(qiáng),只支持一些特殊場景不適合所有場景;擴(kuò)容步驟繁瑣,操作復(fù)雜。
技術(shù)實(shí)現(xiàn)思路
本專利技術(shù)所要解決的技術(shù)問題是提供一種分布式數(shù)據(jù)庫擴(kuò)容的方法和系統(tǒng)。本專利技術(shù)解決上述技術(shù)問題的技術(shù)方案如下:一種分布式數(shù)據(jù)庫擴(kuò)容的方法,包括以下步驟:步驟SI,通過代理規(guī)則I將數(shù)據(jù)庫系統(tǒng)I將Mysql_A和Mysql_B的數(shù)據(jù)均切分到兩個數(shù)據(jù)庫上;其中數(shù)據(jù)庫系統(tǒng)I包括與DBProxy相連的Mysql_A和Mysql_B,且Mysql_A和Mysql_B的數(shù)據(jù)設(shè)置為雙主互備;經(jīng)過切分后,Mysql_A的數(shù)據(jù)切分到數(shù)據(jù)庫Schemal和數(shù)據(jù)庫Schema2上,Mysql_B的數(shù)據(jù)切分到數(shù)據(jù)庫Schemal和數(shù)據(jù)庫Schema2上;步驟S2,將代理規(guī)則I修改為代理規(guī)則2 ;步驟S3,根據(jù)代理規(guī)則2停止Mysql_A和Mysql_B的數(shù)據(jù)復(fù)制功能并刪除Mysql_A包含的數(shù)據(jù)庫Schema2以及Mysql_B包含的數(shù)據(jù)庫Schemal ;步驟S4,設(shè)置 Mysql_A 和 Mysql_B 的備份節(jié)點(diǎn)分別為 Mysql_A_slave 和 Mysql_B_slave,并將 Mysql_A 和 Mysql_B 的數(shù)據(jù)分別導(dǎo)入到 Mysql_A_slave 和 Mysql_B_slave 中。在上述技術(shù)方案的基礎(chǔ)上,本專利技術(shù)還可以做如下改進(jìn)。進(jìn)一步地,步驟2中,在所述代理規(guī)則2中設(shè)置Mysql_A和Mysql_B的備份節(jié)點(diǎn)都為本身。進(jìn)一步地,步驟S4中,使用在線備份工具xtrabackup將Mysql_A和Mysql_B的數(shù)據(jù)分別導(dǎo)入到 Mysql_A_slave 和 Mysql_B_slave 中。進(jìn)一步地,步驟S4中,以導(dǎo)入數(shù)據(jù)的結(jié)束點(diǎn)為起始配置Mysql_A和Mysql_B與Mysql_A_slave 和 Mysql_B_slave 主從互備。進(jìn)一步地,步驟S4后,在代理規(guī)則2中設(shè)置Mysql_A_slave和Mysql_B_slave為Mysql_A和Mysql_B的備份節(jié)點(diǎn)。本專利技術(shù)解決上述技術(shù)問題的另一種技術(shù)方案如下:一種分布式數(shù)據(jù)庫擴(kuò)容的系統(tǒng),包括數(shù)據(jù)切分模塊、代理規(guī)則修改模塊、數(shù)據(jù)庫刪除模塊和備份節(jié)點(diǎn)設(shè)置模塊;所述數(shù)據(jù)切分模塊用于通過代理規(guī)則I將數(shù)據(jù)庫系統(tǒng)I將Mysql_A和Mysql_B的數(shù)據(jù)均切分到兩個數(shù)據(jù)庫上;其中數(shù)據(jù)庫系統(tǒng)I包括與DBProxy相連的Mysql_A和Mysql_B,且]\^891_々和Mysql_B的數(shù)據(jù)設(shè)置為雙主互備;經(jīng)過切分后,Mysql_A的數(shù)據(jù)切分到數(shù)據(jù)庫Schemal和數(shù)據(jù)庫Schema2上,Mysql_B的數(shù)據(jù)切分到數(shù)據(jù)庫Schemal和數(shù)據(jù)庫Schema2上;所述代理規(guī)則修改模塊用于將代理規(guī)則I修改為代理規(guī)則2 ;所述數(shù)據(jù)庫刪除模塊用于根據(jù)代理規(guī)則2停止Mysql_A和Mysql_B的數(shù)據(jù)復(fù)制功能并刪除Mysql_A包含的數(shù)據(jù)庫Schema2以及Mysql_B包含的數(shù)據(jù)庫Schemal ;所述備份節(jié)點(diǎn)設(shè)置模塊用于設(shè)置Mysql_A和Mysql_B的備份節(jié)點(diǎn)分別為Mysql_A_slave 和 Mysql_B_slave,并將 Mysql_A 和 Mysql_B 的數(shù)據(jù)分別導(dǎo)入到 Mysql_A_slave 和Mysql_B_slave 中。在上述技術(shù)方案的基礎(chǔ)上,本專利技術(shù)還可以做如下改進(jìn)。進(jìn)一步地,在所述代理規(guī)則2中設(shè)置Mysql_A和Mysql_B的備份節(jié)點(diǎn)都為本身。進(jìn)一步地,使用在線備份工具xtrabackup將Mysql_A和Mysql_B的數(shù)據(jù)分別導(dǎo)入到 Mysql_A_slave 和 Mysql_B_slave 中。進(jìn)一步地,以導(dǎo)入數(shù)據(jù)的結(jié)束點(diǎn)為起始配置和Mysql_B_slave主從互備。進(jìn)一步地,在代理規(guī)則2中設(shè)置Mysql_A_slave和Mysql_B_slave為Mysql_A和Mysql_B的備份節(jié)點(diǎn)。本專利技術(shù)的有益效果是:能夠?qū)崿F(xiàn)不停業(yè)務(wù)或者短時間停業(yè)務(wù)的分布式數(shù)據(jù)庫節(jié)點(diǎn)擴(kuò)容;操作簡單,擴(kuò)容時間短;支持所有場景的分布式數(shù)據(jù)庫的擴(kuò)容。【附圖說明】圖1為本專利技術(shù)所述分布式數(shù)據(jù)庫擴(kuò)容的方法流程圖;圖2為本專利技術(shù)所述分布式數(shù)據(jù)庫擴(kuò)容的方法步驟I和步驟3流程圖;圖3為本專利技術(shù)所述分布式數(shù)據(jù)庫擴(kuò)容的方法步驟4流程圖;圖4為本專利技術(shù)所述分布式數(shù)據(jù)庫擴(kuò)容的系統(tǒng)結(jié)構(gòu)圖?!揪唧w實(shí)施方式】以下結(jié)合附圖對本專利技術(shù)的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本專利技術(shù),并非用于限定本專利技術(shù)的范圍。本專利技術(shù)中涉及的Mysql是指關(guān)系型數(shù)據(jù)庫管理系統(tǒng),DBProxy為數(shù)據(jù)庫代理,用于調(diào)度/負(fù)載均衡。圖1為本專利技術(shù)所述分布式數(shù)據(jù)庫擴(kuò)容的方法流程圖。如圖1所示,一種分布式數(shù)據(jù)庫擴(kuò)容的方法,包括以下步驟:步驟SI,通過代理規(guī)則I將數(shù)據(jù)庫系統(tǒng)I將Mysql_A和Mysql_B的數(shù)據(jù)均切分到兩個數(shù)據(jù)庫上;其中數(shù)據(jù)庫系統(tǒng)I包括與DBProxy相連的Mysql_A和Mysql_B,且Mysql_A和Mysql_B的數(shù)據(jù)設(shè)置為雙主互備;經(jīng)過切分后,如圖2所示,Mysql_A的數(shù)據(jù)切分到數(shù)據(jù)庫Schemal和數(shù)據(jù)庫Schema2上,Mysql_B的數(shù)據(jù)切分到數(shù)據(jù)庫Schemal和數(shù)據(jù)庫Schema2上。步驟S2,將代理規(guī)則I修改為代理規(guī)則2 ;代理規(guī)則2中設(shè)置Mysql_A和Mysql_B的備份節(jié)點(diǎn)都它本身,此時Mysql_A和Mysql_B不具備主備功能;在代理管理端口(9066)執(zhí)行reload_config ;使代理規(guī)則2生效。步驟S3,根據(jù)代理規(guī)則2,通過Mysql命令停止Mysql_A和Mysql_B的數(shù)據(jù)復(fù)制功能并刪除Mysql_A包含的數(shù)據(jù)庫Schema2以及Mysql_B包含的數(shù)據(jù)庫Schemal0步驟S4,具體如圖3所示,設(shè)置Mysql_A和Mysql_B的備份節(jié)點(diǎn)分別為Mysql_A_slave和Mysql_B_slave,可以使用在線備份工具xtrabackup將Mysql_A和Mysql_B的數(shù)據(jù)分別導(dǎo)入到 Mysql_A_slave 和 Mysql_B_slave 中。查看備份工具 xtrabackup_binlog_info文件,獲取導(dǎo)入日志的結(jié)束點(diǎn),以導(dǎo)入數(shù)據(jù)的結(jié)束點(diǎn)為起始配置MysqU^PMysql_B與Mysql_A_slave和Mysql_B_slave互備;并啟動主從互備。此時在代理規(guī)則中設(shè)置Mysql_A_slave和Mysql_B_slave為Mysql_A和Mysql_B的備份節(jié)點(diǎn),在代理管理端口(9066)執(zhí)行reload_config ;使本文檔來自技高網(wǎng)...

【技術(shù)保護(hù)點(diǎn)】
一種分布式數(shù)據(jù)庫擴(kuò)容的方法,其特征在于,包括以下步驟:步驟S1,通過代理規(guī)則1將數(shù)據(jù)庫系統(tǒng)1將Mysq?l_A和Mysq?l_B的數(shù)據(jù)均切分到兩個數(shù)據(jù)庫上;其中數(shù)據(jù)庫系統(tǒng)1包括與DBProxy相連的兩個Mysq?l,分別為Mysq?l_A和Mysq?l_B,且Mysq?l_A和Mysq?l_B的數(shù)據(jù)設(shè)置為雙主互備;經(jīng)過切分后,Mysq?l_A的數(shù)據(jù)切分到數(shù)據(jù)庫Schema1和數(shù)據(jù)庫Schema2上,Mysq?l_B的數(shù)據(jù)切分到數(shù)據(jù)庫Schema1和數(shù)據(jù)庫Schema2上;步驟S2,將代理規(guī)則1修改為代理規(guī)則2;步驟S3,根據(jù)代理規(guī)則2停止Mysq?l_A和Mysq?l_B的數(shù)據(jù)復(fù)制功能并刪除Mysq?l_A包含的數(shù)據(jù)庫Schema2以及Mysq?l_B包含的數(shù)據(jù)庫Schema1;步驟S4,設(shè)置Mysq?l_A和Mysq?l_B的備份節(jié)點(diǎn)分別為Mysq?l_A_s?l?ave和Mysq?l_B_s?l?ave,并將Mysq?l_A和Mysq?l_B的數(shù)據(jù)分別導(dǎo)入到Mysq?l_A_s?l?ave和Mysq?l_B_s?l?ave中。
【技術(shù)特征摘要】
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:王虎,
申請(專利權(quán))人:北京思特奇信息技術(shù)股份有限公司,
類型:發(fā)明
國別省市:北京;11
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。