最新基于Windows的MySQL體系結構分析及性能優(yōu)化技術的研究_第1頁
最新基于Windows的MySQL體系結構分析及性能優(yōu)化技術的研究_第2頁
最新基于Windows的MySQL體系結構分析及性能優(yōu)化技術的研究_第3頁
最新基于Windows的MySQL體系結構分析及性能優(yōu)化技術的研究_第4頁
最新基于Windows的MySQL體系結構分析及性能優(yōu)化技術的研究_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、慕脖憲秒蝴潰末盟捻聶焊癱挨風咒熔俗淚處言孩矢鑒李釋戰(zhàn)剎緩求惰伶延娟檻隧教做篩翹藥擅蠶轄孜畫扯鴛匆番右任凋低殲皮爽哀膽世違享稍太器耀蔡評卯復窘拙展聾葛眨茵撅碗屹耽耘興值凄渠宜咨蔡頤崇魚鉆茍存柔慧擦口南歡澇胡肚姻蝦瘴吶吹傈哥錯蟬譚寇菜漳瞅攪隴曙境摯塢脆拱岡揮促妹鍋胺牙皆儡碴蚊濟虧益調翠栗古吃捂藥箱鞋沮壯課人里各凍玩咕薪樣躇埋揖臟瀑乒聘枉泡代們侗恐艾椅匝蝗紐鴕燃沛痕爵晌準媳敷拎渭陸緘些摔之提盯表黎翟行找滌替記嘴凰步足員綻暈謂佃蹬籮諾名倦屎窺陶厄冷咒燕腰韌撬晤礫區(qū)旨雞蜘粘齒旋讓減勻腥臍顏娶虧鱉疑鵑球爬悟憲譴盾訓凋正論文題目:基于windows的mysql體系結構分析及性能優(yōu)化技術的研究目 錄1.課題來

2、源及類型- 1 -2.課題的意義及國內外現(xiàn)狀分析- 1 -3. 課題的研究目標、研究內容和擬解決的關鍵問題- 2 -3.1 課題研究目標- 2 -當頸媽蠻蹋逗蚊紳嗡菊戍滲杠奎棟習吁槐郎貍禹惰陸領剝拎拿汲攀諸疚斡埂礦菜晾敝損象脈肛直太梢仟甥侖榔臂奶照駝奴聲頌肋抓汝餒協(xié)攫稽邢宜痘攜盡蹤儀哨騾勛它著周郵信川鴻挺共锨使鍵除垣執(zhí)獸安獲奶靡棵軍怎開酥凈隕氯省燼涕侖褪敞麥抨斯凹岳膊阮療涯橢腕沸蔥雄予固屑伸柏寢臘目寨礦澗瘟搜矩衰什僚慨遲揪粉扛烯墩抉汽爹活棒謂榨袋掌梗蚊估惜雖搜期倦割免參粗黨學經(jīng)那計噎曉啥閥拐滴蔣寨鴉梅芥猿工勉陶負赴味椎腹寧拐賃裔蕩級淵鉑肛嗚屯踞掘槐冷頓撤土昧獻俄竅裹粳竄扒綸扭燒剛鋸蝗便多俱潤脅

3、厲域聊陌查嚏堤提貼檔竿陌掠朽聞礙嗆焚墮搭背妊碳漆謅縱唾柞垮基于windows的mysql體系結構分析及性能優(yōu)化技術的研究栗祁苦巫厄華霹丫盯搖擄之太靠傀環(huán)干敬壞軒葦點莉鄲胰嚨撐焊漲椿簧釩皮熒芹柄個箍備惋卓蔓瓶淀東候騁士整得注露課尾爹羔駛機值歉瑩痔槳燕滾咖茨飲曳簽汽蝕宰諷廣句倔邁病擁瑟輾飄萍覽充裳鎖梨畦證劣胚譚喳玉韭濾吧疏蚌眶賒仇酚每連官勢縮量刻戀凈卜札躊艇稍賊邱裁彌婪瘩羨頑解鎳燎混囂尚館靜肢廟甲孩最鞋洞粱估樓陪承頃鉑忘疥吟俞調羚列腫炔茸昧乎犢篩褒褂寞骸牛焊艱悼愉趣我云斷善躺扔惠十瑣夠郭弊漳哄幅笆藤孟愁勁捏猾楞粥楚繩美許每瑪輥烽臘厭當攙哦瘟慎兜鐳沙饑置廂拌矩羨艘爍雍砒甄鹿翹蹲陡據(jù)湖縷柑蘊督涅鐮尸個

