神經(jīng)網(wǎng)絡(luò)思想是一種新型的計(jì)算機(jī)算法思想和技術(shù),它源于動物的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)所體現(xiàn)出的學(xué)習(xí)和聯(lián)想能力,在應(yīng)用到計(jì)算機(jī)方面能夠反映諸多的非線性映射關(guān)系,并在數(shù)據(jù)庫查詢優(yōu)化上有著非常大的優(yōu)勢。本文以事務(wù)鎖查詢優(yōu)化為案例,對神經(jīng)網(wǎng)絡(luò)思想切入數(shù)據(jù)庫查詢優(yōu)化的應(yīng)用展開研究,發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)思想能夠高效快速的識別,提升事務(wù)的執(zhí)行效率,進(jìn)而提升數(shù)據(jù)庫的查詢效率。
【關(guān)鍵詞】神經(jīng)網(wǎng)絡(luò) 數(shù)據(jù)庫 查詢優(yōu)化 應(yīng)用
神經(jīng)網(wǎng)絡(luò)思想是以人體的神經(jīng)系統(tǒng)為參考而創(chuàng)立的,并模仿人體記憶和訓(xùn)練的過程。由于神經(jīng)網(wǎng)絡(luò)能夠體現(xiàn)出聯(lián)想記憶和數(shù)據(jù)非線性映射的特征,因而在數(shù)據(jù)識別方面具有顯著的優(yōu)勢,并被廣泛的運(yùn)用到數(shù)據(jù)庫查詢優(yōu)化中。
1 神經(jīng)網(wǎng)絡(luò)簡介
從生物學(xué)角度來說,神經(jīng)網(wǎng)絡(luò)位于動物的大腦中,并成為其組成部分之一。在此基礎(chǔ)上,科學(xué)家將其遷移到網(wǎng)絡(luò)環(huán)境并發(fā)明了人工神經(jīng)網(wǎng)絡(luò)模型。神經(jīng)網(wǎng)絡(luò)的目的在于,模仿人類大腦內(nèi)部的某些機(jī)理和功能,將網(wǎng)絡(luò)的功能擴(kuò)大化。而這種思想并不是想要徹底取代傳統(tǒng)的計(jì)算機(jī),而是想要在現(xiàn)有計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域進(jìn)行深入研究,著重解決那些利用傳統(tǒng)計(jì)算方式非常困難的問題領(lǐng)域。神經(jīng)網(wǎng)絡(luò)即使一個(gè)計(jì)算機(jī)概念,也是一個(gè)數(shù)學(xué)概念。作為一項(xiàng)新鄉(xiāng)的研究領(lǐng)域技術(shù),迅速引起了科學(xué)家們的廣泛關(guān)注,并開展了大量的研究和探討。
2 神經(jīng)網(wǎng)絡(luò)思想在數(shù)據(jù)庫查詢優(yōu)化方面的優(yōu)勢
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的快速發(fā)展,數(shù)據(jù)庫系統(tǒng)技術(shù)也在突飛猛進(jìn)。目前,國內(nèi)外的大型企業(yè)為了處理海量的數(shù)據(jù)和高并發(fā),紛紛采用大型的分布式數(shù)據(jù)庫系統(tǒng)。而根據(jù)傳統(tǒng)的分布式系統(tǒng)理論,在分布式系統(tǒng)中大部分的處理單元都屬于自律要素,并且通過這些處理單元彼此之間產(chǎn)生的作用來決定該系統(tǒng)的整體處理性能高低。然而,這些自律要素之間卻存在較大的差異,有的處理能力較強(qiáng),有的則較弱。因而,其總體處理效率通常受到一些低處理能力的自律要素所限制。而在人工神經(jīng)網(wǎng)絡(luò)模型中,通常都會假設(shè)單個(gè)神經(jīng)元的處理能力非常簡單,并通過興奮性或抑制性信號與其他單元完成通信。而每個(gè)神經(jīng)元都代表一個(gè)假設(shè),不同神經(jīng)元之間產(chǎn)生相互作用則可以證明假設(shè)的成立。
根據(jù)以上的分析,可以歸納出神經(jīng)網(wǎng)絡(luò)思想在數(shù)據(jù)庫查詢優(yōu)化方面的幾個(gè)特征:
(1)能夠在極端的時(shí)間間隔內(nèi)找到較好,但不一定是最佳的解決方案。
(2)對于同一個(gè)問題的處理,是由許多的簡單的處理單元共同完成的。
(3)以假設(shè)、模糊或者矛盾等方法對數(shù)據(jù)進(jìn)行分析并試圖尋找解決方案。
(4)容錯(cuò)能力強(qiáng)。
而在上述的四個(gè)特征當(dāng)中,第一個(gè)非常突出,這也是啟發(fā)式算法的核心特征。因此,在許多情況下,尤其是一些實(shí)際問題,在對數(shù)據(jù)庫進(jìn)行查詢時(shí),一些所謂的最佳算法通常計(jì)算時(shí)間較長,或者隨著問題規(guī)模的增長,其計(jì)算時(shí)間也會呈現(xiàn)出指數(shù)級的增長速度。而利用神經(jīng)網(wǎng)絡(luò)思想的啟發(fā)式算法則可以在最短的時(shí)間找出一個(gè)較好的答案。
3 神經(jīng)網(wǎng)絡(luò)在數(shù)據(jù)庫查詢優(yōu)化中的具體應(yīng)用
增、刪、改、查是數(shù)據(jù)庫的四大基本操作,而查詢時(shí)使用頻率最高的一種操作。因此,必然要對查詢進(jìn)行深入優(yōu)化,以提升查詢效率,減少查詢時(shí)間。傳統(tǒng)的數(shù)據(jù)庫查詢優(yōu)化方式通常包含增加索引、改變模式、修改事務(wù)隔離級別等。然而這些方案通常都會對整個(gè)數(shù)據(jù)庫系統(tǒng)產(chǎn)生影響,還會產(chǎn)生一些不利影響。而想要避免這些不利影響,并將查詢效率提高,最佳的方案就是重寫查詢語句。在影響數(shù)據(jù)庫查詢效率的諸多因素中,事務(wù)是最主要的一個(gè)因素。因此,本文將以事務(wù)為例,利用神經(jīng)網(wǎng)絡(luò)的思想對其進(jìn)行優(yōu)化。
在對事務(wù)進(jìn)行處理時(shí),鎖查詢優(yōu)化是一個(gè)非常關(guān)鍵的問題。如果采用神經(jīng)網(wǎng)絡(luò)思想,可以從如下幾個(gè)方面對其進(jìn)行優(yōu)化。
(1)使用單獨(dú)的程序來處理那些較為復(fù)雜耗時(shí)的讀操作。
(2)去除多余的鎖。
(3)對事務(wù)進(jìn)行再次分割,分成更小的事務(wù)單元。
(4)在不影響應(yīng)用正常使用的前提下,降低事務(wù)的隔離級別。
(5)根據(jù)程序的要求,選取合適的粗粒度鎖或細(xì)粒度鎖。
(6)只有對數(shù)據(jù)庫的訪問量很少時(shí),采取修改數(shù)據(jù)庫的結(jié)構(gòu)。
(7)死鎖監(jiān)測周期的查詢優(yōu)化。
上述七點(diǎn)建議雖然可以單獨(dú)使用,但是融合到一起,效果會更好。沒一點(diǎn)都是對神經(jīng)網(wǎng)絡(luò)思想的貫徹。例如,在選擇降低事務(wù)隔離級別的時(shí)候,可以運(yùn)用單層的前向神經(jīng)網(wǎng)絡(luò)思想來進(jìn)行確定。具體實(shí)驗(yàn)原理為,同時(shí)開啟多個(gè)線程,通過持續(xù)的反復(fù)執(zhí)行對同一個(gè)賬戶的總余額查詢事務(wù)和多個(gè)轉(zhuǎn)賬事務(wù)。為了不影響數(shù)據(jù)的正常使用,可以首先使用模擬數(shù)據(jù)來實(shí)驗(yàn)。同樣也可以獲得期望的結(jié)果,包含可串行化的影響,死鎖可能性,阻塞可能性,隔離級別等。在這個(gè)實(shí)驗(yàn)的基礎(chǔ)上,可以構(gòu)建出如下的單層前向神經(jīng)網(wǎng)絡(luò),如圖1所示。在該神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,主要包含了輸入層和輸出層。其中輸出層的作用是,對輸入層的數(shù)據(jù)和期望結(jié)果加以比較,并確定其權(quán)數(shù)。最紅,把該權(quán)數(shù)應(yīng)用到實(shí)際問題當(dāng)中。因此,單層神經(jīng)網(wǎng)絡(luò)包含如下三個(gè)環(huán)節(jié):確定期望結(jié)果參數(shù),確定權(quán)數(shù),實(shí)際應(yīng)用。
此外,在一些情況下,增加數(shù)據(jù)的事務(wù)會把每條新增記錄的唯一標(biāo)識進(jìn)行關(guān)聯(lián)。但是當(dāng)并發(fā)量較大時(shí),神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)就必須要進(jìn)行有效的協(xié)調(diào),避免出現(xiàn)唯一標(biāo)識重復(fù)或沖突的問題。然而,傳統(tǒng)的做法是依賴于數(shù)據(jù)庫內(nèi)部的計(jì)數(shù)器。具體做法是在新增數(shù)據(jù)事務(wù)開始時(shí),首先該計(jì)數(shù)器加1,之后進(jìn)行插入操作,之后提交事務(wù)。但是,從操作效率上來說,多了一個(gè)計(jì)數(shù)器,就多增加了計(jì)算的時(shí)間,而事務(wù)又是相互隔離,一個(gè)事物未提交,另一個(gè)事物讀取的計(jì)數(shù)器的值可能會出現(xiàn)差錯(cuò)。因此,傳統(tǒng)的計(jì)數(shù)器方式無法很好的解決這個(gè)問題。而使用一種非線性激活函數(shù)的前向神經(jīng)網(wǎng)絡(luò)則提供了一種新的解決方式。例如可以把激活函數(shù)設(shè)定為符號函數(shù),閥值為0,這樣就能夠識別XOR(異或)問題。并且這種思想較為簡單,識別能力較強(qiáng),對于上述的協(xié)調(diào)工作非常具有優(yōu)勢,因而在數(shù)據(jù)庫的查詢優(yōu)化方面有著較多的應(yīng)用。
4 結(jié)語
綜上所述,神經(jīng)網(wǎng)絡(luò)思想在數(shù)據(jù)庫查詢優(yōu)化上的核心切入點(diǎn)在于高效快速的解決識別問題,方便快捷,容錯(cuò)率較高,因而具有十分廣泛的應(yīng)用。
參考文獻(xiàn)
[1]樊紅珍.基于神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)庫優(yōu)化查詢方法研究[J].電腦知識與技術(shù),2017(04):1-3.
[2]孫國社,李艷玲,王明章.基于神經(jīng)網(wǎng)絡(luò)的動態(tài)查詢構(gòu)件設(shè)計(jì)及實(shí)現(xiàn)[J].計(jì)算機(jī)與信息技術(shù),2010(Z2):41-44.
[3]吳樹榮.神經(jīng)網(wǎng)絡(luò)思想切入數(shù)據(jù)庫查詢優(yōu)化的應(yīng)用研究[J].中小企業(yè)管理與科技(上旬刊),2009(05):283-284.
作者簡介
劉嬋(1984-),女,山西省太原市人。中北大學(xué)軟件工程碩士,助理實(shí)驗(yàn)師。
作者單位
忻州師范學(xué)院 山西省忻州市 034000