你真的了解數(shù)據(jù)庫工程師嗎?寫給想從事數(shù)據(jù)庫方面工作的朋友
每當我給別人介紹我的職位是數(shù)據(jù)庫工程師的時候,別人都會用疑惑的眼睛看著我??倳伋鲆粋€問題:數(shù)據(jù)庫工程師是做什么的?
對于經(jīng)常聽到數(shù)據(jù)庫管理員(DBA),數(shù)據(jù)分析師,數(shù)據(jù)庫開發(fā)工程師,數(shù)據(jù)挖掘工程師,數(shù)據(jù)架構師,ETL工程師等這些職位,之前我也是比較困惑。但是隨著工作久了,對這些職位也有一些自己的了解。希望通過本文讓想從事數(shù)據(jù)庫方面的朋友有一定的了解。
數(shù)據(jù)庫工程師一般分為開發(fā)和管理兩種
一般人剛接觸數(shù)據(jù)庫基本都是數(shù)據(jù)庫開發(fā),就是寫SQL代碼,按照一定的語法完成某項邏輯任務。這階段就是按需求查詢出數(shù)據(jù)即可,不出邏輯錯誤就行了。
我最開始就是從事這樣的工作,每天統(tǒng)計各個部門的數(shù)據(jù)就OK了,工作比較單一,當然初級階段的工作也不會讓你做很復雜的工作。
一般這樣的工作一些小公司都會直接讓軟件開發(fā)工程師兼崗,只有那種數(shù)據(jù)需求量比較頻繁的公司才會單獨設立這種比較初級的數(shù)據(jù)統(tǒng)計崗位。抑或是給一些銀行,電信,電力等這種大型的企業(yè)做服務外包,這些企業(yè)在目前還是很需要這類數(shù)據(jù)庫開發(fā)類人才的,特別是剛畢業(yè)的大學實習生。
隨著知識的積累,接觸的開發(fā)任務會越來越多,越來越復雜。這時候你接觸到的技術會越來越多,從數(shù)據(jù)采集,到數(shù)據(jù)加工處理,再到數(shù)據(jù)分發(fā)等等都會涉及到。
數(shù)據(jù)庫管理就是我們常說的DBA,主要是從事的數(shù)據(jù)庫管理工作,包括數(shù)據(jù)的備份,恢復,故障處理,查詢優(yōu)化,性能監(jiān)控等,對操作系統(tǒng)和數(shù)據(jù)庫的原理要比較了解。
對自身的技術能力要求比較高,所以剛入行的除非在這一方面有比較高的造詣和研究,公司是不會招新人從事這份工作的,一般是數(shù)據(jù)庫開發(fā)或者軟件開發(fā)的轉(zhuǎn)行做DBA,他們使用的數(shù)據(jù)庫比較多,經(jīng)過日積月累對數(shù)據(jù)庫性能和故障處理有一定的了解。當然也有其他職務轉(zhuǎn)做DBA的,不變的是他們都和數(shù)據(jù)庫打交道比較久。
在職務薪酬這一塊,我了解到的是DBA的薪酬一般是高于數(shù)據(jù)庫開發(fā)的,經(jīng)驗豐富的DBA一般人只能望其項背,當然也有從刪庫到跑路的DBA。重要的還是對一些技術原理的掌握和對故障的精準判斷,這些都是靠時間積累的。
目前在國內(nèi)DBA一般是Oracle和Mysql比較流行,MSSQL的DBA也有,比較少。這與數(shù)據(jù)庫所占份額及通用性有關,Oracle和Mysql在Windows和Linux環(huán)境都可以很好的兼容,但是MSSQL在2017年之前都一直只支持自家的Windows操作系統(tǒng)。
新手同學要入行數(shù)據(jù)這一行啟蒙數(shù)據(jù)庫大多數(shù)都是MSSQL,主要是它可視化界面比Oracle和Mysql友好。但是真正的大神還是比較喜歡命令界面,畢竟命令界面的響應速度快的不是一點點,而且命令界面也有助于更好的記住數(shù)據(jù)庫的相關命令(以上是個人愚見)。
如果你想快速上手數(shù)據(jù)庫的唯一途徑就是理論加實踐,多看書,多操作。我想不管是哪一行都是這樣的。
那些標榜一個月從入門到精通的培訓或教程實在不敢茍同,可能我比較笨,之前一個月的時間,跟著視頻教程來學我連門都沒找到。
真正讓我成長起來的還是工作后每天成堆的數(shù)據(jù)需求,迫使我不斷努力進步。當然這里不是否定培訓價值,他們是引導我們打好基礎的有效途徑,其他的完全靠自己。因為有些問題只有在工作中遇到了才知道怎么處理,紙上談兵是解決不了問題的。
此外還是得有不恥下問的精神和勇氣,即使老師想把所有知識都傳授給你,但是他不知道你哪里不懂那他只能按照自己的章法去傳授,這樣的結果就是他的任務完成了,至于你懂了沒他并不知道。
類似的,我寫這個公眾號,我也是從我經(jīng)歷的角度去給大家普及知識,但是至于你有沒有完全掌握我普及的這些內(nèi)容,或者哪里不明白,你不說我是不知道的。其實我很歡迎你們問我,但是我發(fā)現(xiàn)好些同學就是關注了就算了,被動的接受知識感覺效果不怎么明顯。
我也不是什么大神,真正遇到問題我也會去請教別人,直到能夠解決并且弄明白這個問題。能夠幫你解決問題的人都值得我們?nèi)W習,去請教。
數(shù)據(jù)庫打好基礎真的不難,只要肯花時間去練。短時間就可以掌握這些基礎知識。再加上實踐,經(jīng)過時間的錘煉,總會在某一方面有自己的建樹的。
數(shù)據(jù)庫工程師相比其他軟件工程師,目前確實比較尷尬。知道的人較少,但是隨著互聯(lián)網(wǎng)數(shù)據(jù)的爆發(fā)式增長,個人認為,在這一方面需要比較專一的人才需求會越來越強烈。當然我個人認為最重要的還是興趣,千萬不要人云亦云的跟著別人的看法走。