『壹』 《高性能MySQL第3版》pdf下載在線閱讀,求百度網盤雲資源
《高性能MySQL(第3版)》(施瓦茨 (Baron Schwartz))電子書網盤下載免費在線閱讀
資源鏈接:
鏈接:
書名:高性能MySQL(第3版)
作者:施瓦茨 (Baron Schwartz)
譯者:寧海元
豆瓣評分:9.3
出版社:電子工業出版社
出版年份:2013-5-1
頁數:764
內容簡介:
《高性能mysql(第3版)》是mysql 領域的經典之作,擁有廣泛的影響力。第3 版更新了大量的內容,不但涵蓋了最新mysql 5.5版本的新特性,也講述了關於固態盤、高可擴展性設計和雲計算環境下的資料庫相關的新內容,原有的基準測試和性能優化部分也做了大量的擴展和補充。全書共分為16 章和6 個附錄,內容涵蓋mysql 架構和歷史,基準測試和性能剖析,資料庫軟硬體性能優化,復制、備份和恢復,高可用與高可擴展性,以及雲端的mysql 和mysql相關工具等方面的內容。每一章都是相對獨立的主題,讀者可以有選擇性地單獨閱讀。
《高性能mysql(第3版)》不但適合資料庫管理員(dba)閱讀,也適合開發人員參考學習。不管是資料庫新手還是專家,相信都能從本書有所收獲。
作者簡介:
關於作者
Baron Schwartz 是一位軟體工程師,居住在弗吉尼亞州的Charlottesville,網路常用名是Xaprb,這是按照QWERTY 鍵盤的順序在Dvorak 鍵盤上打出來的名字。在不忙於解決有趣的編程挑戰時,Baron 會和他的妻子Lynn 以及小狗Carbon 一起享受閑暇的時光。他有一個軟體工程方面的博客,地址是http://www.xaprb.com/blog/
Peter Zaitsev 曾經是MySQL AB 公司高性能組的經理,目前在運作mysqlperformance
blog.com 網站。他擅長於幫助那些每天有數以百萬計訪問量的網站的管理員解決問題,這些網站通常需要幾百台機器來處理TB 級的數據。他常常為了解決一個問題而不停地升級硬體和軟體(比如查詢優化)。Peter 還經常在各種會議上演講。
Vadim Tkachenko 曾經是MySQL AB 公司的性能工程師。作為一名在多線程編程和同步方面的專家,他的主要工作是基準測試、性能剖析,以及找出系統的性能瓶頸。他還在性能監控和調優方面做了一些工作,使得MySQL 在多核機器上有更好的可擴展性。
================================================================
譯者簡介
寧海元 有超過十年的資料庫管理經驗,從最初到SQL Server 2000到Oracle到MySQL,擅長資料庫高可用架構,性能優化和故障診斷。2007年加入淘寶,帶領淘寶DBA團隊支撐了淘寶業務的快速增長,完成了資料庫的垂直拆分、水平拆分,遷移到MySQL體系等主要工作。目前專注於無線數據領域。網路常用名NinGoo,個人博客:http://www.ningoo.net
周振興 畢業於北京師范大學數學系,09年加入淘寶資料庫團隊負責MySQL運維管理工作,有豐富的MySQL性能優化、Troubleshooting經驗,對MySQL主要模塊的實現和原理有深入的研究,經歷淘寶MySQL實例從30到3000的發展,對系統架構、高可用環境規劃都有深入理解。個人博客:http://orczhou.com
彭立勛 2010年大學畢業後加入阿里巴巴運維部。作為一名MySQL DBA,在運維MySQL的過程中,對MySQL和InnoDB的一些功能和缺陷就進行了補充,編寫了多主復制和數據閃回等補丁。目前在阿里集團核心系統研發部資料庫組,專注於MySQL資料庫相關的開發工作。後來一些補丁被MySQL之父Mony看中,成為MariaDB提交組(Maria-captains)成員,並且把多主復制,線程內存監控等補丁合並到了MariaDB 10.0版本。
翟衛祥 畢業於武漢大學,研究生階段從事資料庫相關研究。畢業後就職於阿里巴巴集團資料庫技術團隊至今,主要負責阿里內部MySQL代碼分支維護,包括MySQL Bug Fix及新特性開發。對MySQL內核有一定的研究。
劉輝 2008年畢業於西安電子科技大學計算機系,碩士學位。2011年加入阿里巴巴集團資料庫技術團隊,花名希羽,MySQL內核開發工程師。
『貳』 《mysql索引背後的數據結構及演算法原理》pdf下載在線閱讀全文,求百度網盤雲資源
《mysql索引背後的數據結構及演算法原理》網路網盤pdf最新全集下載:
鏈接: https://pan..com/s/1c-AnaxEqIfFdcsLOvD_vuA
『叄』 《MySQL核心技術手冊第2版》pdf下載在線閱讀全文,求百度網盤雲資源
《MySQL核心技術手冊 第2版》(戴爾)電子書網盤下載免費在線閱讀
鏈接:
書名:MySQL核心技術手冊 第2版
作者:戴爾
譯者:李紅軍
豆瓣評分:7.0
出版社:機械工業出版社
出版年份:2009-9
頁數:554
內容簡介:
MySQL包含了許多功能,尤其是在MySQL 5.0和5.1版本中新增了一些主要的功能和特性。MySQL特有的函數或者語句是相當豐富的。這正是《MySQL核心技術手冊(第2版)》富有價值的原因。《MySQL核心技術手冊(第2版)》令讀者可以快速查找到所需要的具體細節,無論是SQL關鍵字還是mysql命令行選項、具體的API信息或管理實用工具。
作者簡介:
Russell Dyer是一位自由作家,主要致力於MySQL資料庫軟體方面的研究,他是MySQL公司知識庫(http://www.mysql.com/network/knowledgebase.html)的編輯。他在如下出版物上發表了很多文章,這些出版物包括DevZone(MySQL的一個出版物)、linux期刊、ONlamp.com、Perl期刊、Red Hat雜志、Sys Admin雜志、TechRepublic、Unix評論和XML.com。他還是《MySQL核心技術手冊》第1版的作者。
『肆』 《MySQL核心技術手冊第2版》pdf下載在線閱讀,求百度網盤雲資源
《MySQL核心技術手冊 第2版》(戴爾)電子書網盤下載免費在線閱讀
資源鏈接:
鏈接:https://pan..com/s/1kN0HHbs4lBK2e9cloSGhbw 提取碼:qwzr
書名:MySQL核心技術手冊 第2版
作者:戴爾
譯者:李紅軍
豆瓣評分:7.0
出版社:機械工業出版社
出版年份:2009-9
頁數:554
內容簡介:
MySQL包含了許多功能,尤其是在MySQL 5.0和5.1版本中新增了一些主要的功能和特性。MySQL特有的函數或者語句是相當豐富的。這正是《MySQL核心技術手冊(第2版)》富有價值的原因。《MySQL核心技術手冊(第2版)》令讀者可以快速查找到所需要的具體細節,無論是SQL關鍵字還是mysql命令行選項、具體的API信息或管理實用工具。
《MySQL核心技術手冊(第2版)》涵蓋了適用於MySQL 5.1版本的所有命令和編程信息,其中包括一些新增特性和語言介面,對於列舉的大部分語句和函數,給出了它們的用法示例。
《MySQL核心技術手冊(第2版)》易於使用,並由權威作者執筆。《MySQL核心技術手冊(第2版)》:
·提供了MySQL語句、函數、配置選項和實用工具的一個完整手冊。
·給出了幾個指導章節用於幫助新手入門。
·為PHP、Perl和C語言提供了應用程序編程介面(API)。
·在每章的API開頭部分提供了簡要的指南。
·新增復制、觸發器和存儲過程章節。
·提供了許多MySQL的實用示例。
·給出了一些有用的提示,用於幫助讀者克服難題。
無論你為何而使用MySQL,《MySQL核心技術手冊(第2版)》充滿了大量的知識財富,給你節省了許多用於嘗試的時間以及令人厭煩的在線搜索。
作者簡介:
Russell Dyer是一位自由作家,主要致力於MySQL資料庫軟體方面的研究,他是MySQL公司知識庫(http://www.mysql.com/network/knowledgebase.html)的編輯。他在如下出版物上發表了很多文章,這些出版物包括DevZone(MySQL的一個出版物)、Linux期刊、ONlamp.com、Perl期刊、Red Hat雜志、Sys Admin雜志、TechRepublic、Unix評論和XML.com。他還是《MySQL核心技術手冊》第1版的作者。
『伍』 五大常見的MySQL高可用方案(最全)
1. 概述
我們在考慮MySQL資料庫的高可用的架構時,主要要考慮如下幾方面:
如果資料庫發生了宕機或者意外中斷等故障,能盡快恢復資料庫的可用性,盡可能的減少停機時間,保證業務不會因為資料庫的故障而中斷。
用作備份、只讀副本等功能的非主節點的數據應該和主節點的數據實時或者最終保持一致。
當業務發生資料庫切換時,切換前後的資料庫內容應當一致,不會因為數據缺失或者數據不一致而影響業務。
關於對高可用的分級在這里我們不做詳細的討論,這里只討論常用高可用方案的優缺點以及高可用方案的選型。
2. 高可用方案
2.1. 主從或主主半同步復制
使用雙節點資料庫,搭建單向或者雙向的半同步復制。在5.7以後的版本中,由於lossless replication、logical多線程復制等一些列新特性的引入,使得MySQL原生半同步復制更加可靠。
常見架構如下:
通常會和proxy、keepalived等第三方軟體同時使用,即可以用來監控資料庫的 健康 ,又可以執行一系列管理命令。如果主庫發生故障,切換到備庫後仍然可以繼續使用資料庫。
優點:
架構比較簡單,使用原生半同步復製作為數據同步的依據;
雙節點,沒有主機宕機後的選主問題,直接切換即可;
雙節點,需求資源少,部署簡單;
缺點:
完全依賴於半同步復制,如果半同步復制退化為非同步復制,數據一致性無法得到保證;
需要額外考慮haproxy、keepalived的高可用機制。
2.2. 半同步復制優化
半同步復制機制是可靠的。如果半同步復制一直是生效的,那麼便可以認為數據是一致的。但是由於網路波動等一些客觀原因,導致半同步復制發生超時而切換為非同步復制,那麼這時便不能保證數據的一致性。所以盡可能的保證半同步復制,便可提高數據的一致性。
該方案同樣使用雙節點架構,但是在原有半同復制的基礎上做了功能上的優化,使半同步復制的機制變得更加可靠。
可參考的優化方案如下:
2.2.1. 雙通道復制
半同步復制由於發生超時後,復制斷開,當再次建立起復制時,同時建立兩條通道,其中一條半同步復制通道從當前位置開始復制,保證從機知道當前主機執行的進度。另外一條非同步復制通道開始追補從機落後的數據。當非同步復制通道追趕到半同步復制的起始位置時,恢復半同步復制。
2.2.2. binlog文件伺服器
搭建兩條半同步復制通道,其中連接文件伺服器的半同步通道正常情況下不啟用,當主從的半同步復制發生網路問題退化後,啟動與文件伺服器的半同步復制通道。當主從半同步復制恢復後,關閉與文件伺服器的半同步復制通道。
優點:
雙節點,需求資源少,部署簡單;
架構簡單,沒有選主的問題,直接切換即可;
相比於原生復制,優化後的半同步復制更能保證數據的一致性。
缺點:
需要修改內核源碼或者使用mysql通信協議。需要對源碼有一定的了解,並能做一定程度的二次開發。
依舊依賴於半同步復制,沒有從根本上解決數據一致性問題。
2.3. 高可用架構優化
將雙節點資料庫擴展到多節點資料庫,或者多節點資料庫集群。可以根據自己的需要選擇一主兩從、一主多從或者多主多從的集群。
由於半同步復制,存在接收到一個從機的成功應答即認為半同步復製成功的特性,所以多從半同步復制的可靠性要優於單從半同步復制的可靠性。並且多節點同時宕機的幾率也要小於單節點宕機的幾率,所以多節點架構在一定程度上可以認為高可用性是好於雙節點架構。
但是由於資料庫數量較多,所以需要資料庫管理軟體來保證資料庫的可維護性。可以選擇MMM、MHA或者各個版本的proxy等等。常見方案如下:
2.3.1. MHA+多節點集群
MHA Manager會定時探測集群中的master節點,當master出現故障時,它可以自動將最新數據的slave提升為新的master,然後將所有其他的slave重新指向新的master,整個故障轉移過程對應用程序完全透明。
MHA Node運行在每台MySQL伺服器上,主要作用是切換時處理二進制日誌,確保切換盡量少丟數據。
MHA也可以擴展到如下的多節點集群:
優點:
可以進行故障的自動檢測和轉移;
可擴展性較好,可以根據需要擴展MySQL的節點數量和結構;
相比於雙節點的MySQL復制,三節點/多節點的MySQL發生不可用的概率更低
缺點:
至少需要三節點,相對於雙節點需要更多的資源;
邏輯較為復雜,發生故障後排查問題,定位問題更加困難;
數據一致性仍然靠原生半同步復制保證,仍然存在數據不一致的風險;
可能因為網路分區發生腦裂現象;
2.3.2. zookeeper+proxy
Zookeeper使用分布式演算法保證集群數據的一致性,使用zookeeper可以有效的保證proxy的高可用性,可以較好的避免網路分區現象的產生。
優點:
較好的保證了整個系統的高可用性,包括proxy、MySQL;
擴展性較好,可以擴展為大規模集群;
缺點:
數據一致性仍然依賴於原生的mysql半同步復制;
引入zk,整個系統的邏輯變得更加復雜;
2.4. 共享存儲
共享存儲實現了資料庫伺服器和存儲設備的解耦,不同資料庫之間的數據同步不再依賴於MySQL的原生復制功能,而是通過磁碟數據同步的手段,來保證數據的一致性。
2.4.1. SAN共享儲存
SAN的概念是允許存儲設備和處理器(伺服器)之間建立直接的高速網路(與LAN相比)連接,通過這種連接實現數據的集中式存儲。常用架構如下:
使用共享存儲時,MySQL伺服器能夠正常掛載文件系統並操作,如果主庫發生宕機,備庫可以掛載相同的文件系統,保證主庫和備庫使用相同的數據。
優點:
兩節點即可,部署簡單,切換邏輯簡單;
很好的保證數據的強一致性;
不會因為MySQL的邏輯錯誤發生數據不一致的情況;
缺點:
需要考慮共享存儲的高可用;
價格昂貴;
2.4.2. DRBD磁碟復制
DRBD是一種基於軟體、基於網路的塊復制存儲解決方案,主要用於對伺服器之間的磁碟、分區、邏輯卷等進行數據鏡像,當用戶將數據寫入本地磁碟時,還會將數據發送到網路中另一台主機的磁碟上,這樣的本地主機(主節點)與遠程主機(備節點)的數據就可以保證實時同步。常用架構如下:
當本地主機出現問題,遠程主機上還保留著一份相同的數據,可以繼續使用,保證了數據的安全。
DRBD是linux內核模塊實現的快級別的同步復制技術,可以與SAN達到相同的共享存儲效果。
優點:
兩節點即可,部署簡單,切換邏輯簡單;
相比於SAN儲存網路,價格低廉;
保證數據的強一致性;
缺點:
對io性能影響較大;
從庫不提供讀操作;
2.5. 分布式協議
分布式協議可以很好解決數據一致性問題。比較常見的方案如下:
2.5.1. MySQL cluster
MySQL cluster是官方集群的部署方案,通過使用NDB存儲引擎實時備份冗餘數據,實現資料庫的高可用性和數據一致性。
優點:
全部使用官方組件,不依賴於第三方軟體;
可以實現數據的強一致性;
缺點:
國內使用的較少;
配置較復雜,需要使用NDB儲存引擎,與MySQL常規引擎存在一定差異;
至少三節點;
2.5.2. Galera
基於Galera的MySQL高可用集群, 是多主數據同步的MySQL集群解決方案,使用簡單,沒有單點故障,可用性高。常見架構如下:
優點:
多主寫入,無延遲復制,能保證數據強一致性;
有成熟的社區,有互聯網公司在大規模的使用;
自動故障轉移,自動添加、剔除節點;
缺點:
需要為原生MySQL節點打wsrep補丁
只支持innodb儲存引擎
至少三節點;
2.5.3. POAXS
Paxos 演算法解決的問題是一個分布式系統如何就某個值(決議)達成一致。這個演算法被認為是同類演算法中最有效的。Paxos與MySQL相結合可以實現在分布式的MySQL數據的強一致性。常見架構如下:
優點:
多主寫入,無延遲復制,能保證數據強一致性;
有成熟理論基礎;
自動故障轉移,自動添加、剔除節點;
缺點:
只支持innodb儲存引擎
至少三節點;
3. 總結
隨著人們對數據一致性的要求不斷的提高,越來越多的方法被嘗試用來解決分布式數據一致性的問題,如MySQL自身的優化、MySQL集群架構的優化、Paxos、Raft、2PC演算法的引入等等。
而使用分布式演算法用來解決MySQL資料庫數據一致性的問題的方法,也越來越被人們所接受,一系列成熟的產品如PhxSQL、MariaDB Galera Cluster、Percona XtraDB Cluster等越來越多的被大規模使用。
隨著官方MySQL Group Replication的GA,使用分布式協議來解決數據一致性問題已經成為了主流的方向。期望越來越多優秀的解決方案被提出,MySQL高可用問題可以被更好的解決。
『陸』 《MySQL必知必會》pdf下載在線閱讀全文,求百度網盤雲資源
《MySQL必知必會》網路網盤pdf最新全集下載:
鏈接:https://pan..com/s/1UgptDB52YZSK5BJ_uoABBg
『柒』 《PHP與MySQL程序設計第五版》pdf下載在線閱讀全文,求百度網盤雲資源
《PHP與MySQL程序設計第五版》網路網盤pdf最新全集下載:
鏈接:https://pan..com/s/1Sx6jjeO2q4uE58BrnfReAg