寫給資料庫運維的兄弟
習慣至深入
在很多次和運維人員交流的過程中發現,我知道的名詞和他知道的名詞完全不是一個東西!比如:死鎖,接觸的很多技術人員把阻塞理解成死鎖。同樣提到索引,他會說:“不用講,這我都懂!”,那麼什麼是聯合索引,什麼是覆蓋索引?覆蓋索引怎麼能降低你的死鎖機率?這時他的反應才是:哦...原來還可以這樣,原來還有這麼多東西!
模擬一個場景,領導開會的時候問你如下問題:
領導問:
-
資料庫有多大 ?每天增長多少 ?
-
高峰時間卡慢麼 ? 為什麼慢 ? 資料庫問題還是軟體或硬體?
-
系統中那些語句慢 ? 慢到什麼程度?
-
系統中哪些資源是瓶頸 ?
-
存在死鎖情況麼?怎麼產生的?
-
有什麼潛在風險 ?
-
怎麼解決 ?
很多人運維人員的回答可能是:
。。。。。。。。。。
而問題發生的時候可能發生的情況就是這樣的:
問題 5 你是哪一類?
背景:今天,資料庫普遍存在問題,如:效能問題、安全問題、可靠性問題、資料備份問題、結構設計問題等。
結論:
-
當出了問題時,使用者不知道是誰的原因,系統的真實狀況如何?
-
問題一大堆,多數人沒意識到是資料庫問題,很多人想弄但不會弄,還有一部分人會弄但傳統的方法不方便。
問題 6 你是下面哪個角色?
問題 7 是否有這樣的痛
-
人手有限,往往身兼數職(網管、專案管理、協調廠商、DBA、應用、寫報告),既有很多協調性的管理工作,又有一些專業技術工作,尤其是資料庫,短時間是很難深入掌握的。
-
自己開發系統,擅長程式開發,對於資料庫,瞭解的不深,更多的是業務邏輯,比如表結構設計、如何寫儲存過程等,導致後期很多業務存在效能瓶頸。
-
買的軟體廠商的,在他們的行業裡,IT運維人員對系統進行的往往是簡單維護,做的最多的是和業務功能相關的事情,很多資料庫的專業問題困擾著他們,招聘資料庫專家吧,人家不來,自己解決吧,又很吃力,尋求廠商,他們也沒有好的方案,整合商就是換硬體。
-
問題
問題 8 怎麼辦?
可能不少看官就是上面的一員,但是又很迷惑,我該怎麼辦?我要從頭深入學習資料庫?學個幾年到精通?當然不現實,下面就說一說我從業十年從小白到技術支援的感悟。
如果對技術感興趣想在資料庫這條路上長久的走下去,並且也想成為獨擋一面的大神,那麼耐下心來看書學習是必經之路,並且在實際的專案中不斷積累慢慢的在坑中成長。
自己的SQL學習之路有好多個Level下面具體說一說:
LV1 :程式開發中寫過大量比較複雜邏輯的SQL語句,報表查詢,如2000行以上的儲存過程,儲存過程巢狀儲存過程等等。
寫過這種複雜SQL程式的開發人員也許都會有一種 我資料庫已經無敵了什麼都會了的感覺。
在專案中特別愛寫SQL,有的老員工一些複雜SQL也會讓你幫忙。
這個時候的感覺真好!
LV2 :開始學習SQL語句的最佳化,慢慢開始分析執行計劃。
雖然執行計劃看的不是很明白但是已經知道語句慢在哪裡,知道使用索引,臨時表等一些簡單的最佳化手段。
慢慢的知道了什麼是快取計劃,什麼是引數嗅探。
SQL語句幾分鐘變成幾秒鐘,感覺真奇妙~~哈哈~~
LV3 :開始學習資料庫體系架構瞭解原理,學習使用系統表檢視檢視當前狀態
這個階段是痛苦而漫長的需要看大量的書動手實踐也是必不可少的。
當看完2005技術內幕的4本書,可以給身邊的人從原理講講什麼是SQL 怎麼執行的~飄飄的感覺又來了。
這個階段是興奮又迷茫的,感覺自己會了很多東西但與此同時又感覺到自己什麼都不會了...
LV4 :幾條線開始顯現出來,SQL開發,最佳化,叢集技術,故障排查。
很多SQL開發的 應用。
profiler、perfmon的基本應用(雖然很多引數指標看不懂)、能讀懂較為簡單的執行計劃並根據情況做語句最佳化。
能搭建事務日誌傳輸、映象、釋出訂閱、故障轉移群集。
簡單的故障可以解決。
我就走上了初級DBA的道路....
LV5 :依然不斷學習SQL原理,深扣細節,多看部落格文章自己動手模擬情景。
瞭解更多的資料庫功能應用。出現問題有更多的知識儲備處理問題。
熟悉常規套路,找出的系統瓶頸及有哪些處理辦法,語句的最佳化提示等等。
漫長漫長又漫長的積累經驗。
LV6 :作為技術支援,見過上百家客戶的系統,見過大量的情景,依然不斷的積累經驗。
已經過去的2016年被稱為VR元年、intelligence元年,其實也是IT運維的元年,國內協作運維服務已經熱起來,專業的人幹專業的事兒,也許這樣的第三方運維引入可以解決上面的問題,協作運維的好處不用過多說明,即可節約成本,又能找到專業的人做專業的事情,使用者和廠商只需要關注自身業務,而不需要過多的參與到細節的運維工作中。
很多
企業已經先行嚐到了這種你好,我好,他也好的甜頭。
工具化運維
所謂工欲善其事必先利其器,各行各業都一樣,一款合手適用的工具幫助提高效率,節約成本,在專業領域運維中尤為突出。以我們的”SQL專家雲“來說,數十位優秀的SQL Server領域專家根據自身運維技術經驗,打造出的SQL Server體檢、診斷、監控一體化平臺,用專業與專注解放IT運維人。
小感悟
運維三步走:
發現問題
解決問題
預防問題
親身處理了上百家客戶的系統,大部分系統資料庫都存在著各種資料庫問題,而資料庫問題往往被忽視,直接被歸結為軟體的問題,廠商的問題!
資料庫應該被我們重視起來,很多時候只是在資料庫上做一些常規的配置或簡單的最佳化,就能讓系統有幾倍甚至幾十倍的提升,而這些最佳化可能只是簡簡單單的資料庫層面完全不用改程式碼的行為!
系統運維需要定期體檢,這點真心希望運維人員能夠重視起來,也真心希望系統運維人員可以加深一下對資料庫的瞭解,多掌握一些常規的手段和必要的運維策略。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70023658/viewspace-2943707/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫運維的那些難題,深信服DMP給解決了資料庫運維
- 資料庫運維 | 攜程分散式圖資料庫NebulaGraph運維治理實踐資料庫運維分散式
- MySQL 資料庫日常運維文件MySql資料庫運維
- 達夢資料庫日常運維資料庫運維
- 資料庫運維管理規範資料庫運維
- MySQL資料庫是什麼?linux資料庫運維MySql資料庫Linux運維
- 分散式資料庫運維有啥特殊的?分散式資料庫運維
- 如何落地資料庫智慧化運維?資料庫運維
- ansible自動化運維資料庫運維資料庫
- 細說資料庫協作運維資料庫運維
- 愛可生的“資料庫運維”啟示錄資料庫運維
- 資料庫智慧運維探索與實踐資料庫運維
- 聊聊資料庫~6.SQL運維中篇資料庫SQL運維
- Mysql運維-資料庫及表相關操作MySql運維資料庫
- 如何運維多叢集資料庫?58 同城 NebulaGraph Database 運維實踐運維資料庫Database
- AIOps在京東資料庫運維中的典型應用AI資料庫運維
- 資料庫伺服器運維最佳實踐資料庫伺服器運維
- 常見的資料庫模型有哪些?Linux運維入門資料庫模型Linux運維
- 資料治理對運維資料體系的思考與啟發 | 運維進階運維
- 運維相關的資料整理運維
- 美創運維日記|Oracle資料庫的軟體版本需知運維Oracle資料庫
- PG資料庫運維中的作業系統關注點資料庫運維作業系統
- 圖資料庫驅動的基礎設施運維實操資料庫運維
- 京東資料庫智慧運維平臺建設之路資料庫運維
- 企業資料庫安全管理規範 | 運維進階資料庫運維
- 雲原生時代資料庫運維體系演進資料庫運維
- 寫給關聯式資料庫開發者的 TDengine 入門指南資料庫
- 【磐維資料庫】透過python訪問磐維資料庫資料庫Python
- 全面總結!阿里巴巴資料庫運維演進之路阿里資料庫運維
- 資料庫監控工具--PIGOSSBSM運維監控管理系統資料庫Go運維
- Oracle資料庫監控和運維關注哪些方面Oracle資料庫運維
- 資料庫簡化運維,智慧診斷助手幫你搞定!資料庫運維
- Oracle資料庫的軟體支援週期需知|美創運維日記Oracle資料庫運維
- DataGrip,一款資料庫客戶端工具,IDEA的兄弟是真香!資料庫客戶端Idea
- Pandas讀寫資料庫資料庫
- 【磐維資料庫】Oracle(透明閘道器)訪問磐維資料庫(PanWeiDB)資料庫Oracle
- 運維實戰:Linux系統擴充套件oracle資料庫所在的分割槽運維Linux套件Oracle資料庫
- IT公司防止運維偷窺和篡改資料庫的最佳武器-雲堡壘機!運維資料庫