寫在前面
在互聯網行業,MySql資料庫毫無疑問已經是最常用的資料庫,由于其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇MySql作為網站資料庫,
作為一名編程人員,對MySql一定不會陌生,尤其是互聯網行業,對MySql的使用是比較多的,對于求職者來說,MySql又是面試中一定會問到的重點,很多人擁有大廠夢,卻因為MySQL敗下陣來,
要學習Mysql,那就必須給大家安利一波《高性能MySql(第3版)》這本MySql領域的經典之作了,(全書共795頁)
◎“只要你不敢以MySQL專家自詡,又豈敢錯過這本神書?”
◎“一言以蔽之,寫得好,編排得好,需要參考時容易到爆!”
◎“我可是從頭到尾看了一遍上一版,可還是毫不猶豫拿起了這本《高性能MySQL(第3版)》,而且看完后一點都不后悔……”
◎ 學習MySQL新特性,包括存盤引擎、磁區資料庫、觸發器和視圖
◎ 實作復制的改進、高可用和集群
◎ 獲得在云端運行MySQL的高性能
◎ 優化高級查詢特性,如全文索引
◎ 從現代的多核CPU和固態硬碟中獲益
◎ 探索備份和恢復的策略,包括新的在線備份工具
內容簡介
本書是MySQL領域的經典之作,擁有廣泛的影響力,第3版更新了大量的內容,不但涵蓋了最新MySQL5.5版本的新特性,也講述了關于固態盤、高可擴展性設計和云計算環境下的資料庫相關的新內容,原有的基準測驗和性能優化部分也做了大量的擴展和補充,全書共分為16章和6個附錄,內容涵蓋MySQL架構和歷史,基準測驗和性能剖析,資料庫軟硬體性能優化,復制、備份和恢復,高可用與高可擴展性,以及云端的MySQL和MySQL相關工具等方面的內容,每一章都是相對獨立的主題,讀者可以有選擇性地單獨閱讀,
轉發+關注,然后添加VX(tkzl6666)即可獲得《高性能MySql(第3版)》電子版的免費領取方式,
本書不但適合資料庫管理員(DBA) 閱讀,也適合開發人員參考學習,不管是資料庫新手還是專家,相信都能從本書有所識訓,
概述
第1章:MySql架構與歷史
第1 章是非常基礎的一章,在更深入地學習之前建議先熟悉一下這部分內容,在有效地使用MySql 之前應當理解它是如何組織的,本章解釋了MySQL 的架構及其存盤引擎的關鍵設計,如果讀者還不太熟悉關于資料庫和事務的基礎知識,本章也可以帶來一點幫助,如果之前已經對其他關系資料庫如Oracle 比較熟悉,本章也可以幫助讀者了解MySQL 的入門知識,本章還包括了一點MySQL 的歷史背景:MySQL 隨著時間的演進、最近的公司所有權更替,以及我們認為比較重要的內容,
打造堅實的基礎
第2章:MySql基準測驗
第2章討論了基準測驗的基礎,例如服務器可以處理的作業負載的型別、處理特定任務的速度等,基準測驗是一項至關重要的技能,可用于評估服務器在不同負載下的表現,但也要明白在什么情況下基準測驗不能發揮作用,
第3章:服務器性能剖析
第3章介紹了我們常用于故障診斷和服務器性能問題分析的一種面向回應時間的方法,該方法已經被證明可以解決我們曾碰到過的一些極為棘手的問題,當然也可以選擇修改我們所使用的方法(實際上我們的方法也是從Cary Millsap 的方法修改而來的),但無論如何,至少不能沒有方法胡亂猜測,
第4章:Schema與資料型別優化
從第4章到第6 章,連續介紹了三個關于良好的資料庫邏輯設計和物理設計基礎的話題,第4 章涵蓋了不同資料型別的細節差別以及表設計的原則,
第5章:創建高性能的索引
第5 章則展開討論了索引,這是資料庫的物理設計,對于索引的深入理解和利用是高效使用MySQL 的基礎,相信這一章會經常需要回頭翻看,
第6章:查詢性能優化
而第6 章則包含了分析MySQL 的查詢是如何執行的,以及如何利用查詢優化器的話題,該章也包含了大量常見型別查詢的例子,演示了MySQL 是如何做好作業的,以及如何改寫查詢以利用MySQL 的特性,
第7章:MySql高級特性
到此為止,已經覆寫了關于資料庫的基礎內容:表、索引、資料和查詢,第7 章則在MySQL 基礎知識之外介紹了MySQL 的高級特性是如何作業的,這章的內容包括磁區、存盤引擎、觸發器,以及字符集,MySQL 中這些特性的實作可能不同于其他資料庫,可能之前讀者并不清楚這些不同,因此理解它們對于性能可能會帶來新的收益,
配置應用程式
接下來的兩章講述的是如何讓MySQL、應用程式及硬體一起很好地作業,
第8章:優化服務器設定
第8 章介紹了如何配置MySQL,以便更好地利用硬體,達到更好的可靠性和魯棒性,
第9章:作業系統和硬體優化
第9 章解釋了如何讓作業系統和硬體作業得更好,另外也深入討論了固態硬碟,為高可擴展性應用發揮更好的性能提供了硬體配置的建議,
第8/9兩章都一定程度地涉及了MySQL 的內部知識,這將會是一個反復出現的主題,附錄中也會有相關內容可以學習到MySQL 的內部是如何實作的,理解了這些知識將幫助讀者更好地理解某些現象背后的原理,
作為基礎設施組件的MySQL
MySQL 不是存在于真空中的,而是應用整體的一個環節,因此需要考慮整個應用架構的魯棒性,下面的章節將告訴我們該如何做到這一點,
第10章:復制
第10 章討論了MySQL 的殺手級特性:能夠設定多個服務器從一臺主服務器同步資料,不幸的是,復制可能也是MySQL 給很多用戶帶來困擾的一個特性,但實際上不應該發生這樣的情況,本章將告訴你如何讓復制運行得更好,
第11章: 可擴展的MySql
第11章討論了什么是可擴展性(這和性能不是一回事),應用和系統為什么會無法擴展,該怎么改善擴展性,如果能夠正確地處理,MySQL 的可擴展性是足以應付任何需求的,
第12章:高可用性
第12章講述的是和可擴展性相關但又完全不同的主題:如何保障MySQL 穩定而正確地持續運行,
第13章:云端的MySql
13 章將告訴你當MySQL 在云計算環境中運行時會有什么不同的事情發生,
第14章:應用層優化
第14章解釋了什么是全方位的優化(full-stack optimization),就是從前端到后端的整體優化,從用戶體驗開始直到資料庫,
第15章:備份與恢復
即使是世界上設計最好、最具可擴展性的架構,如果停電會導致徹底崩潰,無法抵御惡意攻擊,解決不了應用的bug 和程式員的錯誤,以及其他一些災難場景,那就不是什么好的架構,第15 章討論了MySQL 資料庫各種備份與恢復的場景,這些策略可以幫助讀者減少在各種不可抗的硬體失效時的宕機時間,保證在各種災難下的資料最終可恢復,
轉發+關注,然后添加VX(tkzl6666) 即可獲得《高性能MySql(第3版)》電子版的免費領取方式,
其他有用的主題
在本書的最后一章以及附錄中,我們探討了一些無法明確地放到前面章節的內容,以及一些被前面多個章節參考而需要特別注意的主題,
第16章:MySql用戶工具
第16章探索了一些可以幫助用戶更有效地管理和監控MySQL 服務器的工具,有些是開源的,也有些是商業的,
附錄
- 附錄A 介紹了近年來成長迅速的三個主要的非MySQL 官方版本,其中一個是我們公司在維護的產品,知道還有其他什么是可用的選擇是有價值的;很多MySQL 難以解決的棘手問題在其他的變種版本中說不定就不是問題了,這三個版本中的兩個(Percona Server 和MariaDB)是MySQL 的完全可替換版本,所以嘗試使用的成本相對來說是很低的,當然,在這里我們也需要補充一點,Oracle 提供的MySQL 官方版本對于大多數用戶來說都能服務得很好,
- 附錄B 演示了如何檢查MySQL 服務器,知道如何從服務器獲取狀態資訊是非常重要的;而了解這些狀態代表的意義則更加重要,這里將覆寫SHOW INNODB STATUS 的輸出結果,因此這里包含了InnoDB 事務存盤引擎的深入資訊,在這個附錄中討論了很多InnoDB的內部資訊,
- 附錄C 演示了如何高效地將大檔案從一個地方復制到另外一個地方,如果要管理大量的資料,這種操作是經常都會碰到的,
- 附錄D 演示了如何真正地使用并理解EXPLAIN 命令,附錄E 演示了如何破除不同查詢所請求的鎖互相干擾的問題,最后,附錄F 介紹了Sphinx,一個基于MySQL 的高性能的全文索引系統,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/170138.html
標籤:其他
