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