深刻MySQL源碼 學習方法 何登成專家


MYSQL 技術圈html

有哪些作得好,又注重分享的公司: Oracle MySQL, MariaDB, Percona,Google, FB, Twitter, Taobao, NetEase…

有哪些值得關注的我的: Mark Callaghan、 Jeremy Cole、 Dimitri、 Peter ,Zaitsev、 Yoshinori Matsunobu …

微博上有哪些值得關注的帳號: @姜承堯、 @淘寶丁奇、 @plinux、 @那海藍藍 …

業界有哪些好的會議: Percona Live、 FOSDEM、 MySQL Connect …

哪裏去提問和找答案: Google、 StackOverflow …

跟蹤MySQL每一個發行版和Bugsmysql

關於這一點,我的曾經跟霸爺@淘寶褚霸有過一次討論。
霸爺說:在過去幾年,跟蹤Erlang,把Erlang語言每一個版本
/每一個提交的變 更都看了一遍;
我說我沒有這麼執着,可是我也把MySQL
5.1以來各版本的Release Notes、 Bug Fix都跟蹤過,新增的功能,都閱讀過代碼,調試跟蹤分析過其實現; 要想深刻了解MySQL,或者是其餘的系統,你須要作到幾年如一日的 跟蹤其發展,才能真正的作到不落伍;
一個關於Oracle DBA的典故; 曾經有一位Oracle DBA,被Oracle公司請去對其公司內的Oracle研發人員 作關於Oracle系統的培訓

 

 哪些地方能夠獲取這些資料?linux

WorkLogs
MariaDB: https://mariadb.atlassian.net/secure/Dashboard.jspa
MySQL: https://dev.mysql.com/worklog/
Percona: https://launchpad.net/percona-server
Bug 庫
MySQL Bugs Home: http://bugs.mysql.com/
Percona Bugs Home: https://bugs.launchpad.net/percona-server
各發行版本
歷史版本: http://downloads.mysql.com/archives/community/
當前版本: http://dev.mysql.com/downloads/mysql/

 

個人經驗
 ——按期更新本身的前期知識算法

隨着對MySQL系統理解的深刻,此時應該按期回過頭來看看本身早期
整理的筆記,撰寫的文章,相信我,你必定會發現不少錯誤,嗤之以
鼻的想法。
無須沮喪,這說明你的能力提升了,更正他們。
我的經驗
就InnoDB的鎖實現一個功能,近三年內,每當有點新的思路,想
法,我就會去從新作測試,看代碼,不斷糾正本身的想法。
最近的一篇文章: 《 MySQL加鎖處理分析》
但在我如今看來,這篇文章中仍舊有不正確的地方…

——注重發散知識的積累sql

看懂MySQL源碼不是最終目標,當你以爲不少你看懂了,你就會有新的追求,此時,
也就意味着須要積累新的知識;
對MySQL的併發處理不滿意? Kernel_mutex?
須要學習併發編程的相關知識;
對MySQL單線程複製不滿意?延遲嚴重?
須要學習MySQL現有複製的實現,進行多線程改造;
對MySQL壓縮功能不滿意?
瞭解業界成熟的壓縮算法,嘗試實現並替換;
對InnoDB引擎不滿意?
本身作一個引擎,你須要進一步瞭解其餘數據庫/NoSQL/NewSQL的優勢;

——寫在最後的建議數據庫

能堅持到/看到這裏的,那絕壁是真愛!!
贈送兩個小小的建議
建議一: 從handler出發 MySQL插件式引擎,鏈接MySQL Server與各類存儲引擎的,是其Handler 模塊 —— hanlder模塊是靈魂; 以InnoDB引擎爲例,從ha_innodb.cc文件出發,理解其中的每個接口的 功能,可以上達MySQL Server,下抵InnoDB引擎的內部實現;
建議二: 不放過源碼中的每一處註釋 MySQL
/InnoDB源碼中,有不少註釋,一些註釋至關詳細,對理解某一個 函數/某一個功能模塊都至關有用;

我的推薦的相關書籍編程

 首先,如下推薦的書籍,我都保證是本身看過的,有的看過不止一遍;
 MySQL. 《 MySQL Reference Manual》
 Baron Schwartz, Peter Zaitsev, Vadim Tkachenko. 《 High Performance MySQL, 3rd Edition》
 Sasha Pachev. 《 Understanding MySQL Internals》
 J. M. Hellerstein, M. Stonebraker, J. Hamilton. 《 Architecture of a Database System》
 Jonathan Lewis. 《 Oracle Core: Essential Internals for DBAs and Developers》
 Jonathan Lewis. 《 Cost-Based Oracle Fundamentals》
 Steve Adams. 《 Oracle8i Internal Services for Waits, Latches, Locks, and Memory》
 Oracle. 《 Oracle Data Server Internals: Oracle DSI》
 姜承堯. 《 MySQL技術內幕: InnoDB存儲引擎》

我的推薦的相關博客多線程

 如下的這些MySQL相關的博客,都是我的訂閱,而且天天關注更新的;
 有時間與經歷,建議將這些博客中過去的博文,都看一遍;
 Planet MySQL http://planet.mysql.com/
 Mark Callaghan http://mysqlha.blogspot.com/
 Jeremy Cole http://blog.jcole.us/
 Percona http://www.mysqlperformanceblog.com/
 Oracle InnoDB https://blogs.oracle.com/mysqlinnodb/
 Morgan Tocker http://www.tocker.ca/
 Dimitri KRAVTCHUK http://dimitrik.free.fr/blog/index.html
 Yoshinori Matsunobu http://yoshinorimatsunobu.blogspot.com/
相關文章
相關標籤/搜索