數(shù)據(jù)庫使用與維護(hù)必" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 信息時(shí)代 > 數(shù)據(jù)庫性能優(yōu)化(數(shù)據(jù)庫)

數(shù)據(jù)庫性能優(yōu)化(數(shù)據(jù)庫)

時(shí)間:2022-11-19 12:30:02 | 來源:信息時(shí)代

時(shí)間:2022-11-19 12:30:02 來源:信息時(shí)代

    數(shù)據(jù)庫性能優(yōu)化 : 在數(shù)據(jù)庫運(yùn)行維護(hù)期內(nèi),隨著數(shù)據(jù)規(guī)模和用戶數(shù)量的增加,數(shù)據(jù)庫的性能不能滿足要求時(shí),對(duì)數(shù)據(jù)庫的性能進(jìn)行調(diào)整優(yōu)化的過程,是一項(xiàng)長期的系統(tǒng)維護(hù)任務(wù)。
數(shù)據(jù)庫使用與維護(hù)必須考慮數(shù)據(jù)庫的性能,對(duì)數(shù)據(jù)庫性能進(jìn)行監(jiān)測與調(diào)整。數(shù)據(jù)庫性能可以定義為資源的優(yōu)化使用以及提高吞吐量并減少競爭,從而使得工作負(fù)載能夠最大限度地得以處理。有效的性能監(jiān)測和調(diào)整策略不僅需要DBMS的專門技術(shù),同時(shí)也需要數(shù)據(jù)庫管理范圍以外的知識(shí)。處理性能問題實(shí)際上是一種遍布整個(gè)企業(yè)的行為。
影響數(shù)據(jù)庫性能主要有五種因素:
(1)工作負(fù)載:向數(shù)據(jù)庫管理系統(tǒng)所提交的處理請求定義了系統(tǒng)的工作負(fù)載。它由聯(lián)機(jī)事務(wù)、批處理作業(yè)、分析查詢及隨時(shí)提交給系統(tǒng)的命令構(gòu)成。工作負(fù)載隨時(shí)有可能會(huì)產(chǎn)生劇烈的波動(dòng)。有些工作負(fù)載可以事先預(yù)測,但有些則是不可預(yù)測的??傮w工作負(fù)載是影響數(shù)據(jù)庫性能的主要因素。
(2)吞吐量:定義了計(jì)算機(jī)硬件和軟件處理數(shù)據(jù)的整體能力。它是I/O速度、CPU速度、機(jī)器的并行能力、操作系統(tǒng)和系統(tǒng)軟件效率的綜合體。
(3)資源:系統(tǒng)中可供支配的軟件、硬件工具稱為系統(tǒng)的資源。資源的實(shí)例包括數(shù)據(jù)庫內(nèi)核、磁盤空間、高速緩存控制器、微代碼等。
(4)優(yōu)化:優(yōu)化是指通過查詢的代價(jià)規(guī)則對(duì)數(shù)據(jù)庫請求進(jìn)行分析,從而生成對(duì)所需數(shù)據(jù)的高效訪問路徑。任何類型的系統(tǒng)都可以進(jìn)行優(yōu)化,但是只有關(guān)系型查詢通過深入DBMS內(nèi)部率先實(shí)現(xiàn)了優(yōu)化。例如,SQL語句、數(shù)據(jù)庫參數(shù)、高效的程序設(shè)計(jì)等,以保證數(shù)據(jù)庫優(yōu)化器能夠產(chǎn)生最高效的訪問路徑。
(5)競爭:當(dāng)對(duì)特定的資源請求頻率非常高,且工作負(fù)載重時(shí),就會(huì)產(chǎn)生競爭。所謂競爭就是工作負(fù)載的兩個(gè)或更多元素試圖以一種相互沖突的方式同時(shí)使用一種單一的資源的情況,比如對(duì)同一數(shù)據(jù)進(jìn)行雙重更新的情形。當(dāng)競爭增加時(shí),吞吐量就會(huì)降低。
由于在數(shù)據(jù)庫的整個(gè)生命周期中開發(fā)周期比較短,不可能對(duì)業(yè)務(wù)需求、使用特性、數(shù)據(jù)規(guī)模等完全正確地理解與掌握,再加上運(yùn)行期內(nèi)業(yè)務(wù)的變化,因此,在運(yùn)行期內(nèi)可能會(huì)出現(xiàn)性能問題,需要對(duì)數(shù)據(jù)庫的性能進(jìn)行優(yōu)化。性能調(diào)整的目標(biāo)是通過最大限度地降低網(wǎng)絡(luò)通信、減少磁盤I/O和CPU時(shí)間,使所有用戶的請求都可以在規(guī)定的時(shí)間內(nèi)得到響應(yīng)。性能優(yōu)化主要涉及到應(yīng)用程序改進(jìn)(業(yè)務(wù)邏輯的實(shí)現(xiàn))、服務(wù)器調(diào)整和硬件的擴(kuò)容。
應(yīng)用程序優(yōu)化的主要措施有: 調(diào)整數(shù)據(jù)訪問策略(如分頁查詢)、增加本地?cái)?shù)據(jù)存儲(chǔ)(如只讀數(shù)據(jù)存放在本地)等。
服務(wù)器調(diào)整涉及的面比較廣,主要包括: 改變訪問策略以減少資源開銷、數(shù)據(jù)結(jié)構(gòu)的變化(一般采取反規(guī)范化技術(shù),增加數(shù)據(jù)冗余)、引入合適的索引、刪除不恰當(dāng)?shù)乃饕?、避免運(yùn)行中的排序、盡量避免表之間的連接運(yùn)算、使用存儲(chǔ)過程、避免不必要的數(shù)據(jù)在網(wǎng)上傳輸、物理與邏輯存儲(chǔ)策略的調(diào)整(提高I/O并行度)、系統(tǒng)參數(shù)調(diào)整以及操作系統(tǒng)的調(diào)優(yōu)等。
硬件擴(kuò)容主要包括: 增加CPU的處理能力、提高網(wǎng)絡(luò)帶寬、提高I/O速度、增加內(nèi)存,在分布式系統(tǒng)的情況下,還可以增加節(jié)點(diǎn)。
數(shù)據(jù)庫性能優(yōu)化的主要步驟為:
(1)分析識(shí)別問題:分析與識(shí)別引起性能低下的主要原因,并收集數(shù)據(jù)庫運(yùn)行資料以確認(rèn)問題。這一步需要數(shù)據(jù)庫管理員認(rèn)真分析數(shù)據(jù)訪問策略、存儲(chǔ)策略、處理策略,此時(shí)應(yīng)充分利用數(shù)據(jù)庫管理系統(tǒng)收集的訪問信息和SQL語句分析工具。
(2)優(yōu)化方案設(shè)計(jì): 針對(duì)性能低下的主要問題,運(yùn)用各種策略,設(shè)計(jì)應(yīng)對(duì)方案。
(3)優(yōu)化方案驗(yàn)證:驗(yàn)證優(yōu)化方案是否能夠解決性能問題。
(4)優(yōu)化方案實(shí)施: 在運(yùn)行系統(tǒng)上實(shí)施優(yōu)化方案。
(5)跟蹤與監(jiān)視:優(yōu)化之后,還需要運(yùn)用適當(dāng)?shù)谋O(jiān)視策略進(jìn)一步跟蹤系統(tǒng)的運(yùn)行,以便及時(shí)發(fā)現(xiàn)新的性能問題。
由此可見,數(shù)據(jù)庫性能的優(yōu)化是數(shù)據(jù)庫管理員的一項(xiàng)長期的工作。在數(shù)據(jù)庫運(yùn)行的初期,數(shù)據(jù)規(guī)模和用戶量都比較小,性能問題不會(huì)太突出,但隨著數(shù)據(jù)庫系統(tǒng)的運(yùn)行,性能問題就會(huì)凸現(xiàn)出來,數(shù)據(jù)庫管理員就要在開發(fā)人員的協(xié)助下不斷地對(duì)系統(tǒng)進(jìn)行完善和改進(jìn),才能夠滿足系統(tǒng)吞吐量和響應(yīng)時(shí)間的要求。
在數(shù)據(jù)庫優(yōu)化的過程中經(jīng)常需要涉及到如下三個(gè)方面的工作:
(1)數(shù)據(jù)庫重組織(database reorganization): 數(shù)據(jù)庫運(yùn)行一段時(shí)間后,由于記錄的增、刪、改,會(huì)使數(shù)據(jù)庫的物理存儲(chǔ)變壞,降低了數(shù)據(jù)的存取效率,數(shù)據(jù)庫性能下降,這時(shí)DBA就要對(duì)數(shù)據(jù)庫進(jìn)行重組織或部分重組織(只對(duì)頻繁增、刪的表進(jìn)行重組織)。DBMS一般都提供了重組織數(shù)據(jù)庫使用的實(shí)用程序,幫助DBA重新組織數(shù)據(jù)庫。在重組織過程中,按原設(shè)計(jì)要求重新安排存儲(chǔ)位置,回收垃圾,減少指針鏈,提高系統(tǒng)性能,但數(shù)據(jù)庫的重組織不會(huì)改變原設(shè)計(jì)的數(shù)據(jù)邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。
(2)數(shù)據(jù)重裝(reloading data): 先用系統(tǒng)提供的工具將數(shù)據(jù)卸下,保留數(shù)據(jù)庫的結(jié)構(gòu)型描述,清除庫中一切數(shù)據(jù)及垃圾(即已經(jīng)被做上刪除標(biāo)志的記錄),再用系統(tǒng)提供的工具將卸下的有用數(shù)據(jù)重裝入庫中,這一過程叫做數(shù)據(jù)重裝。經(jīng)重裝后可以減少數(shù)據(jù)庫中的“碎片”記錄,恢復(fù)數(shù)據(jù)庫的運(yùn)行效率。
(3)數(shù)據(jù)庫重構(gòu)(database restructuring): 當(dāng)數(shù)據(jù)庫系統(tǒng)在運(yùn)行中已不能滿足新的用戶需求時(shí),需要改變數(shù)據(jù)庫的結(jié)構(gòu),例如,增加新的字段,或增加新的字段(或關(guān)系)型,這時(shí)便需要對(duì)數(shù)據(jù)庫重新構(gòu)造,簡稱數(shù)據(jù)庫重構(gòu)。

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