進階數(shù)據(jù)庫工程師 你需要Get這些技能
所謂DBA,就是我們通常說的數(shù)據(jù)庫管理員,主要從事數(shù)據(jù)庫安裝、管理、調(diào)優(yōu)、備份、容災(zāi)、集群、安全等。DBA除了對數(shù)據(jù)庫本身比較熟悉外,還要對硬件(主機、存儲、網(wǎng)絡(luò))、操作系統(tǒng)等方面有較好的理解,否則很難成為真正的高手。
傳統(tǒng)DBA必備技能
傳統(tǒng)工作模式下,DBA需要為企業(yè)搭建一套高可用性(HA)、高性能的數(shù)據(jù)庫系統(tǒng),負責(zé)數(shù)據(jù)庫日常維護工作。同時,在數(shù)據(jù)庫出現(xiàn)問題時,能夠及時定位、解決問題。一名優(yōu)秀的DBA通常需要掌握以下的技能:
- 基礎(chǔ)理論知識,包括硬件、操作系統(tǒng)、網(wǎng)絡(luò)、存儲等;
- 數(shù)據(jù)庫基礎(chǔ)知識,包括交互語言(例如SQL)、模式、范式、事務(wù)、鎖等;
- 數(shù)據(jù)庫運維技能,包括部署、備份、高可用、監(jiān)控、遷移、排障、巡檢等;
- 數(shù)據(jù)庫性能調(diào)優(yōu)技能,這是一項很重要的技能,包括慢查詢分析、索引優(yōu)化、參數(shù)調(diào)優(yōu)等。
以數(shù)據(jù)庫調(diào)優(yōu)為例,I/O是比較常見的性能瓶頸,想要實現(xiàn)最大限度的調(diào)優(yōu),不僅要了解磁盤(硬件)的工作原理,了解操作系統(tǒng)的相關(guān)知識,還要掌握數(shù)據(jù)庫自身IO類調(diào)優(yōu)參數(shù)。單這個方向而言,要學(xué)的知識和技術(shù)就非常龐雜的。
云時代,化繁為簡
隨著云時代的到來,云數(shù)據(jù)庫的應(yīng)用與大規(guī)模普及,為DBA帶來了不少積極的變化。云數(shù)據(jù)庫具有免部署、高性能、高可靠性、以及強大的靈活性和擴展性等性能,可以大大簡化DBA重復(fù)和瑣碎的日常工作。
1)免部署
云數(shù)據(jù)庫一鍵部署,通過簡單的購買操作,分鐘級甚至秒級交付。云數(shù)據(jù)庫種類豐富,關(guān)系型數(shù)據(jù)庫如MySQL、PostgreSQL、SQL Server,非關(guān)系型數(shù)據(jù)庫如MongoDB、Redis、Memcache,兼容和支持各種版本
2)高性能
云數(shù)據(jù)庫軟硬件深度調(diào)優(yōu),具有理想的性能表現(xiàn)。同時,底層硬件較快引入最新高性能硬件,例如NVMe、Skylake、25Gb高速網(wǎng)絡(luò)等。云數(shù)據(jù)庫多種性能加持下,DBA可聚焦在應(yīng)用層優(yōu)化。
3)高可用性
一般云數(shù)據(jù)庫默認高可用架構(gòu),發(fā)生某些故障時,云數(shù)據(jù)庫能夠自動探測,及時容災(zāi),保證數(shù)據(jù)庫服務(wù)不中斷。以UCloud云數(shù)據(jù)庫為例,達到了99.95%以上的可用性,會自動支持跨可用區(qū)部署,容災(zāi)級別更高。這樣,對于DBA來說,也不需要再額外部署高可用架構(gòu)。
4)強大靈活性和擴展性
云數(shù)據(jù)庫彈性擴展的能力,至少是支持垂直擴展(scale-up),通常也支持水平擴展(scale-out)。靈活性則是第三維度的擴展,它可以支持一主多從,讀寫分離。DBA能夠在短期內(nèi)聚焦業(yè)務(wù),暫時不會有擴展性的煩惱。
5)自帶運維能力
云數(shù)據(jù)庫通常支持自動備份和手動備份兩種模式,自定義備份策略,例如黑名單、備份時間段、備份源等。當(dāng)出現(xiàn)誤操作時,云數(shù)據(jù)庫一般會提供一鍵回檔的功能找回數(shù)據(jù)。并提供詳細的監(jiān)控數(shù)據(jù),web console展現(xiàn)大多數(shù)關(guān)鍵性指標,也可配置異常自動告警??梢哉f,DBA對云數(shù)據(jù)庫基本沒有運維工作。
6)安全可靠
云數(shù)據(jù)庫在數(shù)據(jù)存儲、網(wǎng)絡(luò)鏈路訪問、鑒權(quán)認證、多租戶隔離方面做了多重保障,以確保數(shù)據(jù)安全,除此之外,它可以支持數(shù)據(jù)庫審計,后端自動漏洞掃描,定期安全加固等。
7)自帶7*24小時專業(yè)DBA服務(wù)
這點非常貼心,當(dāng)DBA或者研發(fā)遇到疑難雜癥時,可以讓云數(shù)據(jù)庫的專家在線幫忙分析、解決,迅速閉環(huán)。專業(yè)服務(wù)還包括遷移上云、架構(gòu)咨詢、診斷、巡檢、性能調(diào)優(yōu)等。
新時代,Get新技能
使用云數(shù)據(jù)庫后,DBA可以有更多時間關(guān)注其他技能的鍛煉和培養(yǎng),提升自己的綜合競爭力,例如:
業(yè)務(wù)技能,在日常巡檢、管理維護和故障響應(yīng)工作之外,需要有更多時間專注業(yè)務(wù)發(fā)展,能力向業(yè)務(wù)側(cè)轉(zhuǎn)型。
架構(gòu)設(shè)計技能,學(xué)習(xí)、制定合理的數(shù)據(jù)庫架構(gòu),以支撐未來業(yè)務(wù)發(fā)展,要做到這點,挑戰(zhàn)還是蠻大的,個人收獲也會很多。
軟件開發(fā)技能,掌握DevOps技術(shù)棧,與業(yè)務(wù)相結(jié)合,做SRE(Site Reliability Engineer)。
云數(shù)據(jù)庫帶來諸多便利,使DBA工作內(nèi)容發(fā)生了變化,但不管是通用技能還是新技能,DBA的技能提升都是由淺入深,循序漸進,需要靠業(yè)余理論學(xué)習(xí)加上工作實踐逐漸成長和積累,這條路上沒有捷徑。最后,本文附上一份數(shù)據(jù)庫工程師技能成長圖譜,希望對諸位DBA XDJM有所幫助。
網(wǎng)站圖片壓縮會導(dǎo)致部分內(nèi)容不清晰,感興趣的讀者可以點擊鏈接免費下載高清電子版