吳挺
摘要:企業(yè)級數(shù)據(jù)庫應用系統(tǒng)不僅數(shù)據(jù)量較大,同時對并行訪問的需求也比較高,因此訪問數(shù)據(jù)庫過程中不可避免的會面臨一些問題,因此如何快速處理數(shù)據(jù)成為人們關(guān)注的問題。文章主要介紹了幾種JDBC訪問類型,并在其分析與對比基礎上提出了使用過程中的選擇協(xié)議,利用JDBC建立數(shù)據(jù)庫連接的同時提出了連接池技術(shù),就如何提升企業(yè)級應用系統(tǒng)數(shù)據(jù)庫訪問率提出了一些見解,供大家參考。
關(guān)鍵詞:企業(yè)級應用系統(tǒng);數(shù)據(jù)庫訪問;優(yōu)化策略
中圖分類號:TP311.13 文獻標識碼:A 文章編號:1007-9416(2017)02-0234-01
1 數(shù)據(jù)庫設計概述
數(shù)據(jù)庫設計具體包括邏輯與物理設計兩方面內(nèi)容,其中邏輯設計主要是指利用數(shù)據(jù)庫組件進行數(shù)據(jù)建模,不需要考慮在哪里存儲數(shù)據(jù),物理設計是指將邏輯映射到媒體上,利用軟硬件加強對數(shù)據(jù)庫的物理訪問和維護。
1.1 邏輯數(shù)據(jù)庫設計
邏輯設計的主要目的在于產(chǎn)生一個數(shù)據(jù)模型與數(shù)據(jù)庫模式,該模式一定要滿足數(shù)據(jù)庫在一致性、完整性等方面的用戶需求,將冗余數(shù)據(jù)去除,同時提升數(shù)據(jù)的吞吐量,充分保證數(shù)據(jù)的完整性,將數(shù)據(jù)元素清楚的表達出來。通常情況下數(shù)據(jù)庫邏輯設計應遵循規(guī)范化前三級標準,第一范式需要除去任何多值屬性,第二范式中每個非關(guān)鍵字字段都要依賴于關(guān)鍵字,而第三范式則是在第二范式的基礎上對關(guān)鍵字段函數(shù)進行傳遞。
1.2 物理數(shù)據(jù)庫設計
大部分情況下系統(tǒng)使用的數(shù)據(jù)庫管理技術(shù)一旦被選定,那么就確定了很多物理數(shù)據(jù)庫設計的問題。在物理設計中為了避免降低系統(tǒng)性能,開發(fā)人員必須遵循以下幾方面策略:①為每個屬性選擇合理的數(shù)據(jù)類型,以達到存儲空間最小、性能最佳;②將數(shù)據(jù)庫分區(qū),將大表拆成不同的小表,在提升查詢速度的同時使任務更快得到執(zhí)行和維護;③利用文件組放置數(shù)據(jù),將相似的結(jié)構(gòu)放在同一文件組中,在文件組創(chuàng)建索引,利用控制器和物理驅(qū)動器提升性能;④優(yōu)化數(shù)據(jù)庫日志,具體來說可以從下面幾方面進行考慮:第一,在單獨磁盤上創(chuàng)建日志,第二,將文件初始設置值設計為最小,需要更多日志空間時可以進行自動擴展,第三,利用手工方式收縮日志文件。
2 數(shù)據(jù)庫訪問的優(yōu)化策略
在實際應用過程中可以總結(jié)出很多改進數(shù)據(jù)庫的方法,促進數(shù)據(jù)庫執(zhí)行效率的提升,下面以自行開發(fā)的企業(yè)管理系統(tǒng)為例,結(jié)合變成經(jīng)驗進行論述和分析。
2.1 選擇合適的驅(qū)動程序
企業(yè)級應用系統(tǒng)驅(qū)動程序?qū)又泄灿兴姆N類型的驅(qū)動類型,在訪問數(shù)據(jù)庫方面不同類型驅(qū)動程序各有優(yōu)劣勢:①JDBC——ODBC橋驅(qū)動程序,ODBC規(guī)范都是活的DBMS支持的,它的配置非常簡單,因此可以將其作為具體開發(fā)應用中的一個選擇,但是它也有一定的不足,比如執(zhí)行效率比較低,對于存取應用大數(shù)據(jù)量是不適合的,同時還必須在客戶端上安裝ODBC驅(qū)動,和遠程數(shù)據(jù)庫訪問不適合;②本地API驅(qū)動程序,和類型一相比這種類型充分借鑒并利用了客戶端本地代碼率,數(shù)據(jù)訪問執(zhí)行也得到了加速,但是這種類型有效摒除了ODBC標準,為廠商自己指定的性能擴展提供支持,和類型三相比,這種類型利用多層結(jié)構(gòu),跨平臺應用非常有利,下層可以改成本地代碼,可以有效加速執(zhí)行速度,和類型四相比,這種類型可以和數(shù)據(jù)庫實現(xiàn)緊密結(jié)合,大大提升了數(shù)據(jù)庫性能;③網(wǎng)絡協(xié)議驅(qū)動協(xié)議,提供了對多種數(shù)據(jù)庫的支持,靈活性非常強,還提供了很多企業(yè)級特征,例如支持分布式事物處理、集中管理等;④本地協(xié)議驅(qū)動程序,可以為數(shù)據(jù)庫提供應用類型驅(qū)動程序接口,其優(yōu)勢在于可以和數(shù)據(jù)庫緊密結(jié)合,是企業(yè)級應用系統(tǒng)的首選。
2.2 使用連接池
在數(shù)據(jù)庫訪問模式中,需要利用JDBC建立數(shù)據(jù)庫連接,因此對連接的管理直接決定了應用性能,現(xiàn)階段對連接最有效的管理策略就是連接池技術(shù)。如果用戶需要對數(shù)據(jù)庫進行操作,而連接池中又沒有可用的連接對象,那么用戶必須等待,直到有連接對象。
2.3 使用預處理
當數(shù)據(jù)庫發(fā)送一個語句,數(shù)據(jù)庫中的解釋器就會將其生成底層的內(nèi)部命令,然后對該命令進行執(zhí)行,通過這樣的過程將相關(guān)數(shù)據(jù)操作完成,如果不停的將語句發(fā)給數(shù)據(jù)庫,數(shù)據(jù)庫解釋器的負擔必然會加重,進而對其執(zhí)行速度造成不利影響,這樣就需要應用程序針對數(shù)據(jù)庫,實現(xiàn)將接收的語句解釋成數(shù)據(jù)庫底層的命令,再對該命令進行執(zhí)行,這樣一來不僅可以使數(shù)據(jù)庫的負擔得到減輕,同時數(shù)據(jù)庫的訪問速度也會得到提升。
3 結(jié)語
綜上所述,針對企業(yè)級應用系統(tǒng)來說,恰當?shù)倪x擇驅(qū)動程序,合理的使用連接池和預處理等方式非常重要,可以有效優(yōu)化數(shù)據(jù)訪問,提高數(shù)據(jù)庫的訪問效率??v觀當前的企業(yè)級應用系統(tǒng)數(shù)據(jù)庫,各方面還存在一定問題,還需要在未來的工作中不斷完善,同時這也是后續(xù)工作的重點所在。
參考文獻
[1]張德勝,馮登國,陳馳.一種面向空間數(shù)據(jù)庫矢量數(shù)據(jù)的授權(quán)模型與實現(xiàn)方法[J].計算機研究與發(fā)展,2011,08:1524-1533.
[2]仰燕蘭,葉樺,費樹岷.車輛定位監(jiān)控系統(tǒng)數(shù)據(jù)庫的設計與優(yōu)化[J].東南大學學報(自然科學版),2010,S1:43-47.
[3]劉樹軍,畢利.J2EE應用系統(tǒng)中EJB分布式組件性能優(yōu)化的研究[J].寧夏工程技術(shù),2010,04:322-325.
[4]張孝斌,王超.基于PL/SQL的批量處理應用的性能優(yōu)化策略[J].計算機系統(tǒng)應用,2016,05:1-7.