欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng)和方法

文檔序號:6574540閱讀:269來源:國知局
專利名稱:一種實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫領(lǐng)域,特別涉及一種實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng)和方法。
背景技術(shù)
數(shù)據(jù)庫管理作為一種使數(shù)據(jù)具有完整性、安全性和共享性的數(shù)據(jù)管理方式,被越來越廣泛的應(yīng)用于各領(lǐng)域中。數(shù)據(jù)庫管理可以使用數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)進行簡單描述。應(yīng)用系統(tǒng)需要調(diào)用的各種數(shù)據(jù)都存儲在數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)表中,當(dāng)應(yīng)用系統(tǒng)需要對這些數(shù)據(jù)進行諸如查詢、刪除、插入、修改等操作時向數(shù)據(jù)庫系統(tǒng)提出請求,數(shù)據(jù)庫系統(tǒng)通過系統(tǒng)內(nèi)的數(shù)據(jù)庫服務(wù)器針對請求為應(yīng)用系統(tǒng)提供各種針對數(shù)據(jù)庫的服務(wù),數(shù)據(jù)庫服務(wù)器可以針對多個數(shù)據(jù)庫為應(yīng)用系統(tǒng)提供服務(wù)。該過程也可以簡述成應(yīng)用系統(tǒng)通過對數(shù)據(jù)庫系統(tǒng)的訪問對存儲在數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)進行操作。數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)都需要以操作系統(tǒng)為運行平臺。
數(shù)據(jù)庫系統(tǒng)對數(shù)據(jù)的操作可以通過結(jié)構(gòu)化查詢語言(SQL)來實現(xiàn)。SQL是用來在數(shù)據(jù)庫系統(tǒng)中定義對象和操作數(shù)據(jù)的標準化語言,數(shù)據(jù)庫系統(tǒng)通過運行SQL進行數(shù)據(jù)的查詢、更新、插入和刪除,其中運行SQL進行數(shù)據(jù)的查詢時,通過引用為數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)列表建立的索引提高數(shù)據(jù)查詢效率。
數(shù)據(jù)庫系統(tǒng)的配置通常包括磁盤性能、索引配置、鎖的使用、優(yōu)化器和數(shù)據(jù)庫服務(wù)器相關(guān)配置等,其中數(shù)據(jù)庫服務(wù)器的相關(guān)配置包括內(nèi)存配置、高速緩存配置和CPU配置等,是數(shù)據(jù)庫系統(tǒng)配置中非常重要的組成部分。上述數(shù)據(jù)庫系統(tǒng)的配置直接影響數(shù)據(jù)庫系統(tǒng)的查詢速度、操作速度和運行效率等性能。通常在應(yīng)用系統(tǒng)的軟件產(chǎn)品開發(fā)時,會對該應(yīng)用系統(tǒng)軟件需要使用的數(shù)據(jù)庫系統(tǒng)的各項指標進行配置,作為實際使用時數(shù)據(jù)庫系統(tǒng)的默認配置值,但在默認配置下數(shù)據(jù)庫系統(tǒng)的性能并不是最優(yōu)的。數(shù)據(jù)庫系統(tǒng)的優(yōu)化一般分為開發(fā)時優(yōu)化和現(xiàn)場優(yōu)化,開發(fā)時優(yōu)化是在應(yīng)用系統(tǒng)的軟件產(chǎn)品開發(fā)過程中,針對普遍情況對數(shù)據(jù)庫系統(tǒng)的各項配置進行優(yōu)化,而現(xiàn)場優(yōu)化是在應(yīng)用系統(tǒng)的軟件產(chǎn)品發(fā)布之后,針對應(yīng)用現(xiàn)場的具體情況對數(shù)據(jù)庫系統(tǒng)的各項配置進行優(yōu)化,提高數(shù)據(jù)庫系統(tǒng)的性能。因此現(xiàn)場優(yōu)化對于數(shù)據(jù)庫系統(tǒng)的實際應(yīng)用更有意義。
應(yīng)用系統(tǒng)的軟件產(chǎn)品發(fā)布之后,在應(yīng)用中需要對數(shù)據(jù)庫系統(tǒng)進行部署,即安裝數(shù)據(jù)庫服務(wù)器、建立要使用的數(shù)據(jù)庫,在這一過程結(jié)束后諸如磁盤性能和軟件程序代碼都已經(jīng)不可變更,因此對于數(shù)據(jù)庫系統(tǒng)的現(xiàn)場優(yōu)化一般主要針對數(shù)據(jù)庫服務(wù)器相關(guān)配置,即包括索引配置、高速緩存配置、內(nèi)存配置等,以及優(yōu)化器進行。
目前,針對數(shù)據(jù)庫系統(tǒng)的現(xiàn)場優(yōu)化主要有以下三種方式第一、數(shù)據(jù)庫系統(tǒng)的現(xiàn)場優(yōu)化主要使用手工進行,數(shù)據(jù)庫工程師到達數(shù)據(jù)庫系統(tǒng)運行現(xiàn)場,手工查詢數(shù)據(jù)庫系統(tǒng)的運行狀態(tài),根據(jù)運行狀態(tài)以及經(jīng)驗對數(shù)據(jù)庫系統(tǒng)的各項配置進行優(yōu)化。這種方式的缺點是,優(yōu)化依靠人工進行,對調(diào)優(yōu)人員技能要求高,耗時耗力成本高,并且調(diào)優(yōu)人員只能對數(shù)據(jù)庫系統(tǒng)進行很短時間內(nèi)的跟蹤,不能根據(jù)綜合的情況動態(tài)調(diào)優(yōu),進而獲得最好的調(diào)優(yōu)方法。如果用戶改變了一種應(yīng)用習(xí)慣和應(yīng)用場景,還需要重新再進行人工優(yōu)化。
第二、在數(shù)據(jù)庫系統(tǒng)中集成內(nèi)存自動調(diào)優(yōu)的功能,可以有限的對數(shù)據(jù)庫系統(tǒng)已經(jīng)分配的內(nèi)存進行調(diào)整。這種方式的缺點是,只能針對數(shù)據(jù)庫系統(tǒng)已經(jīng)分配的內(nèi)存進行調(diào)整,并不能針對數(shù)據(jù)庫系統(tǒng)的其他配置進行調(diào)整,并且只有某些數(shù)據(jù)庫系統(tǒng)提供了這項技術(shù),不具有通用性。
第三、利用數(shù)據(jù)庫系統(tǒng)內(nèi)部的優(yōu)化器對SQL直接進行優(yōu)化,實現(xiàn)對數(shù)據(jù)庫系統(tǒng)性能的優(yōu)化。這種方式的缺陷是,優(yōu)化器只能根據(jù)數(shù)據(jù)庫系統(tǒng)內(nèi)部現(xiàn)有數(shù)據(jù)表及索引進行有限優(yōu)化,無法做到對索引的全面優(yōu)化,以配合SQL提高數(shù)據(jù)庫系統(tǒng)的性能,并且只能根據(jù)SQL進行無語義的優(yōu)化,無法根據(jù)應(yīng)用情況做到全面優(yōu)化。
可見,上述三種對數(shù)據(jù)庫系統(tǒng)現(xiàn)場優(yōu)化的方式,都不能實現(xiàn)根據(jù)應(yīng)用現(xiàn)場情況對數(shù)據(jù)庫系統(tǒng)進行全面長期的自動優(yōu)化。

