一些感想:
畢業後至2019年前,忙於項目,忙於項目相關的技術棧學習,忙於拓展技術棧,忙於畢業後的職場生活,慢慢地忽略了一些基礎、本質的東西,好像也忘記了自己怎麼從菜鳥開始的,又何時將某些方面的學習止步於菜鳥水平的。
2019年下半年,自己所有參與的項目陸續接近尾聲,也開始參與公司的大數據開發培訓,着手技術轉型,從一直繁忙的狀態漸進停下來後,很多想法慢慢湧出來,開始進入了職業規劃困惑、迷惘的階段,我一直認爲自己是個菜鳥,無非是在某些方面有了更多的項目實踐經驗,踩了更多的坑,認識了更多的同行,聽了更多不同但版本類似的開涮、開發踩坑&上線故事。我知道自己的工作一直以來更像是個CRUD guy,如果不再改變,不僅僅是止步不前,大浪淘沙的行業規則下,要麼成爲被洗淨的沙石,要麼淪爲污泥濁水。
認識到這個問題後,我開始迴歸基礎,首先是對關係型數據庫進行了理論學習、實踐,又針對性的對MySQL進行系統的學習(一直進行中)。
老當益壯的SQL
有一段時間,周圍的同事開始討論NoSQL,言下之意好像SQL不再是主流,要趕緊的學習NoSQL(總有那麼些個看到表象就咋咋呼呼的人), 作爲只用過Redis作爲緩存的NoSQL小白,我也有點慌,因爲一直基於SSM做企業級WEB應用開發,數據庫主要用的Oracle、MySQL,可以說是沒有接觸過NoSQL。後來,換了工作後,心裏一直有這個梗,開始在業餘時間學習Redis、MongoDB。
SQL、NoSQL 都是主流,在架構設計開發時更多的是看你的業務場景更適用於哪種方式或者兼有。
回顧下自己學習過程
搭建本地學習環境
如果你是用Windows系統,推薦通過vagrant + Oracle VM VirtualBox安裝Linux。
vagrant 官網
注:
1、MySQL很多管理工具,比如MMM和MHA都是基於Liunx開發的,所以建議在Liunx系統下使用MySQL.
2、vagrant官網的英文doc閱讀理解起來並不難,需要耐心,儘量不要看中文翻譯版。
大概的學習框架/學習方向
- MySQL系統架構及幾種存儲引擎、各自的優勢
- MySQL基準測試工具:mysqlslap,sysbench
- MySQL架構設計及優化方案
- MySQL讀寫分離如何實現
- MySQL大數據表更新優化
- MySQL索引的優化
- 分庫分表的實現
- 數據庫如何監控
- 瞭解影響MySQL性能的各個因素及解決方案
- 如何建立高性能高可用MySQL集羣
- 如何在不影響業務的前提下進行主從切換