1. 程式人生 > >摘自知乎--mysql

摘自知乎--mysql

key tro oracle數據庫 改進 ota 量變 很好 -- 知識

允許晚輩叫一聲前輩。
從前輩的描述中可以看出前輩對MySQL已經有很好的理解,但我還是想從我這個半知半解的晚輩角度提出幾點。

1.系統學習數據庫,最要緊的是把基本功打牢,所以《數據庫系統概念 原書第六版》是一本不可多得的好書,任何數據庫背後的原理基本上都是想通的,其他的都是不同廠商或組織做的改進和優化;
2.如果對MySQL題體系結構、原理性的東西沒搞明白,就閱讀優化相關的書,我覺得是徒勞,因為原理不懂,何談優化?所以這裏可以推薦兩本本書籍:《深入理解MySQL》(人民郵件出版社 Charles A Bell著 楊濤等譯)、《深入理解MySQL核心技術》(O‘REILLY出版社 中國電力出版社 Sasha Pachev著 李芳等譯);

3.對原理性的東西弄徹底後,再加上足夠多的操練,現在可以看些優化、高可用、備份與恢復、集群、優化的書,比如前輩提到的《高性能MySQL》(O‘REILLY出版社 電子工業出版社 Baron Schwartz等著 王小東等譯)、《MySQL性能調優與架構設計》(簡朝陽),其他的書籍比如《高可用MySQL——構建健壯的數據中心》(O‘REILLY出版社 電子工業出版社 Charles Bell等著 寧青等譯)……(歡迎補充)
4.再深層次可以研究下MySQL源碼,內部實現機制等等。這裏我也不知路向;
5.Linux方面的知識想必前輩已經非常熟練,在此不贅述。

下面貼兩個帖子,一個是“知名DBA專家馮春培先生分享自己的職業之路”中的片段,另一個是“如何理解高級MySQL DBA必備素養以及技能”的片段。希望對前輩有所幫助。

hwayw: 現在有人認為學oracle很有出路,有人認為學mysql前途更大,還有人覺得nosql才是未來的數據庫趨勢,您是怎麽看待這樣的觀點?有關關系型數據庫和非關系型數據庫的爭議,您又怎麽看?
biti_rainy: 我學習oracle的時候oracle數據庫還為廣泛應用,DBA也比較少,算是懵懂的在正確的時間進了正確的門。2001年到2006年真的是DBA學習成長的黃金時期,那時候湧現了一堆有影響力的人。這不是說現在的oracle DBA技能就比那時候的差,而是現在的確算不上黃金時期了,因為oracle已經廣泛應用了。但是現在這個時段就是做數據庫服務的好時期,而我們那時候想做卻不成氣候。2006年的時候我招了個應屆生叫簡朝陽,後來我建議他重點學習mysql,並給予了很大的自由度和計劃到他,幫助他成長,後來他寫了本書,同時自己成長的非常快,在mysql領域也是非常有影響力。當時之所以建議他學習mysql,是因為oracle的硬件實施整體成本非常高,一用上小型機和SAN存儲,oracle費用其實不足total費用的20%。一方面為了公司節約成本考慮,另一方面也感覺到這是未來的趨勢,大環境給予了他這個機遇,而我只是提前做出了判斷並引導了他。現在由於互聯網企業的發展,好像nosql發展的迅猛,這其實不過是在特定場景解決特定問題罷了。我認為未來十年nosql可以取代RDBMS是個偽命題,其實發展到後來兩者趨勢逐漸一致,nosql想要通用也得具有RDBMS的很多特征,就越長越像了。Google最近出的數據庫,其實我看很多特點和概念也類似oracle呢,概念上大家都沒什麽新鮮玩意,都是在規模上的量變導致質變。而一般用戶解決規模問題最簡單的是硬件、網絡的突破,這更容易帶來數據庫應用的發展。所以我更主張大家透過現象去看技術的實質,研究各種技術的特點背後的優劣到底是怎麽回事,這樣才有自己的看法。Oracle、mysql、nosql都是一些具體的數據管理的表現形式,他們主要面對什麽客戶、解決什麽問題、帶來什麽價值,看透了這些,我們就不會被表象所牽引。當然,我認為管理好數據之後,發掘數據價值是一個很重要的事情。

From ITPUB名人堂第16期支付寶數據平臺負責人、知名DBA專家馮春培先生分享自己的職業之路_Oracle數據庫管理_ITPUB論壇-it168旗下專業技術社區

黃杉
1) MYSQL 重要參數的作用; 包括副作用哪些呢? 是key_buffer_size、tmp_table_size、sort_buffer_size、innodb_buffer_size、innodb_log_file_size、innodb_flush_logs_at_trx_commit、max_tmp_tables 等等!
2) SHELL,要熟練; shell具體指的是啥,能否舉例說明一本書籍,說搞懂了這本書籍,shell就算熟練了?
3) PYTHON , PERL 懂一種。 不懂,看來還得去買一本書,慢慢修煉了。
4) 性能測試要會; 沒有弄過,如何做,用啥工具,如何看測試過後的各種測試數據。
5) LINUX 熟練操作; linux操作都包括哪些方面呢?能舉幾個例子說明一下嗎?

From 如何理解高級MySQL DBA必備素養以及技能?_MySQL及其它開源數據庫_ITPUB論壇-it168旗下專業技術社區

2013年10月7日16:18:27 補充
還可以看下這個問題我的回答:MySQL 學習路線是怎樣的?有哪些學習資料或網站推薦?

摘自知乎--mysql