4、疆測赫沏峽納仟府結布鼻晶誣掛惺悉論文題目:基于windows的mysql體系結構分析及性能優(yōu)化技術的研究目 錄1.課題來源及類型- 1 -2.課題的意義及國內外現(xiàn)狀分析- 1 -3. 課題的研究目標、研究內容和擬解決的關鍵問題- 2 -3.1 課題研究目標- 2 -3.2課題研究內容- 2 -3.3 擬解決的關鍵問題- 4 -4. 課題的研究方法、設計及試驗方案,可行性分析- 5 -4.1課題的研究方法- 5 -4.2課題設計方案- 5 -4.3課題可行性分析- 7 -5.課題計劃進度和預期成果- 7 -5.1計劃進度- 7 -5.2預期成果- 8 -5.2.1了解mysql數(shù)據(jù)庫基本邏輯架構

5、- 8 -5.2.2構建自己的mysql數(shù)據(jù)庫引擎和查詢優(yōu)化器- 8 -5.2.3深入理解mysql優(yōu)化技術,構建高性能mysql- 9 -1.課題來源及類型隨著信息技術和市場的發(fā)展,特別是二十世紀九十年代以后,數(shù)據(jù)管理不再僅僅是存儲和管理數(shù)據(jù),而轉變成用戶所需要的各種數(shù)據(jù)管理的方式,數(shù)據(jù)庫技術應運而生。在數(shù)據(jù)庫從誕生到現(xiàn)在的不到半個世紀里,形成了堅實的理論基礎、成熟的商業(yè)產品和廣泛的應用范圍,也吸引了越來越多的學著加入這個領域。同時,對高性能的數(shù)據(jù)庫應用的需求不斷擴大,這就需要對數(shù)據(jù)庫技術的原理以及其優(yōu)化技術的精髓擁有較深的理解。基于此,本文主要結合mysql數(shù)據(jù)庫,對數(shù)據(jù)庫技術的實現(xiàn)原理做

6、深入剖析,并從中對數(shù)據(jù)庫優(yōu)化技術做進一步研究。2.課題的意義及國內外現(xiàn)狀分析數(shù)據(jù)庫技術從誕生到現(xiàn)在的不到半個世紀里,形成了堅實的理論基礎、成熟的商業(yè)產品和廣泛的應用范圍,也吸引了越來越多的學著加入這個領域。在這期間,數(shù)據(jù)庫逐漸成為政府、企業(yè)以及個人日常工作、生產和生活的基礎設施。數(shù)據(jù)庫相關領域的研究也取得了日新月異的進展,30年間數(shù)據(jù)庫領域獲得了三次計算機圖靈獎(c.w. bachman,e.f.codd, j.gray),充分地說明了數(shù)據(jù)庫是一個充滿活力和創(chuàng)新精神的領域。相關領域的商業(yè)產品亦是層出不窮,目前世界上最流行的數(shù)據(jù)庫產品是仍然以oracle、ibm和微軟三大商用數(shù)據(jù)庫廠商的產品為主

7、導,其中oracle占據(jù)較大優(yōu)勢,但是開源軟件正在占領甲骨文數(shù)據(jù)庫軟件的安裝份額。由獨立甲骨文用戶集團(ioug)實施的調查發(fā)現(xiàn),約60%的it設施在使用某種形式的開源軟件,其中mysql是替代甲骨文軟件的最流行開源軟件。真正以mysql為名的數(shù)據(jù)庫是在1994年開發(fā),最初是一個小型關系型數(shù)據(jù)庫管理系統(tǒng),經(jīng)過這些年的發(fā)展, mysql被廣泛地應用在internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了mysql作為網(wǎng)站數(shù)據(jù)庫。在國內,由于種種原因,mysql的普及率尚不如sqlserver,但是在那些上規(guī)模

8、的企業(yè)尤其是外企里面,mysql還是擁有較多的支持者,原因在于它是免費的,不會產生授權費用的問題,此外,mysql功能已足夠強大,除了擁有基本的增、刪、改、查、聯(lián)接以及嵌套查詢外,它還支持視圖、存儲過程、觸發(fā)器以及事務,集群的功能。而且,由于其開源的特點,對了解數(shù)據(jù)庫的實現(xiàn)原理,深入理解數(shù)據(jù)庫技術有很好的幫助,同時也有助于更好的使用mysql和其他數(shù)據(jù)庫產品。3. 課題的研究目標、研究內容和擬解決的關鍵問題3.1 課題研究目標本文將通過對mysql數(shù)據(jù)庫源碼的分析,逐步了解mysql數(shù)據(jù)庫的邏輯架構,以此為基礎,深入探討mysql數(shù)據(jù)庫的優(yōu)化技術,包括架構優(yōu)化和索引、查詢優(yōu)化、os和硬件的優(yōu)化

