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