專利名稱:一種利用內(nèi)存數(shù)據(jù)庫技術(shù)優(yōu)化磁盤數(shù)據(jù)庫性能的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)數(shù)據(jù)庫管理技術(shù),具體地說是一種利用內(nèi)存數(shù)據(jù)庫技術(shù)優(yōu)化磁盤數(shù)據(jù)庫性能的方法。
背景技術(shù):
數(shù)據(jù)庫是大型應(yīng)用系統(tǒng)中的重要組成部分,往往隨著應(yīng)用系統(tǒng)功能的豐富以及時間的推移,數(shù)據(jù)庫中的數(shù)據(jù)都會呈不同程度的增長,而傳統(tǒng)的數(shù)據(jù)庫都是基于磁盤的數(shù)據(jù)庫,如oracle、db2、SQL Server等。當(dāng)磁盤數(shù)據(jù)庫中存儲的數(shù)據(jù)達(dá)到一定程度時,數(shù)據(jù)庫會出現(xiàn)IO瓶頸,性能也會嚴(yán)重下降,應(yīng)用的訪問也會緩慢等待。
面對這種情況,可以在配置大內(nèi)存服務(wù)器上部署內(nèi)存數(shù)據(jù)庫與應(yīng)用,進(jìn)而利用內(nèi)存數(shù)據(jù)庫技術(shù)將磁盤中存儲的的熱點數(shù)據(jù)緩存到內(nèi)存中,以達(dá)到消除磁盤IO的瓶頸,提高系統(tǒng)的性能。
發(fā)明內(nèi)容
本發(fā)明的目的是利用內(nèi)存數(shù)據(jù)庫上的大內(nèi)存優(yōu)勢,將磁盤數(shù)據(jù)庫中存儲的熱點數(shù)據(jù)緩存到內(nèi)存數(shù)據(jù)庫中,通過對應(yīng)用的配置,讓原來請求磁盤的應(yīng)用去請求緩存在內(nèi)存中的數(shù)據(jù),因為對內(nèi)存的操作要遠(yuǎn)比對磁盤的操作快很多,這樣就可以消除磁盤IO帶來的瓶頸,提聞系統(tǒng)的性能。本發(fā)明的目的是按以下方式實現(xiàn)的,通過在配置大內(nèi)存的服務(wù)器上安裝部署內(nèi)存數(shù)據(jù)庫與中間件應(yīng)用,然后將磁盤數(shù)據(jù)庫中存儲的熱點數(shù)據(jù),包括只讀數(shù)據(jù)與可讀可寫數(shù)據(jù)緩存到內(nèi)存中,并配置相應(yīng)的數(shù)據(jù)同步方式,將內(nèi)存中變化的數(shù)據(jù)自動同步到磁盤數(shù)據(jù)庫中,以保證數(shù)據(jù)的可靠性,具體步驟如下
步驟I:在大內(nèi)存的服務(wù)器上部署內(nèi)存數(shù)據(jù)庫與中間件應(yīng)用;
步驟2 :配置磁盤數(shù)據(jù)庫,建立管理用戶,并賦予相應(yīng)的權(quán)限;
步驟3 :配置內(nèi)存數(shù)據(jù)庫,建立緩存管理用戶,將cache group加入到內(nèi)存數(shù)據(jù)庫中,啟動 cache agent ;
步驟4 :定義cache group,通過分析應(yīng)用訪問的數(shù)據(jù)是做何種操作,包括只讀或者可讀可寫,其中
將磁盤數(shù)據(jù)庫中存儲的只讀型數(shù)據(jù)添加到內(nèi)存數(shù)據(jù)庫readonly類型的cache group中,即這部分內(nèi)存中的數(shù)據(jù)只讀,不會同步回磁盤數(shù)據(jù)庫中去;
將磁盤數(shù)據(jù)庫中存儲的需要讀寫的數(shù)據(jù)添加到內(nèi)存數(shù)據(jù)庫writethrough global類型的cache group中,即這部分內(nèi)存中的數(shù)據(jù)可讀可寫,并會實時同步回磁盤數(shù)據(jù)庫中去;步驟5 :啟動replication agent ;將磁盤數(shù)據(jù)加載到內(nèi)存數(shù)據(jù)庫中;
步驟6 :調(diào)整應(yīng)用模塊的數(shù)據(jù)訪問,將原來應(yīng)用的模塊對磁盤數(shù)據(jù)庫的訪問修改為對內(nèi)存數(shù)據(jù)庫的訪問。本發(fā)明的有益效果是利用內(nèi)存數(shù)據(jù)庫技術(shù)來優(yōu)化磁盤數(shù)據(jù)庫性能的方法,將熱點數(shù)據(jù)緩存在內(nèi)存中,讓應(yīng)用請求數(shù)據(jù)操作時從原來對磁盤的操作改為對內(nèi)存的操作,可以避免對磁盤數(shù)據(jù)操作所帶來的IO瓶頸;內(nèi)存數(shù)據(jù)庫中緩存的數(shù)據(jù)可以與磁盤數(shù)據(jù)庫中的數(shù)據(jù)實時同步,保證了數(shù)據(jù)的可靠性;內(nèi)存數(shù)據(jù)庫可以采取2臺服務(wù)器做熱備或者集群,防止意外斷電引起的單點故障。既解決了磁盤數(shù)據(jù)庫中存儲的數(shù)據(jù)過大引起的IO瓶頸,又極大的提高了應(yīng)用系統(tǒng)的性能,同時內(nèi)存中緩存的數(shù)據(jù)變化后可以同步回磁盤數(shù)據(jù),保證數(shù)據(jù)的可靠性。
圖I是系統(tǒng)結(jié)構(gòu)示意圖。
具體實施例方式參照說明書附圖對本發(fā)明的方法作以下詳細(xì)地說明。通過在配置大內(nèi)存的服務(wù)器上安裝部署內(nèi)存數(shù)據(jù)庫與中間件應(yīng)用,然后將磁盤數(shù)據(jù)庫中存儲的熱點數(shù)據(jù)(包括只讀數(shù)據(jù)與可讀可寫數(shù)據(jù))緩存到內(nèi)存中,并配置相應(yīng)的數(shù)據(jù)·同步方式。此時如果應(yīng)用大部分需要訪問請求的數(shù)據(jù)都緩存在內(nèi)存中,那么就只需要在內(nèi)存中操作既可,也就消除了磁盤操作所帶來的IO瓶頸,同時內(nèi)存中變化的數(shù)據(jù)會自動同步到磁盤數(shù)據(jù)庫中,保證數(shù)據(jù)的可靠性。步驟I :在大內(nèi)存的服務(wù)器上部署內(nèi)存數(shù)據(jù)庫與中間件應(yīng)用;
步驟2 :配置磁盤數(shù)據(jù)庫,建立管理用戶,并賦予相應(yīng)的權(quán)限;
步驟3 :配置內(nèi)存數(shù)據(jù)庫,建立緩存管理用戶,將cache group加入到內(nèi)存數(shù)據(jù)庫中,啟動 cache agent ;
步驟4 :定義cache group,通過分析應(yīng)用訪問的數(shù)據(jù)是做何種操作(只讀或者可讀可
與);
將磁盤數(shù)據(jù)庫中存儲的只讀型數(shù)據(jù)添加到內(nèi)存數(shù)據(jù)庫readonly類型的cache group中,即這部分內(nèi)存中的數(shù)據(jù)只讀,不會同步回磁盤數(shù)據(jù)庫中去;
將磁盤數(shù)據(jù)庫中存儲的需要讀寫的數(shù)據(jù)添加到內(nèi)存數(shù)據(jù)庫writethrough global類型的cache group中,即這部分內(nèi)存中的數(shù)據(jù)可讀可寫,并會實時同步回磁盤數(shù)據(jù)庫中去;步驟5 :啟動replication agent ;將磁盤數(shù)據(jù)加載到內(nèi)存數(shù)據(jù)庫中;
步驟6 :調(diào)整應(yīng)用模塊的數(shù)據(jù)訪問,將原來應(yīng)用的模塊對磁盤數(shù)據(jù)庫的訪問修改為對內(nèi)存數(shù)據(jù)庫的訪問。除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
權(quán)利要求
1.利用內(nèi)存數(shù)據(jù)庫技術(shù)優(yōu)化磁盤數(shù)據(jù)庫性能的方法,其特征在于通過在配置大內(nèi)存的服務(wù)器上安裝部署內(nèi)存數(shù)據(jù)庫與中間件應(yīng)用,然后將磁盤數(shù)據(jù)庫中存儲的熱點數(shù)據(jù),包括只讀數(shù)據(jù)與可讀可寫數(shù)據(jù)緩存到內(nèi)存中,并配置相應(yīng)的數(shù)據(jù)同步方式,將內(nèi)存中變化的數(shù)據(jù)自動同步到磁盤數(shù)據(jù)庫中,以保證數(shù)據(jù)的可靠性,具體步驟如下 步驟I:在大內(nèi)存的服務(wù)器上部署內(nèi)存數(shù)據(jù)庫與中間件應(yīng)用; 步驟2 :配置磁盤數(shù)據(jù)庫,建立管理用戶,并賦予相應(yīng)的權(quán)限; 步驟3 :配置內(nèi)存數(shù)據(jù)庫,建立緩存管理用戶,將cache group加入到內(nèi)存數(shù)據(jù)庫中,啟動 cache agent ; 步驟4 :定義cache group,通過分析應(yīng)用訪問的數(shù)據(jù)是做何種操作,包括只讀或者可讀可寫,其中 將磁盤數(shù)據(jù)庫中存儲的只讀型數(shù)據(jù)添加到內(nèi)存數(shù)據(jù)庫readonly類型的cache group中,即這部分內(nèi)存中的數(shù)據(jù)只讀,不會同步回磁盤數(shù)據(jù)庫中去; 將磁盤數(shù)據(jù)庫中存儲的需要讀寫的數(shù)據(jù)添加到內(nèi)存數(shù)據(jù)庫writethrough global類型的cache group中,即這部分內(nèi)存中的數(shù)據(jù)可讀可寫,并會實時同步回磁盤數(shù)據(jù)庫中去;步驟5 :啟動replication agent ;將磁盤數(shù)據(jù)加載到內(nèi)存數(shù)據(jù)庫中; 步驟6 :調(diào)整應(yīng)用模塊的數(shù)據(jù)訪問,將原來應(yīng)用的模塊對磁盤數(shù)據(jù)庫的訪問修改為對內(nèi)存數(shù)據(jù)庫的訪問。
全文摘要
本發(fā)明提供一種利用內(nèi)存數(shù)據(jù)庫技術(shù)優(yōu)化磁盤數(shù)據(jù)庫性能的方法。通過在配置大內(nèi)存的服務(wù)器上安裝部署內(nèi)存數(shù)據(jù)庫與中間件應(yīng)用,然后將磁盤數(shù)據(jù)庫中存儲的熱點數(shù)據(jù),包括只讀數(shù)據(jù)與可讀可寫數(shù)據(jù)緩存到內(nèi)存中,并配置相應(yīng)的數(shù)據(jù)同步方式,將內(nèi)存中變化的數(shù)據(jù)自動同步到磁盤數(shù)據(jù)庫中,以保證數(shù)據(jù)的可靠性,通過利用內(nèi)存數(shù)據(jù)庫技術(shù),將磁盤上存儲的熱點數(shù)據(jù)緩存在內(nèi)存中,同時修改應(yīng)用,將原來請求磁盤中的數(shù)據(jù)配置為去請求內(nèi)存中的數(shù)據(jù),即使對磁盤的操作改為對內(nèi)存的操作,消除了傳統(tǒng)磁盤數(shù)據(jù)庫系統(tǒng)中的I/O瓶頸,極大的提高了系統(tǒng)的性能。
文檔編號G06F17/30GK102945251SQ201210385489
公開日2013年2月27日 申請日期2012年10月12日 優(yōu)先權(quán)日2012年10月12日
發(fā)明者邱養(yǎng)勇, 喬鑫 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司