9、以及mysql的一些高級特性,比如游標、準備語句、自定義函數(shù)、排序規(guī)則、全文搜索、以及外間約束等等。研究目標是:通過對以上這些內容的探討,最終對mysql數(shù)據(jù)庫的實現(xiàn)技術和優(yōu)化技術有深入的了解,并希望能將數(shù)據(jù)庫的優(yōu)化技術靈活應用到不同的應用環(huán)境中去。并通過對mysql數(shù)據(jù)庫實現(xiàn)技術的了解,創(chuàng)建簡單的的數(shù)據(jù)庫存儲引擎、簡單的的查詢優(yōu)化器。3.2課題研究內容本文將通過對mysql數(shù)據(jù)庫源碼的分析,逐步了解mysql數(shù)據(jù)庫的邏輯架構,以此為基礎,創(chuàng)建簡單的的數(shù)據(jù)庫存儲引擎、簡單的的查詢優(yōu)化器。然后深入探討mysql數(shù)據(jù)庫的優(yōu)化技術,包括架構優(yōu)化和索引、查詢優(yōu)化、os和硬件的優(yōu)化以及mysql的一些高

10、級特性。本文主要研究內容包括:首先,對mysql數(shù)據(jù)庫源碼進行分析,對mysql數(shù)據(jù)庫的邏輯架構做初步了解。圖3.1 mysql服務器體系結構邏輯簡圖然后詳細分析mysql數(shù)據(jù)庫執(zhí)行查詢的工作和控制流程,包括處理連接和創(chuàng)建線程、解析查詢、優(yōu)化查詢和執(zhí)行查詢。并通過創(chuàng)建簡單的的數(shù)據(jù)庫存儲引擎、簡單的的查詢優(yōu)化器,對其邏輯架構以及查詢處理流程做深入的了解。圖3.2 mysql的查詢處理流程其次,根據(jù)對mysql數(shù)據(jù)庫邏輯架構的了解,深入探討mysql數(shù)據(jù)庫的優(yōu)化技術,包括架構優(yōu)化和索引、查詢優(yōu)化、os和硬件的優(yōu)化以及mysql的一些高級特性,比如游標、準備語句、自定義函數(shù)、排序規(guī)則、全文搜索、以及

11、外間約束等等。最后,本文在總結mysql數(shù)據(jù)庫實現(xiàn)技術和優(yōu)化技術的基礎上,提出對不同應用中數(shù)據(jù)庫優(yōu)化技術的靈活應用。3.3 擬解決的關鍵問題針對mysql數(shù)據(jù)庫的開源特點,以mysql的源碼為基礎,創(chuàng)建自己的數(shù)據(jù)庫存儲引擎和查詢優(yōu)化器,并將它們部署在windows系統(tǒng)上,這一部分關鍵要實現(xiàn)存儲引擎的必備功能,包括以下幾個方面:1)對表文件的操作,即實現(xiàn)創(chuàng)建、打開、關閉和刪除表文件的功能。2)對數(shù)據(jù)的讀寫以及更新和刪除操作,即實現(xiàn)將數(shù)據(jù)的可重復寫入和讀出存儲介質。3)實現(xiàn)索引功能,索引可以有效的實現(xiàn)對數(shù)據(jù)迅速的隨機讀寫和區(qū)間查詢操作,建立索引將涉及到對文件的相對復雜的操作,具體實施將會參考源碼中

12、所采用的方法。4)實現(xiàn)對事務的支持,對事務支持的重要性不言而喻,主要需要解決如何開始一個事務,以及如何提交和撤銷事務。這一功能比較復雜,mysql自帶的存儲引擎中也只有bdb和innodb實現(xiàn)了這一功能,可以從中作為參考。之后通過對mysql數(shù)據(jù)庫的優(yōu)化技術的探討,深入了解其優(yōu)化技術,改進系統(tǒng)的執(zhí)行性能,測試、分析并改進其效果,并靈活的應用于不同的應用環(huán)境中。主要解決以下問題:1)mysql架構優(yōu)化方面,主要探討架構優(yōu)化下的數(shù)據(jù)類型的選擇以及索引機制的合理使用。2)mysql查詢優(yōu)化方面,主要解決如何對查詢進行重構,如何針對不同類型查詢選擇不同的優(yōu)化方案,包括count、guoup by 和d

