本公開(kāi)涉及數(shù)據(jù)庫(kù)領(lǐng)域,特別涉及一種數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)管理方法。
背景技術(shù):
1、數(shù)據(jù)庫(kù)(database)是指存放在計(jì)算機(jī)存儲(chǔ)器中,按照一定格式編成的相互關(guān)聯(lián)的各種數(shù)據(jù)的集合,供用戶迅速有效地進(jìn)行數(shù)據(jù)處理。數(shù)據(jù)庫(kù)能夠存儲(chǔ)大量結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù),例如,文本、數(shù)字、圖像、音頻等各種類型的數(shù)據(jù)。
2、在一些數(shù)據(jù)庫(kù)技術(shù)中,為了應(yīng)對(duì)業(yè)務(wù)壓力,采用一個(gè)主數(shù)據(jù)庫(kù)和多個(gè)從數(shù)據(jù)庫(kù)的方式部署數(shù)據(jù)庫(kù)系統(tǒng)。主數(shù)據(jù)庫(kù)與每個(gè)從數(shù)據(jù)庫(kù)之間均采用復(fù)制方式進(jìn)行數(shù)據(jù)同步,從而將從數(shù)據(jù)庫(kù)備份時(shí)的數(shù)據(jù)位點(diǎn)同步到主數(shù)據(jù)庫(kù)最新的數(shù)據(jù)位點(diǎn),該同步過(guò)程是秒級(jí)別至分鐘級(jí)別的,并且主數(shù)據(jù)庫(kù)需要將日志數(shù)據(jù)同步給所有從數(shù)據(jù)庫(kù),給主數(shù)據(jù)庫(kù)帶來(lái)壓力,并且會(huì)占用主數(shù)據(jù)庫(kù)較多的網(wǎng)絡(luò)上行帶寬。
技術(shù)實(shí)現(xiàn)思路
1、本公開(kāi)實(shí)施例,主數(shù)據(jù)庫(kù)、從數(shù)據(jù)庫(kù)、只讀數(shù)據(jù)庫(kù)和云文件系統(tǒng)構(gòu)成運(yùn)算和存儲(chǔ)分離的數(shù)據(jù)庫(kù)系統(tǒng),其中,主數(shù)據(jù)庫(kù)與從數(shù)據(jù)庫(kù)之間采用復(fù)制方式進(jìn)行數(shù)據(jù)同步,每個(gè)只讀數(shù)據(jù)庫(kù)與從數(shù)據(jù)庫(kù)基于以云文件系統(tǒng)為媒介的日志發(fā)布/訂閱進(jìn)行數(shù)據(jù)同步,主數(shù)據(jù)庫(kù)無(wú)需同步只讀數(shù)據(jù)庫(kù),有效地緩解主數(shù)據(jù)庫(kù)的壓力,節(jié)省主數(shù)據(jù)庫(kù)的網(wǎng)絡(luò)上行帶寬,提高數(shù)據(jù)庫(kù)系統(tǒng)整體的服務(wù)性能。
2、本公開(kāi)一些實(shí)施例提出一種數(shù)據(jù)庫(kù)系統(tǒng)管理方法,包括:創(chuàng)建數(shù)據(jù)庫(kù)目錄并初始化,基于初始化的數(shù)據(jù)庫(kù)目錄,在云文件系統(tǒng)中,創(chuàng)建從數(shù)據(jù)庫(kù)的可寫(xiě)快照;通過(guò)復(fù)制方式,主數(shù)據(jù)庫(kù)與從數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步;從數(shù)據(jù)庫(kù)將本地緩存的日志數(shù)據(jù)同步到云文件系統(tǒng)中的從數(shù)據(jù)庫(kù)的可寫(xiě)快照;只讀數(shù)據(jù)庫(kù)訂閱云文件系統(tǒng)中的從數(shù)據(jù)庫(kù)的可寫(xiě)快照中的日志數(shù)據(jù),與從數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步。
3、在一些實(shí)施例中,數(shù)據(jù)庫(kù)系統(tǒng)管理方法還包括:在只讀數(shù)據(jù)庫(kù)訂閱之前,基于主數(shù)據(jù)庫(kù)的最新快照,在云文件系統(tǒng)中,創(chuàng)建只讀數(shù)據(jù)庫(kù)的可寫(xiě)快照;基于只讀數(shù)據(jù)庫(kù)的可寫(xiě)快照,啟動(dòng)只讀數(shù)據(jù)庫(kù)相應(yīng)的數(shù)據(jù)庫(kù)實(shí)例,并配置數(shù)據(jù)文件優(yōu)先存儲(chǔ)在只讀數(shù)據(jù)庫(kù)的本地緩存。
4、在一些實(shí)施例中,數(shù)據(jù)庫(kù)系統(tǒng)管理方法還包括:響應(yīng)于只讀數(shù)據(jù)庫(kù)滿足預(yù)設(shè)的釋放條件,停止只讀數(shù)據(jù)庫(kù)相應(yīng)的數(shù)據(jù)庫(kù)實(shí)例,刪除只讀數(shù)據(jù)庫(kù)的可寫(xiě)快照。
5、在一些實(shí)施例中,從數(shù)據(jù)庫(kù)將本地緩存的日志數(shù)據(jù)同步到云文件系統(tǒng)中的從數(shù)據(jù)庫(kù)的可寫(xiě)快照包括:從數(shù)據(jù)庫(kù)將接收的主數(shù)據(jù)庫(kù)的日志重放得到的日志數(shù)據(jù)存儲(chǔ)在本地緩存,將本地緩存的日志數(shù)據(jù)異步地同步到從數(shù)據(jù)庫(kù)的可寫(xiě)快照。
6、在一些實(shí)施例中,數(shù)據(jù)庫(kù)系統(tǒng)管理方法還包括:響應(yīng)于從數(shù)據(jù)庫(kù)滿足預(yù)設(shè)的重建條件,在云文件系統(tǒng)中,基于主數(shù)據(jù)庫(kù)的最新可寫(xiě)快照,創(chuàng)建第一數(shù)據(jù)庫(kù)的可寫(xiě)快照;基于第一數(shù)據(jù)庫(kù)的可寫(xiě)快照,啟動(dòng)第一數(shù)據(jù)庫(kù)相應(yīng)的數(shù)據(jù)庫(kù)實(shí)例,并配置元數(shù)據(jù)和日志數(shù)據(jù)優(yōu)先存儲(chǔ)在第一數(shù)據(jù)庫(kù)的本地緩存;控制第一數(shù)據(jù)庫(kù)訂閱從數(shù)據(jù)庫(kù)的可寫(xiě)快照中的日志數(shù)據(jù),直到訂閱至最新的日志數(shù)據(jù)時(shí)停止訂閱;通過(guò)復(fù)制方式,主數(shù)據(jù)庫(kù)與第一數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步;將第一數(shù)據(jù)庫(kù)作為重建的從數(shù)據(jù)庫(kù)。
7、在一些實(shí)施例中,數(shù)據(jù)庫(kù)系統(tǒng)管理方法還包括:停止重建之前的從數(shù)據(jù)庫(kù)相應(yīng)的數(shù)據(jù)庫(kù)實(shí)例,刪除重建之前的從數(shù)據(jù)庫(kù)的可寫(xiě)快照。
8、在一些實(shí)施例中,所述重建條件包括重建之前的從數(shù)據(jù)庫(kù)無(wú)法啟動(dòng)或重建之前的從數(shù)據(jù)庫(kù)的可寫(xiě)快照占用的云文件系統(tǒng)的存儲(chǔ)空間超過(guò)預(yù)設(shè)值中的至少一項(xiàng)。
9、在一些實(shí)施例中,數(shù)據(jù)庫(kù)系統(tǒng)管理方法還包括:從數(shù)據(jù)庫(kù)將接收的主數(shù)據(jù)庫(kù)的日志進(jìn)行重放后存儲(chǔ)在本地緩存,并將本地緩存的數(shù)據(jù)持久化存儲(chǔ)到云文件系統(tǒng);在云文件系統(tǒng)中,基于從數(shù)據(jù)庫(kù)的可寫(xiě)快照創(chuàng)建最新可寫(xiě)快照;從數(shù)據(jù)庫(kù)被設(shè)置為可寫(xiě),并切換為主數(shù)據(jù)庫(kù);在云文件系統(tǒng)中,刪除主從切換前的主數(shù)據(jù)庫(kù)的可寫(xiě)快照,將主從切換前的從數(shù)據(jù)庫(kù)的最新可寫(xiě)快照切換為主分支快照。
10、在一些實(shí)施例中,數(shù)據(jù)庫(kù)系統(tǒng)管理方法還包括:在云文件系統(tǒng)中,基于主從切換后的主數(shù)據(jù)庫(kù)的最新可寫(xiě)快照,創(chuàng)建第二數(shù)據(jù)庫(kù)的可寫(xiě)快照;基于第二數(shù)據(jù)庫(kù)的可寫(xiě)快照,啟動(dòng)第二數(shù)據(jù)庫(kù)相應(yīng)的數(shù)據(jù)庫(kù)實(shí)例,并配置元數(shù)據(jù)和日志數(shù)據(jù)優(yōu)先存儲(chǔ)在第二數(shù)據(jù)庫(kù)的本地緩存;第二數(shù)據(jù)庫(kù)訂閱主從切換后的主數(shù)據(jù)庫(kù)的可寫(xiě)快照中的日志數(shù)據(jù),直到訂閱至最新的日志數(shù)據(jù)時(shí)停止訂閱;通過(guò)復(fù)制方式,主從切換后的主數(shù)據(jù)庫(kù)與第二數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步;將第二數(shù)據(jù)庫(kù)作為重建的從數(shù)據(jù)庫(kù)。
11、在一些實(shí)施例中,數(shù)據(jù)庫(kù)系統(tǒng)管理方法還包括:主數(shù)據(jù)庫(kù)或/和從數(shù)據(jù)庫(kù),將元數(shù)據(jù)和日志數(shù)據(jù)優(yōu)先存儲(chǔ)在本地緩存,溢出或同步時(shí),再存儲(chǔ)到云文件系統(tǒng),將表空間數(shù)據(jù)存儲(chǔ)到云文件系統(tǒng)。
12、在一些實(shí)施例中,數(shù)據(jù)庫(kù)系統(tǒng)管理方法還包括:主數(shù)據(jù)庫(kù)響應(yīng)于客戶端提交的事務(wù),將事務(wù)相應(yīng)的日志存儲(chǔ)到本地緩存并同步到本地磁盤(pán),并將事務(wù)相應(yīng)的日志發(fā)送給從數(shù)據(jù)庫(kù),接收從數(shù)據(jù)庫(kù)以中繼日志形式存儲(chǔ)日志后返回的確認(rèn)消息,確認(rèn)事務(wù)提交成功,向客戶端返回事務(wù)提交成功。
13、本公開(kāi)一些實(shí)施例提出一種數(shù)據(jù)庫(kù)系統(tǒng),包括:云文件系統(tǒng),被配置為存儲(chǔ)主數(shù)據(jù)庫(kù)的可寫(xiě)快照、從數(shù)據(jù)庫(kù)的可寫(xiě)快照和只讀數(shù)據(jù)庫(kù)的可寫(xiě)快照,從數(shù)據(jù)庫(kù)的可寫(xiě)快照和只讀數(shù)據(jù)庫(kù)的可寫(xiě)快照基于主數(shù)據(jù)庫(kù)的可寫(xiě)快照創(chuàng)建;主數(shù)據(jù)庫(kù)和從數(shù)據(jù)庫(kù),被配置為通過(guò)復(fù)制方式,進(jìn)行數(shù)據(jù)同步;所述從數(shù)據(jù)庫(kù),被配置為將本地緩存的日志數(shù)據(jù)同步到云文件系統(tǒng)中的從數(shù)據(jù)庫(kù)的可寫(xiě)快照;只讀數(shù)據(jù)庫(kù),被配置為訂閱云文件系統(tǒng)中的從數(shù)據(jù)庫(kù)的可寫(xiě)快照中的日志數(shù)據(jù),與從數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)同步,并處理讀事務(wù)。
14、在一些實(shí)施例中,主數(shù)據(jù)庫(kù)或/和從數(shù)據(jù)庫(kù),被配置為將元數(shù)據(jù)和日志數(shù)據(jù)優(yōu)先存儲(chǔ)在本地緩存,溢出或同步時(shí),再存儲(chǔ)到云文件系統(tǒng),將表空間數(shù)據(jù)存儲(chǔ)到云文件系統(tǒng)。
15、在一些實(shí)施例中,只讀數(shù)據(jù)庫(kù),被配置為將數(shù)據(jù)文件優(yōu)先存儲(chǔ)在本地緩存,溢出時(shí),再存儲(chǔ)到云文件系統(tǒng)。
16、在一些實(shí)施例中,主數(shù)據(jù)庫(kù),被配置為響應(yīng)于客戶端提交的事務(wù),將事務(wù)相應(yīng)的日志存儲(chǔ)到本地緩存并同步到本地磁盤(pán),并將事務(wù)相應(yīng)的日志發(fā)送給從數(shù)據(jù)庫(kù),接收從數(shù)據(jù)庫(kù)以中繼日志形式存儲(chǔ)日志后返回的確認(rèn)消息,確認(rèn)事務(wù)提交成功,向客戶端返回事務(wù)提交成功。
17、本公開(kāi)一些實(shí)施例提出一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)指令,該計(jì)算機(jī)指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)管理方法的步驟。
18、本公開(kāi)一些實(shí)施例提出一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)指令,該計(jì)算機(jī)指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)管理方法的步驟。
1.一種數(shù)據(jù)庫(kù)系統(tǒng)管理方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫(kù)系統(tǒng)管理方法,其特征在于,還包括:
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)庫(kù)系統(tǒng)管理方法,其特征在于,還包括:
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫(kù)系統(tǒng)管理方法,其特征在于,從數(shù)據(jù)庫(kù)將本地緩存的日志數(shù)據(jù)同步到云文件系統(tǒng)中的從數(shù)據(jù)庫(kù)的可寫(xiě)快照包括:
5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫(kù)系統(tǒng)管理方法,其特征在于,還包括:
6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)庫(kù)系統(tǒng)管理方法,其特征在于,還包括:
7.根據(jù)權(quán)利要求5所述的數(shù)據(jù)庫(kù)系統(tǒng)管理方法,其特征在于,所述重建條件包括重建之前的從數(shù)據(jù)庫(kù)無(wú)法啟動(dòng)或重建之前的從數(shù)據(jù)庫(kù)的可寫(xiě)快照占用的云文件系統(tǒng)的存儲(chǔ)空間超過(guò)預(yù)設(shè)值中的至少一項(xiàng)。
8.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫(kù)系統(tǒng)管理方法,其特征在于,還包括:
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)庫(kù)系統(tǒng)管理方法,其特征在于,還包括:
10.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫(kù)系統(tǒng)管理方法,其特征在于,還包括:
11.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫(kù)系統(tǒng)管理方法,其特征在于,還包括:
12.一種數(shù)據(jù)庫(kù)系統(tǒng),其特征在于,包括:
13.根據(jù)權(quán)利要求12所述的數(shù)據(jù)庫(kù)系統(tǒng),其特征在于,
14.根據(jù)權(quán)利要求12所述的數(shù)據(jù)庫(kù)系統(tǒng),其特征在于,
15.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)指令,其特征在于,該計(jì)算機(jī)指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1-11中任一項(xiàng)所述的數(shù)據(jù)庫(kù)系統(tǒng)管理方法的步驟。
16.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)指令,其特征在于,該計(jì)算機(jī)指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1-11中任一項(xiàng)所述的數(shù)據(jù)庫(kù)系統(tǒng)管理方法的步驟。