發(fā)明內(nèi)容
本發(fā)明實施例提供一種實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng),該系統(tǒng)能實現(xiàn)根據(jù)應(yīng)用現(xiàn)場情況對數(shù)據(jù)庫系統(tǒng)進行全面長期的自動優(yōu)化。
本發(fā)明實施例提供一種實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的方法,該方法能實現(xiàn)根據(jù)應(yīng)用現(xiàn)場情況對數(shù)據(jù)庫系統(tǒng)進行全面長期的自動優(yōu)化。
本發(fā)明實施例提供一種實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng),該系統(tǒng)包括采集模塊和專家模塊;所述采集模塊,采集影響數(shù)據(jù)庫系統(tǒng)性能的相關(guān)數(shù)據(jù)提供給專家模塊;所述專家模塊,通過采集模塊提供的采集數(shù)據(jù)分析數(shù)據(jù)庫系統(tǒng)性能,按照優(yōu)化規(guī)則對數(shù)據(jù)庫系統(tǒng)配置進行優(yōu)化。
本發(fā)明實施例提供一種實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的方法,該方法包括A、采集影響數(shù)據(jù)庫系統(tǒng)性能的相關(guān)數(shù)據(jù);B、通過采集數(shù)據(jù)分析數(shù)據(jù)庫系統(tǒng)的性能,按照優(yōu)化規(guī)則對數(shù)據(jù)庫系統(tǒng)的配置進行優(yōu)化。
本發(fā)明實施例提供的實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng),采集模塊采集影響數(shù)據(jù)庫系統(tǒng)性能的相關(guān)數(shù)據(jù),專家模塊根據(jù)采集模塊提供的數(shù)據(jù)分析數(shù)據(jù)庫系統(tǒng)的性能情況,自動啟動對數(shù)據(jù)庫系統(tǒng)配置的優(yōu)化,實現(xiàn)對數(shù)據(jù)庫系統(tǒng)全面長期的自動優(yōu)化。
本發(fā)明實施例提供的實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的方法,通過采集影響數(shù)據(jù)庫系統(tǒng)性能的相關(guān)數(shù)據(jù),分析數(shù)據(jù)庫系統(tǒng)的性能情況,自動啟動對數(shù)據(jù)庫系統(tǒng)配置的優(yōu)化,實現(xiàn)對數(shù)據(jù)庫系統(tǒng)全面長期的自動優(yōu)化。