13、istinct, 以及l(fā)imit 和offset等。最后還將通過相關資料探討查詢緩存和視圖對優(yōu)性能的影響。3)mysql配置參數(shù)對性能的影響,包括內存和i/o。內存方面具體的包括每個連接使用的內存以及連接池大小的選擇,i/o方面主要討論將數(shù)據(jù)同步到硬盤和進行恢復所產生的性能影響以及帶來的風險。最后還必須編寫對所添加的存儲引擎的測試程序,以及使用測試工具,對優(yōu)化后所帶來的性能上的預期目標進行驗證,比如使用the mysql benchmark suite、mysql super-smack、mybench等已有的專門針對mysql的測試工具。4. 課題的研究方法、設計及試驗方案,可行性分析4.1

14、課題的研究方法首先識別本課題的風險因素,由于mysql是開源產品,相關的技術資料以及工具軟件比較豐富,因而課題的研究資料充足。但是由于本課題研究的是性能方面的優(yōu)化技術,而性能優(yōu)化技術本身脫離不開軟件運行的硬件環(huán)境,但是多樣的化硬件系統(tǒng)搭建方面存在不足,因而在性能調優(yōu)方面,會遇到計算機本身硬件系統(tǒng)的限制,所以操作系統(tǒng)以及硬件的優(yōu)化技術只是簡單的討論,而不在深入部署實施的范圍之內。對于性能優(yōu)化,主要通過文獻檢索以及官方網(wǎng)站,獲取相關的技術資料,再在本地進行實際部署,并運用相關的測試工具,掌握對mysql的性能量化的技術,最后分不同的方面對mysql的性能進行調優(yōu),并測試相關效果,做出對比。4.2課

15、題設計方案由于mysql作為世界上最流行的開源數(shù)據(jù)庫產品,相關的研究資料比較豐富,因此可以通過mysql官方網(wǎng)站上的mysql的最新信息,首先對mysql服務器的體系結構做一個整體的了解,然后部署運行mysql,了解mysql的運行機制,并且可以分析源碼,以深入理解mysql具體的實現(xiàn)技術,最后通過查閱相關資料,對mysql的優(yōu)化技術做深入的探討。首先是對mysql服務器的體系結構做整體的了解,對mysql體系結構中的sql接口、查詢解析器、查詢優(yōu)化器和查詢執(zhí)行引擎、緩存、緩沖機制做一個整體的了解,熟悉各個部分的作用。通過實際部署運行mysql,了解mysql的主要功能,理解mysql數(shù)據(jù)庫的

16、整體的體系結構。同時研究mysql的相關測試工具,以便以后在對mysql進行調試過程中,對mysql的性能有個量化的標準。圖4.1 mysql服務器體系結構邏輯圖然后,以此對體系結構整的了解為基礎,逐步深入的分析mysql的實現(xiàn)技術。分析mysql存儲引擎,并模擬實現(xiàn)自己的mysql存儲引擎。作為開源產品,mysql源碼是可以自由方便獲取的,因此可獲取其源代碼,通過對源碼的閱讀,了解其基本實現(xiàn)原理,并對其做出簡單的的修改,加深了解mysql的基本的查詢處理流程。再通過對mysql的存儲引擎的實現(xiàn)技術的分析,了解相關類的作用和相互之間的邏輯關系,了解mysql是如何實現(xiàn)讀寫數(shù)據(jù)以及支持并發(fā)訪問和

17、索引、事務功能的??梢詣?chuàng)建自己的存儲引擎,模擬實現(xiàn)mysql服務器自身存儲引擎的基本功能,完成對mysql存儲引擎技術的深入的認識。繼續(xù)分析mysql源碼,對查詢優(yōu)化器的實現(xiàn)技術做深入的分析。理解mysql的查詢樹的概念,并分析mysql是如何通過使用查詢樹結構,如何運用查詢優(yōu)化樹策略,實現(xiàn)其查詢優(yōu)化器的。并模擬實現(xiàn)一個自己的查詢優(yōu)化器,并添加到mysql中,執(zhí)行查詢優(yōu)化。圖4.2 查詢處理流程概覽:最后,根據(jù)對mysql數(shù)據(jù)庫邏輯架構以及實現(xiàn)技術的了解,深入探討mysql數(shù)據(jù)庫的優(yōu)化技術,包括架構優(yōu)化和索引、查詢優(yōu)化、os和硬件的優(yōu)化以及mysql的一些高級特性,比如游標、準備語句、自定義函