圖1為本發(fā)明實施例實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng)結(jié)構(gòu)示意圖;圖2為本發(fā)明實施例實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng)與數(shù)據(jù)庫系統(tǒng)、應(yīng)用系統(tǒng)的關(guān)系示意圖;圖3為本發(fā)明實施例數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫系統(tǒng)自動優(yōu)化系統(tǒng)同一進程示意圖;圖4為本發(fā)明實施例實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的方法較佳實施方式流程圖;圖5為本發(fā)明實施例實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的方法基于圖1所示系統(tǒng)的流程圖。
具體實施例方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚明白,下面結(jié)合附圖,對本發(fā)明實施例進一步詳細說明。
本發(fā)明實施例提供的實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng),該系統(tǒng)包括采集模塊和專家模塊。采集模塊,用于采集影響數(shù)據(jù)庫系統(tǒng)性能的相關(guān)數(shù)據(jù),將采集的數(shù)據(jù)提供給專家模塊。專家模塊,用于通過采集模塊提供的數(shù)據(jù)分析數(shù)據(jù)庫系統(tǒng)性能,按照優(yōu)化規(guī)則對數(shù)據(jù)庫系統(tǒng)配置進行優(yōu)化。
本發(fā)明實施例提供的實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的方法,該方法首先采集影響數(shù)據(jù)庫系統(tǒng)性能的相關(guān)數(shù)據(jù),然后通過采集的數(shù)據(jù)分析數(shù)據(jù)庫系統(tǒng)的性能,按照優(yōu)化規(guī)則對數(shù)據(jù)庫系統(tǒng)配置進行優(yōu)化。
首先,對本發(fā)明實施例提供的實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng)進行詳細描述。圖1為本發(fā)明實施例提供的實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng)結(jié)構(gòu)示意圖,該系統(tǒng)包括采集模塊101和專家模塊102,其中采集模塊101包括SQL運行數(shù)據(jù)采集模塊103和性能數(shù)據(jù)采集模塊104。
采集模塊101,用于采集影響數(shù)據(jù)庫系統(tǒng)性能的相關(guān)數(shù)據(jù)提供給專家模塊102。本發(fā)明實施例中,上述影響數(shù)據(jù)庫系統(tǒng)性能的相關(guān)數(shù)據(jù)可以包括數(shù)據(jù)庫系統(tǒng)、和/或操作系統(tǒng)、和/或應(yīng)用系統(tǒng)的性能數(shù)據(jù),和/或數(shù)據(jù)庫系統(tǒng)的SQL運行數(shù)據(jù),將采集模塊101采集上述所有數(shù)據(jù)作為一種較佳實施方式。在此情況下,采集模塊101中可以進一步包括SQL運行數(shù)據(jù)采集模塊103和性能數(shù)據(jù)采集模塊104。
性能數(shù)據(jù)采集模塊104,用于采集操作系統(tǒng)、應(yīng)用系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的性能數(shù)據(jù),將采集的數(shù)據(jù)提供給專家模塊102使用。本發(fā)明實施例中,性能數(shù)據(jù)采集模塊104采集的性能數(shù)據(jù)包括操作系統(tǒng)內(nèi)存分布數(shù)據(jù)、數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)的內(nèi)存使用數(shù)據(jù)、操作系統(tǒng)的CPU占用數(shù)據(jù)、數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)的CPU占用數(shù)據(jù)和數(shù)據(jù)庫系統(tǒng)的高速緩存使用數(shù)據(jù)。由于數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)都以操作系統(tǒng)為操作平臺,本發(fā)明實施例中性能數(shù)據(jù)采集模塊104可以通過操作系統(tǒng)提供的應(yīng)用程序接口(API)或者工具軟件,獲得操作系統(tǒng)內(nèi)存分布數(shù)據(jù),采集操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)的內(nèi)存使用數(shù)據(jù);通過操作系統(tǒng)提供的API或者工具軟件,采集操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)的CPU占用數(shù)據(jù)。另外數(shù)據(jù)采集模塊104通過數(shù)據(jù)庫系統(tǒng)提供的API采集數(shù)據(jù)庫系統(tǒng)高速緩存使用數(shù)據(jù)。本發(fā)明實施例將上述采集方式作為一種較佳實施方式,也可以只采集上述數(shù)據(jù)中的一種或幾種作為性能數(shù)據(jù)采集模塊104采集的性能數(shù)據(jù)。
SQL運行數(shù)據(jù)采集模塊103,用于采集數(shù)據(jù)庫系統(tǒng)的SQL運行數(shù)據(jù),將采集的數(shù)據(jù)提供給專家模塊102使用。本發(fā)明實施例中,SQL運行數(shù)據(jù)采集模塊103采集的數(shù)據(jù)包括以執(zhí)行頻度高為排序項的SQL語句列表、以訪問頻度高、更新頻度高為排序項的數(shù)據(jù)表列表和執(zhí)行SQL時數(shù)據(jù)表索引的使用情況數(shù)據(jù)。SQL運行數(shù)據(jù)采集模塊103也可以只采集上述數(shù)據(jù)中的一種或幾種作為SQL運行數(shù)據(jù)。
上述性能數(shù)據(jù)采集模塊104和SQL運行數(shù)據(jù)采集模塊103,采集數(shù)據(jù)的方式可以為定時采集,即根據(jù)實際需要具體設(shè)置采集的時間間隔。本發(fā)明實施例將采集性能數(shù)據(jù)和SQL運行數(shù)據(jù)作為一種較佳實施方式,也可以只采集性能數(shù)據(jù)或只采集SQL運行數(shù)據(jù),可以根據(jù)實際優(yōu)化的需要靈活運用。
專家模塊102,用于接收性能數(shù)據(jù)采集模塊104提供的操作系統(tǒng)、應(yīng)用系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的性能數(shù)據(jù),接收SQL運行數(shù)據(jù)采集模塊103提供的數(shù)據(jù)庫系統(tǒng)SQL運行數(shù)據(jù),通過分析上述接收到的數(shù)據(jù),分析得出數(shù)據(jù)庫系統(tǒng)性能曲線,按照優(yōu)化規(guī)則,對數(shù)據(jù)庫系統(tǒng)配置進行優(yōu)化。專家模塊102可以將數(shù)據(jù)庫系統(tǒng)性能下降,作為開始優(yōu)化的觸發(fā)條件,即當(dāng)數(shù)據(jù)庫系統(tǒng)性能曲線反映的數(shù)據(jù)庫系統(tǒng)性能下降時,專家模塊102按照優(yōu)化規(guī)則,對引起數(shù)據(jù)庫系統(tǒng)性能下降的對應(yīng)配置進行優(yōu)化。
本發(fā)明實施例中,設(shè)置的數(shù)據(jù)庫系統(tǒng)優(yōu)化規(guī)則包括以下幾項1)內(nèi)存分配優(yōu)化規(guī)則,該規(guī)則具體描述了內(nèi)存分配優(yōu)化的依據(jù),即如果操作系統(tǒng)內(nèi)存的最大分布值大于操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)內(nèi)存的最大使用值,給數(shù)據(jù)庫系統(tǒng)分配其內(nèi)存最大使用值,如果操作系統(tǒng)內(nèi)存的最大分布值小于操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)內(nèi)存的最大使用值,根據(jù)應(yīng)用情況加權(quán)為數(shù)據(jù)庫系統(tǒng)分配內(nèi)存使用值。應(yīng)用本優(yōu)化規(guī)則,需要采集操作系統(tǒng)、應(yīng)用系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的內(nèi)存使用數(shù)據(jù),本發(fā)明實施例是通過操作系統(tǒng)提供的API或者工具軟件,獲得操作系統(tǒng)內(nèi)存分布數(shù)據(jù),采集操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)的內(nèi)存使用數(shù)據(jù)。
2)CPU分配優(yōu)化規(guī)則,該規(guī)則具體描述了CPU分配優(yōu)化的依據(jù),即綜合考慮應(yīng)用情況,加權(quán)配置數(shù)據(jù)庫系統(tǒng)、操作系統(tǒng)和應(yīng)用系統(tǒng)的CPU占用值。應(yīng)用本優(yōu)化規(guī)則,需要采集操作系統(tǒng)、應(yīng)用系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的CPU占用數(shù)據(jù),本發(fā)明實施例是通過操作系統(tǒng)提供的API或者工具軟件,采集操作系統(tǒng)、應(yīng)用系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的CPU占用數(shù)據(jù)。
3)高速緩存優(yōu)化規(guī)則,該規(guī)則具體描述了數(shù)據(jù)庫系統(tǒng)的高速緩存優(yōu)化的依據(jù),即根據(jù)應(yīng)用的實際情況,為數(shù)據(jù)庫系統(tǒng)分配高速緩存使用值。應(yīng)用本優(yōu)化規(guī)則,需要采集數(shù)據(jù)庫系統(tǒng)的高速緩存使用數(shù)據(jù),本發(fā)明實施例中通過數(shù)據(jù)庫系統(tǒng)提供的API采集數(shù)據(jù)庫系統(tǒng)的高速緩存使用數(shù)據(jù)。
4)索引優(yōu)化規(guī)則,該規(guī)則具體描述了索引優(yōu)化的依據(jù),即如果數(shù)據(jù)庫系統(tǒng)中存在某個索引使用錯誤或缺少索引導(dǎo)致數(shù)據(jù)庫系統(tǒng)性能下降的情況,在數(shù)據(jù)庫系統(tǒng)空閑時重新創(chuàng)建該索引,如果存在某個索引始終沒有使用到或使用頻率較低且數(shù)據(jù)空間容量不足的情況,刪除該索引。應(yīng)用本優(yōu)化規(guī)則,需要采集數(shù)據(jù)庫系統(tǒng)的索引使用數(shù)據(jù),本發(fā)明實施例中通過采集數(shù)據(jù)庫系統(tǒng)的SQL運行數(shù)據(jù)采集索引使用數(shù)據(jù)。
5)SQL語句優(yōu)化規(guī)則,該規(guī)則具體描述了對SQL語句優(yōu)化的依據(jù),即如果存在由于使用頻率較高的SQL語句的編寫問題,導(dǎo)致其索引沒有正確使用的情況,則根據(jù)預(yù)定義的語義調(diào)整SQL語句。應(yīng)用本優(yōu)化規(guī)則,需要采集數(shù)據(jù)庫系統(tǒng)的SQL運行數(shù)據(jù)。
上述1)-5)項優(yōu)化規(guī)則為本發(fā)明實施例提供的一種較佳實施方式,在實際應(yīng)用中,根據(jù)實際優(yōu)化需要也可以選擇上述優(yōu)化規(guī)則中的幾項作為數(shù)據(jù)庫系統(tǒng)的優(yōu)化規(guī)則。
針對上述各項數(shù)據(jù)庫系統(tǒng)的優(yōu)化規(guī)則,專家模塊102分析性能數(shù)據(jù)采集模塊104提供的操作系統(tǒng)、應(yīng)用系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的性能數(shù)據(jù),以及SQL運行數(shù)據(jù)采集模塊103提供的數(shù)據(jù)庫系統(tǒng)SQL運行數(shù)據(jù),得到數(shù)據(jù)庫系統(tǒng)性能曲線,按照上述優(yōu)化規(guī)則,對數(shù)據(jù)庫系統(tǒng)配置進行優(yōu)化。該優(yōu)化規(guī)則可以存儲在專家模塊102中,也可以存儲在與專家模塊102相連的一個存儲模塊中,根據(jù)需要可以采用不同的情況實現(xiàn)。
以上所述本發(fā)明實施例提供的實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng),SQL運行數(shù)據(jù)采集模塊103和性能數(shù)據(jù)采集模塊104采集數(shù)據(jù)庫系統(tǒng)、應(yīng)用系統(tǒng)和操作系統(tǒng)的性能數(shù)據(jù)和數(shù)據(jù)庫的SQL運行數(shù)據(jù),采集的方式可以為定時采集;專家模塊102通過分析上述采集到的數(shù)據(jù)得到數(shù)據(jù)庫系統(tǒng)性能曲線,按照優(yōu)化規(guī)則,對數(shù)據(jù)庫系統(tǒng)配置進行優(yōu)化,啟動優(yōu)化的條件可以是數(shù)據(jù)庫系統(tǒng)性能下降。該系統(tǒng)可以對數(shù)據(jù)庫系統(tǒng)性能進行長期跟蹤,按照設(shè)置的優(yōu)化規(guī)則進行全面的自動優(yōu)化,而無需人工參與,能適應(yīng)應(yīng)用場景和應(yīng)用習(xí)慣發(fā)生變更的情況。
本發(fā)明實施例提供的實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng),專家模塊102中還可以進一步包括檢測模塊,用于對數(shù)據(jù)庫系統(tǒng)優(yōu)化后的性能進行檢測。如果該檢測模塊檢測出優(yōu)化后數(shù)據(jù)庫系統(tǒng)的性能得到了提升,可以不執(zhí)行操作并重新按照上述系統(tǒng)工作方式進行新的優(yōu)化,如果該檢測模塊檢測出優(yōu)化后數(shù)據(jù)庫系統(tǒng)性能反而下降,將自主學(xué)習(xí)數(shù)據(jù)庫系統(tǒng)性能下降的配置,在優(yōu)化規(guī)則中更新造成數(shù)據(jù)庫系統(tǒng)性能下降的相關(guān)配置對應(yīng)的優(yōu)化規(guī)則,并將數(shù)據(jù)庫系統(tǒng)的所有配置恢復(fù)到上一次優(yōu)化后的配置狀態(tài)。因此,本發(fā)明實施例提供的實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng)中,優(yōu)化規(guī)則可以動態(tài)更新,更新的依據(jù)就是檢測模塊對優(yōu)化后數(shù)據(jù)庫性能的檢測結(jié)果。在對數(shù)據(jù)庫系統(tǒng)進行第一次優(yōu)化時,使用的優(yōu)化規(guī)則是優(yōu)化開始之前設(shè)置的優(yōu)化規(guī)則,在第一次優(yōu)化之后的優(yōu)化中,使用的優(yōu)化規(guī)則是本次優(yōu)化之前最近一次優(yōu)化中更新后的優(yōu)化規(guī)則。
專家模塊102中進一步包括檢測模塊后,本發(fā)明實施例提供的實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng)每一次對數(shù)據(jù)庫系統(tǒng)的配置進行自動優(yōu)化后,都將檢查優(yōu)化后數(shù)據(jù)庫系統(tǒng)性能的提升情況,因此當(dāng)自動優(yōu)化后如果數(shù)據(jù)庫系統(tǒng)的性能沒有按照預(yù)期得到提升,可以自動恢復(fù)上一次成功優(yōu)化后的配置狀態(tài),不會對數(shù)據(jù)庫系統(tǒng)造成影響。并且,專家模塊102中的檢測模塊可以自主學(xué)習(xí)引起數(shù)據(jù)庫系統(tǒng)性能下降的相關(guān)配置,更新這些優(yōu)化規(guī)則,使優(yōu)化規(guī)則不斷得到修正,從而防止數(shù)據(jù)庫系統(tǒng)優(yōu)化后可能導(dǎo)致性能下降的情況。
圖2示出了本發(fā)明實施例實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng)與數(shù)據(jù)庫系統(tǒng)及應(yīng)用系統(tǒng)的關(guān)系,即應(yīng)用系統(tǒng)通過該自動優(yōu)化系統(tǒng)訪問數(shù)據(jù)庫系統(tǒng)。
數(shù)據(jù)庫系統(tǒng)、應(yīng)用系統(tǒng)和本發(fā)明實施例提供的實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化系統(tǒng)都以操作系統(tǒng)為平臺運行,而操作系統(tǒng)中的操作都按照進程劃分。本發(fā)明實施例提供的實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng),可以是一個獨立進程,也可以和應(yīng)用系統(tǒng)是同一進程。圖3示出了應(yīng)用系統(tǒng)和數(shù)據(jù)庫系統(tǒng)自動優(yōu)化系統(tǒng)的同一進程示意圖。在實際應(yīng)用中,數(shù)據(jù)庫系統(tǒng)自動優(yōu)化系統(tǒng)的進程也可以是不同于應(yīng)用系統(tǒng)的單獨進程,例如圖2也可以表示數(shù)據(jù)庫系統(tǒng)自動優(yōu)化系統(tǒng)與應(yīng)用系統(tǒng)是不同的進程。
下面對本發(fā)明實施例提供的實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的方法進行詳細說明,圖4示出了本發(fā)明實施例提供的實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的方法較佳實施方式流程,該流程包括步驟401采集數(shù)據(jù)庫系統(tǒng)、操作系統(tǒng)、應(yīng)用系統(tǒng)的性能數(shù)據(jù)和數(shù)據(jù)庫系統(tǒng)的SQL運行數(shù)據(jù)。
本步驟中,采集數(shù)據(jù)的方式可以為根據(jù)實際需要設(shè)置采集數(shù)據(jù)的時間間隔,再按照設(shè)置時間間隔進行定時數(shù)據(jù)采集。每一種數(shù)據(jù)的配置情況都與數(shù)據(jù)庫系統(tǒng)的性能有直接關(guān)系。上述采集數(shù)據(jù)的方式為一種較佳實施方式,也可以根據(jù)實際應(yīng)用情況采集上述數(shù)據(jù)的一種或幾種作為后續(xù)優(yōu)化的分析依據(jù)。
步驟402通過采集的數(shù)據(jù)分析數(shù)據(jù)庫系統(tǒng)性能,根據(jù)優(yōu)化規(guī)則對數(shù)據(jù)庫系統(tǒng)配置進行優(yōu)化。
本步驟中,分析步驟401中采集的數(shù)據(jù),獲得對應(yīng)這些數(shù)據(jù)配置的數(shù)據(jù)庫系統(tǒng)性能曲線。按照優(yōu)化規(guī)則,對數(shù)據(jù)庫系統(tǒng)相關(guān)配置進行優(yōu)化。優(yōu)化啟動的條件可以為數(shù)據(jù)庫系統(tǒng)性能下降。
本發(fā)明實施例提供的實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的方法,可以根據(jù)采集到的性能數(shù)據(jù)和SQL運行數(shù)據(jù),對數(shù)據(jù)庫系統(tǒng)配置進行優(yōu)化,優(yōu)化可以依據(jù)優(yōu)化規(guī)則進行。按照這種方法,實現(xiàn)對數(shù)據(jù)庫系統(tǒng)全面長期的自動優(yōu)化,無需專人維護優(yōu)化,可以降低維護成本。如果考慮對優(yōu)化后的數(shù)據(jù)庫系統(tǒng)性能進行檢測,所述步驟302之后可以進一步包括檢測優(yōu)化后數(shù)據(jù)庫系統(tǒng)的性能。
上述本發(fā)明實施例提供的實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的方法較佳實施方式可以應(yīng)用在圖1所示的系統(tǒng)中,圖5示出了本發(fā)明實施例實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的方法基于圖1系統(tǒng)的流程,流程開始后包括以下步驟步驟501性能數(shù)據(jù)采集模塊采集操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)的性能數(shù)據(jù),提供給專家模塊。
本步驟中,性能數(shù)據(jù)采集模塊通過操作系統(tǒng)提供的API或者工具軟件,獲得操作系統(tǒng)內(nèi)存分布數(shù)據(jù),采集操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)的內(nèi)存使用數(shù)據(jù);通過操作系統(tǒng)提供的API或者工具軟件,采集操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)的CPU占用數(shù)據(jù);通過數(shù)據(jù)庫系統(tǒng)提供的API,采集數(shù)據(jù)庫系統(tǒng)高速緩存使用數(shù)據(jù)。這些性能數(shù)據(jù)的配置均對數(shù)據(jù)庫系統(tǒng)的性能有直接影響??梢灶A(yù)先設(shè)置采集數(shù)據(jù)的時間間隔,按照時間間隔定時采集上述數(shù)據(jù)。
步驟502SQL運行數(shù)據(jù)采集模塊采集數(shù)據(jù)庫系統(tǒng)的SQL運行數(shù)據(jù),提供給專家模塊。
本步驟中,SQL運行數(shù)據(jù)采集模塊采集以執(zhí)行頻度高為排序項的SQL語句列表、以訪問頻度高、更新頻度高為排序項的數(shù)據(jù)表列表和執(zhí)行SQL時數(shù)據(jù)表索引的使用情況數(shù)據(jù)。SQL運行數(shù)據(jù)對數(shù)據(jù)庫系統(tǒng)的性能有直接影響??梢灶A(yù)先設(shè)置一個采集數(shù)據(jù)的時間間隔,按照該時間間隔實時采集上述數(shù)據(jù)。
上述步驟501和步驟502的執(zhí)行順序還可以有以下兩種情況。第一種為步驟501和步驟502交換執(zhí)行順序,即SQL運行數(shù)據(jù)采集模塊先采集數(shù)據(jù)庫系統(tǒng)的SQL運行數(shù)據(jù),性能數(shù)據(jù)采集模塊再采集操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)的性能數(shù)據(jù)。第二種為步驟501與步驟502可以并行執(zhí)行,即同SQL運行數(shù)據(jù)采集模塊采集數(shù)據(jù)庫系統(tǒng)的SQL運行數(shù)據(jù),以及性能數(shù)據(jù)采集模塊采集操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)的性能數(shù)據(jù)可以并行執(zhí)行。上述描述的步驟501和步驟502執(zhí)行順序的改變不會對后續(xù)數(shù)據(jù)庫系統(tǒng)的性能分析造成影響。
步驟503專家模塊通過性能數(shù)據(jù)采集模塊提供的性能數(shù)據(jù),以及SQL運行數(shù)據(jù)采集模塊提供的SQL運行數(shù)據(jù),分析數(shù)據(jù)庫系統(tǒng)性能,按照優(yōu)化規(guī)則對數(shù)據(jù)庫系統(tǒng)的配置進行優(yōu)化。
本步驟中,專家模塊分析性能數(shù)據(jù)采集模塊提供的性能數(shù)據(jù),以及SQL運行數(shù)據(jù)采集模塊提供的SQL運行數(shù)據(jù),獲得數(shù)據(jù)庫系統(tǒng)的相關(guān)性能曲線。根據(jù)對數(shù)據(jù)庫性能的分析結(jié)果,專家模塊對數(shù)據(jù)庫系統(tǒng)的配置進行優(yōu)化,優(yōu)化時依據(jù)優(yōu)化規(guī)則,其中啟動優(yōu)化的條件可以為數(shù)據(jù)庫系統(tǒng)性能下降。本步驟中所述的優(yōu)化規(guī)則在初始設(shè)置之后可以動態(tài)更新,也就是說第一次數(shù)據(jù)庫系統(tǒng)的優(yōu)化流程所使用的優(yōu)化規(guī)則是流程開始前設(shè)置的初始優(yōu)化規(guī)則,第一次優(yōu)化流程之后的每一次數(shù)據(jù)庫系統(tǒng)的優(yōu)化流程中所使用的優(yōu)化規(guī)則,都是本次優(yōu)化流程之前最近一次優(yōu)化流程中更新過的優(yōu)化規(guī)則。優(yōu)化規(guī)則的具體更新方法在后續(xù)步驟中詳細描述。
步驟504專家模塊中的檢測模塊對優(yōu)化后的數(shù)據(jù)庫系統(tǒng)性能進行檢查。
本步驟中,專家模塊中的檢測模塊在數(shù)據(jù)庫系統(tǒng)配置優(yōu)化后,自動檢查優(yōu)化后的數(shù)據(jù)庫系統(tǒng)性能。
步驟505判斷步驟504中檢測的數(shù)據(jù)庫性能是否提升,如果優(yōu)化后數(shù)據(jù)庫系統(tǒng)性能得到提升,則返回流程開始狀態(tài),如果優(yōu)化后數(shù)據(jù)庫系統(tǒng)性能下降繼續(xù)執(zhí)行步驟506。
本步驟中,如果步驟504中的檢測結(jié)果是優(yōu)化后數(shù)據(jù)庫系統(tǒng)性能得到了提升,則專家模塊可以不執(zhí)行操作。本步驟中的返回流程開始狀態(tài)是指,在本步驟之后繼續(xù)按照步驟501~步驟505所述的流程對數(shù)據(jù)庫系統(tǒng)的性能進行優(yōu)化。如果檢測結(jié)果是優(yōu)化后數(shù)據(jù)庫系統(tǒng)性能反而下降,則繼續(xù)執(zhí)行步驟506。
步驟506專家模塊中的檢測模塊自主學(xué)習(xí)數(shù)據(jù)庫系統(tǒng)性能下降的配置,在優(yōu)化規(guī)則中更新造成數(shù)據(jù)庫系統(tǒng)性能下降的相關(guān)配置對應(yīng)的優(yōu)化規(guī)則。
本步驟中,專家模塊中的檢測模塊檢查出優(yōu)化后的數(shù)據(jù)庫系統(tǒng)性能反而下降,則自主學(xué)習(xí)引起數(shù)據(jù)庫系統(tǒng)性能下降的相關(guān)配置。在設(shè)置的優(yōu)化規(guī)則中,找到引起數(shù)據(jù)庫系統(tǒng)性能下降的相關(guān)配置所依據(jù)的優(yōu)化規(guī)則,修改或刪除該優(yōu)化規(guī)則。
步驟507專家模塊中的檢測模塊將數(shù)據(jù)庫系統(tǒng)的所有配置恢復(fù)到上一次優(yōu)化后的配置狀態(tài),返回流程開始狀態(tài)。
本步驟中,專家模塊中的檢測模塊將數(shù)據(jù)庫系統(tǒng)的所有配置都恢復(fù)到上一次優(yōu)化后的配置狀態(tài),所述返回流程開始狀態(tài)是指專家模塊將數(shù)據(jù)庫系統(tǒng)的所有配置都恢復(fù)到上一次優(yōu)化后的配置狀態(tài)之后,繼續(xù)按照步驟501~步驟506進行新的優(yōu)化,新的優(yōu)化流程中所使用的優(yōu)化規(guī)則為本次流程中更新后的優(yōu)化規(guī)則。
上述步驟506和步驟507也可以交換執(zhí)行順序,即專家模塊中的檢測模塊先將數(shù)據(jù)庫系統(tǒng)的所有配置恢復(fù)到上一次優(yōu)化后的配置狀態(tài),再自主學(xué)習(xí)引起數(shù)據(jù)庫系統(tǒng)性能下降的相關(guān)配置,刪除或修改該配置對應(yīng)的優(yōu)化規(guī)則,更新優(yōu)化規(guī)則后返回流程開始狀態(tài),繼續(xù)按照步驟501~步驟506進行新的優(yōu)化,新的優(yōu)化流程中所使用的優(yōu)化規(guī)則為本次流程中更新后的優(yōu)化規(guī)則。
上述步驟501~步驟507描述的本發(fā)明實施例實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的方法較佳實施方式基于圖1所示系統(tǒng)的流程,實現(xiàn)對數(shù)據(jù)庫系統(tǒng)性能的長期且全面的優(yōu)化,無需專人進行優(yōu)化維護,降低維護成本,每次優(yōu)化后的數(shù)據(jù)庫系統(tǒng)性能檢測,保證優(yōu)化后數(shù)據(jù)庫系統(tǒng)性能下降時將數(shù)據(jù)庫系統(tǒng)配置恢復(fù)到上一次優(yōu)化后的配置狀態(tài),防止由于優(yōu)化導(dǎo)致數(shù)據(jù)庫系統(tǒng)性能下降造成的影響。
本發(fā)明實施例提供的實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的方法及系統(tǒng),可以針對各種數(shù)據(jù)庫系統(tǒng),例如Sybase ASE數(shù)據(jù)庫系統(tǒng)、MS SQL Server數(shù)據(jù)庫系統(tǒng)、IBM DB2數(shù)據(jù)庫系統(tǒng)或Oracle數(shù)據(jù)庫系統(tǒng)等。
以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng),其特征在于,該系統(tǒng)包括采集模塊和專家模塊;所述采集模塊,采集影響數(shù)據(jù)庫系統(tǒng)性能的相關(guān)數(shù)據(jù)提供給專家模塊;所述專家模塊,通過采集模塊提供的采集數(shù)據(jù)分析數(shù)據(jù)庫系統(tǒng)性能,按照優(yōu)化規(guī)則對數(shù)據(jù)庫系統(tǒng)配置進行優(yōu)化。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述影響數(shù)據(jù)庫系統(tǒng)性能的相關(guān)數(shù)據(jù)包括數(shù)據(jù)庫系統(tǒng)、和/或操作系統(tǒng)、和/或應(yīng)用系統(tǒng)的性能數(shù)據(jù),和/或數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)化查詢語言SQL運行數(shù)據(jù);所述采集模塊包括性能數(shù)據(jù)采集模塊和SQL運行數(shù)據(jù)采集模塊;所述性能數(shù)據(jù)采集模塊,采集數(shù)據(jù)庫系統(tǒng)、和/或操作系統(tǒng)、和/或應(yīng)用系統(tǒng)的性能數(shù)據(jù),將采集的數(shù)據(jù)提供給專家模塊;所述SQL運行數(shù)據(jù)采集模塊,采集數(shù)據(jù)庫系統(tǒng)的SQL運行數(shù)據(jù),將采集的數(shù)據(jù)提供給專家模塊。
3.如權(quán)利要求1或2所述的系統(tǒng),其特征在于,所述專家模塊中進一步包括檢測模塊,用于檢測優(yōu)化后的數(shù)據(jù)庫系統(tǒng)性能,優(yōu)化后數(shù)據(jù)庫系統(tǒng)性能下降時自主學(xué)習(xí)引發(fā)數(shù)據(jù)庫系統(tǒng)性能下降的配置,更新優(yōu)化規(guī)則,并將數(shù)據(jù)庫系統(tǒng)的所有配置恢復(fù)到上一次優(yōu)化后的配置狀態(tài)。
4.一種實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的方法,其特征在于,該方法包括A、采集影響數(shù)據(jù)庫系統(tǒng)性能的相關(guān)數(shù)據(jù);B、通過采集數(shù)據(jù)分析數(shù)據(jù)庫系統(tǒng)的性能,按照優(yōu)化規(guī)則對數(shù)據(jù)庫系統(tǒng)的配置進行優(yōu)化。
5.如權(quán)利要求4所述的方法,其特征在于,所述影響數(shù)據(jù)庫系統(tǒng)性能的相關(guān)數(shù)據(jù)包括數(shù)據(jù)庫系統(tǒng)、和/或操作系統(tǒng)、和/或應(yīng)用系統(tǒng)的性能數(shù)據(jù),和/或數(shù)據(jù)庫系統(tǒng)的SQL運行數(shù)據(jù);步驟A所述采集影響數(shù)據(jù)庫系統(tǒng)性能的相關(guān)數(shù)據(jù)的方法為設(shè)置采集間隔時間,定時采集數(shù)據(jù)庫系統(tǒng)、和/或操作系統(tǒng)、和/或應(yīng)用系統(tǒng)的性能數(shù)據(jù),和/或數(shù)據(jù)庫系統(tǒng)的SQL運行數(shù)據(jù)。
6.如權(quán)利要求5所述的方法,其特征在于,所述數(shù)據(jù)庫系統(tǒng)、和/或操作系統(tǒng)、和/或應(yīng)用系統(tǒng)的性能數(shù)據(jù)包括數(shù)據(jù)庫系統(tǒng)的內(nèi)存使用數(shù)據(jù)、中央處理器CPU占用數(shù)據(jù)、高速緩存使用數(shù)據(jù),和/或操作系統(tǒng)的內(nèi)存分布數(shù)據(jù)、CPU占用數(shù)據(jù),和/或應(yīng)用系統(tǒng)的內(nèi)存使用數(shù)據(jù)、CPU占用數(shù)據(jù);所述采集數(shù)據(jù)庫系統(tǒng)、和/或操作系統(tǒng)、和/或應(yīng)用系統(tǒng)的性能數(shù)據(jù)的方法為通過操作系統(tǒng)提供的應(yīng)用程序接口API或工具軟件獲取操作系統(tǒng)內(nèi)存分布數(shù)據(jù),采集操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)的內(nèi)存使用數(shù)據(jù);通過操作系統(tǒng)提供的API或工具軟件,采集操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)的CPU占用數(shù)據(jù);通過數(shù)據(jù)庫系統(tǒng)提供的API,采集數(shù)據(jù)庫系統(tǒng)高速緩存使用數(shù)據(jù)。
7.如權(quán)利要求5所述的方法,其特征在于,所述數(shù)據(jù)庫系統(tǒng)的SQL運行數(shù)據(jù)包括以執(zhí)行頻度高為排序項的SQL語句列表,和/或以訪問頻度高、更新頻度高為排序項的數(shù)據(jù)表列表,和/或執(zhí)行SQL時數(shù)據(jù)表索引的使用情況數(shù)據(jù)。
8.如權(quán)利要求4或5所述的方法,其特征在于,步驟B所述通過采集數(shù)據(jù)分析數(shù)據(jù)庫系統(tǒng)性能的方法為通過采集數(shù)據(jù)得到數(shù)據(jù)庫系統(tǒng)性能曲線,通過曲線分析數(shù)據(jù)庫系統(tǒng)的性能。
9.如權(quán)利要求4所述的方法,其特征在于,所述優(yōu)化規(guī)則包括內(nèi)存分配優(yōu)化規(guī)則,和/或中央處理器CPU分配優(yōu)化規(guī)則,和/或高速緩存優(yōu)化規(guī)則,和/或索引優(yōu)化規(guī)則,和/或SQL語句優(yōu)化規(guī)則,其中所述內(nèi)存分配優(yōu)化規(guī)則,定義操作系統(tǒng)的內(nèi)存分布最大值大于操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)內(nèi)存最大使用值之和時,為數(shù)據(jù)庫系統(tǒng)分配其內(nèi)存最大使用值;操作系統(tǒng)的內(nèi)存分布最大值小于操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)和應(yīng)用系統(tǒng)內(nèi)存最大使用值之和時,根據(jù)應(yīng)用情況為數(shù)據(jù)庫系統(tǒng)加權(quán)分配內(nèi)存使用值;所述CPU分配優(yōu)化規(guī)則,定義根據(jù)應(yīng)用需要為數(shù)據(jù)庫系統(tǒng)、應(yīng)用系統(tǒng)和操作系統(tǒng)配置占用的CPU數(shù)量;所述高速緩存優(yōu)化規(guī)則,定義根據(jù)應(yīng)用需要為數(shù)據(jù)庫系統(tǒng)配置需要的高速緩存使用值;所述索引優(yōu)化規(guī)則,定義存在索引使用錯誤或缺少索引時,在數(shù)據(jù)庫系統(tǒng)空閑時重新創(chuàng)建該索引;存在索引始終沒有使用或使用頻率低,且數(shù)據(jù)空間容量不足時,刪除該索引;所述SQL語句優(yōu)化規(guī)則,定義由于使用頻率高的SQL語句的編寫,導(dǎo)致其索引沒有正確使用時,根據(jù)SQL語義重新編寫該SQL語句。
10.如權(quán)利要求9所述的方法,其特征在于,所述步驟B之后進一步包括C、檢查優(yōu)化后的數(shù)據(jù)庫系統(tǒng)性能,如果數(shù)據(jù)庫系統(tǒng)性能下降,自主學(xué)習(xí)引起數(shù)據(jù)庫系統(tǒng)性能下降的相關(guān)配置,在優(yōu)化規(guī)則中查找自主學(xué)習(xí)所得的引起數(shù)據(jù)庫系統(tǒng)性能下降的相關(guān)配置對應(yīng)的優(yōu)化規(guī)則,刪除或修改該優(yōu)化規(guī)則,并將數(shù)據(jù)庫系統(tǒng)的所有配置恢復(fù)到上一次優(yōu)化后的配置狀態(tài)。
全文摘要
本發(fā)明公開了一種實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的系統(tǒng),該系統(tǒng)包括采集模塊和專家模塊。所述采集模塊,采集影響數(shù)據(jù)庫系統(tǒng)性能的相關(guān)數(shù)據(jù)提供給專家模塊;所述專家模塊,通過采集模塊提供的采集數(shù)據(jù)分析數(shù)據(jù)庫系統(tǒng)性能,按照優(yōu)化規(guī)則對數(shù)據(jù)庫系統(tǒng)配置進行優(yōu)化。本發(fā)明還公開了一種實現(xiàn)數(shù)據(jù)庫系統(tǒng)自動優(yōu)化的方法。應(yīng)用本發(fā)明,可以實現(xiàn)對數(shù)據(jù)庫系統(tǒng)進行全面長期的自動優(yōu)化。
文檔編號G06F17/30GK101059810SQ200710087530
公開日2007年10月24日 申請日期2007年3月16日 優(yōu)先權(quán)日2007年3月16日
發(fā)明者林云凌 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
中西区| 尼木县| 盱眙县| 九江市| 东山县| 利川市| 都昌县| 石门县| 渝北区| 海淀区| 明水县| 湖北省| 阿尔山市| 西昌市| 固原市| 鄄城县| 睢宁县| 同德县| 明溪县| 延安市| 通榆县| 铜鼓县| 玛沁县| 炉霍县| 进贤县| 宁远县| 普宁市| 余庆县| 吴川市| 长兴县| 剑河县| 镇沅| 治多县| 桦南县| 达日县| 乌恰县| 崇州市| 阳东县| 漾濞| 陆丰市| 洪湖市|