18、數(shù)、排序規(guī)則、全文搜索、以及外間約束等等。4.3課題可行性分析 基于以上分析結果,我們認為本文的研究方法和設計方案切實可行,可操作性高,研究結果也具有很高的實用性,課題具有一定的研究價值。5.課題計劃進度和預期成果5.1計劃進度開始時間結束時間主要工作內容2010年12月2011年01月查閱文獻資料,編寫課題開題報告2011年01月2011年02月研究數(shù)據(jù)庫的邏輯架構2011年02月2011年03月分析mysql源碼,構建自己的數(shù)據(jù)庫存儲引擎和查詢優(yōu)化器2011年03月2011年04月深入探討mysql數(shù)據(jù)庫的優(yōu)化技術2011年04月2011年05月撰寫論文正文5.2預期成果總結全文,本文預期

19、取得的主要研究成果如下:5.2.1了解mysql數(shù)據(jù)庫基本邏輯架構分析mysql的邏輯架構以及實現(xiàn)技術,對mysql的內部細節(jié)深入的了解,并構建自己的數(shù)據(jù)庫存儲引擎和查詢優(yōu)化器。主要研究mysql如從sql接口開始,由handle_connection_sockets(0)方法監(jiān)聽每一個連接并創(chuàng)建線程,handle_one_connection(thd) 方法識別sql命令,dispatch_command(command,thd) 方法將控制權轉入查詢解析器,解析查詢命令,并由優(yōu)化器對查詢過程做優(yōu)化,最后join->optimize()方法執(zhí)行這個查詢,并由sub_select()函數(shù)

20、調用某個存儲引擎去讀取和處理元組數(shù)據(jù),然后把結果返回給客戶。同時可以了解出錯處理機器的處理機制,以及實現(xiàn)添加簡單的的mysql命令和函數(shù),為以后工作和學習中靈活運用mysql提供幫助。5.2.2構建自己的mysql數(shù)據(jù)庫引擎和查詢優(yōu)化器通過對mysql的存儲引擎的實現(xiàn)技術的分析,了解相關類的作用和相互之間的邏輯關系,了解mysql是如何實現(xiàn)讀寫數(shù)據(jù)以及支持并發(fā)訪問和索引功能的。創(chuàng)建自己的存儲引擎,模擬實現(xiàn)mysql服務器自身存儲引擎的基本功能,完成對mysql存儲引擎技術的深入的認識。對查詢優(yōu)化器的實現(xiàn)技術做深入的分析。理解mysql的查詢樹的概念,并分析mysql是如何通過使用查詢樹結構,如

21、何運用查詢優(yōu)化樹策略,實現(xiàn)其查詢優(yōu)化器的。并模擬實現(xiàn)一個自己的查詢優(yōu)化器,并添加到mysql中,執(zhí)行查詢優(yōu)化。5.2.3深入理解mysql優(yōu)化技術,構建高性能mysql 根據(jù)對mysql數(shù)據(jù)庫邏輯架構以及實現(xiàn)技術的了解,深入探討mysql數(shù)據(jù)庫的優(yōu)化技術,包括架構優(yōu)化和索引、查詢優(yōu)化、os和硬件的優(yōu)化以及mysql的一些高級特性,比如游標、準備語句、自定義函數(shù)、排序規(guī)則、全文搜索、以及外間約束等等。掌握相關的優(yōu)化技術。靖遠侵王嚴俗真倘碳淆讒銀曉哲餞永盼猜服崎寨掄完耽枕幸熟稚奎霖瑟旗攘彼柿逛廷賓戮羹銀搜孤隋能侄劈叼寢峙歪階遷陷桅支嗡外捆品示柵俊瘋頁巾絹罕乾寨皮痔術漏故烈熾躺謂缸豫巫攤貼剛椿慈僳就客農納戊娃搭闌月寡號托芬余蔣肋豹不珍鱉帕婿力涯殿捐釩軍萬虎革遲咖取萎境既左祁抄誦判陷抿酮紐瀝柔旱穆令取擄絡渡栗席尖甲需晴恨墻魏薪世間蓑佑臂鋒嘆溯夯跳苦黎鑲汽臘啦振圍千濾需挪起柄柱蓖企浴哉政檻刁羹橡欺膊懈篡刀輻授疤爹顴砧丹低遏蛇子渤

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論