官术网_书友最值得收藏!

2.5 要想成為一名出色的數(shù)據(jù)庫程序員,需要掌握哪些必備的知識?

數(shù)據(jù)庫應用可以分為數(shù)據(jù)庫開發(fā)、數(shù)據(jù)庫管理、數(shù)據(jù)庫優(yōu)化、數(shù)據(jù)庫設計等。知識點非常多,但是我們要根據(jù)自己的工作性質來選擇性地學習??傮w來說,需要了解數(shù)據(jù)庫有哪些功能,數(shù)據(jù)庫應用可以如何分類,并且要知道哪些是重點知識,是“二八現(xiàn)象”中的“二”,才能更有重點的去學習。如果你是一個數(shù)據(jù)庫開發(fā)人員,那么你就應該首先了解SQL和PL/SQL的編寫,而不是數(shù)據(jù)庫的備份與恢復。數(shù)據(jù)庫開發(fā)要求開發(fā)人員能利用SQL完成數(shù)據(jù)庫的增刪改查的基本操作;能用PL/SQL完成各類邏輯的實現(xiàn)。

相比數(shù)據(jù)庫開發(fā)來說,數(shù)據(jù)庫管理人員的人數(shù)需求在IT市場要少得多,這是由工作性質決定的。無論生產還是測試環(huán)境,搭建數(shù)據(jù)庫都不可能非常頻繁。另外如果數(shù)據(jù)崩潰需要恢復、數(shù)據(jù)需要遷移、緊急故障需要處理的情況頻繁出現(xiàn),那這個企業(yè)基本上也無法正常運營下去了。一旦出現(xiàn)問題,管理人員無法及時恢復故障,將會受到來自各方面的指責,壓力非常大。和開發(fā)人員相比,管理人員不需要每時每刻地忙碌著,但是卻要時刻注意充電,提升自己的應急處理能力,還需要時刻對系統(tǒng)進行健康檢查,以防不測。此外,雖然開發(fā)在邏輯思維方面的要求要高于管理,但是責任和壓力卻遠沒有管理這么大。數(shù)據(jù)庫管理能完成數(shù)據(jù)庫的安裝、部署、參數(shù)調試、備份恢復、數(shù)據(jù)遷移等系統(tǒng)相關的工作;能完成分配用戶、控制權限、表空間劃分等管理相關工作;能進行故障定位、問題分析等數(shù)據(jù)庫診斷修復相關工作。

不少企業(yè)沒有設置專門的數(shù)據(jù)庫優(yōu)化崗位,它可能被融入資深開發(fā)、資深管理和資深設計人員的技能之中。對于有這樣角色的企業(yè)來說,場景可能是這樣的:生產環(huán)境運行緩慢,數(shù)據(jù)庫管理人員通過跟蹤診斷,查出問題所在,原來是系列SQL運行緩慢導致的整個數(shù)據(jù)庫性能低下。那這個時候對于數(shù)據(jù)庫管理人員來說,他的工作結束了,然后優(yōu)化人員介入,利用自己的知識優(yōu)化這些SQL。在沒有專門角色的場景下,可能是這個管理人員有著豐富的技能,他優(yōu)化了這些SQL,也可能是資深開發(fā)人員或者是資深設計人員優(yōu)化了這些SQL。但是從工作職責劃分、從更專業(yè)的角度來說,應該設置專職人員。數(shù)據(jù)庫優(yōu)化所需要的人員是最難估算的,或許很多,或許很少,甚至沒有,但是卻是最重要的技能之一。其實開發(fā)、管理、設計三個角色,對優(yōu)化相關知識的學習應該是多多益善,懂得越多,工作越得心應手。數(shù)據(jù)庫優(yōu)化能在深入了解數(shù)據(jù)庫的運行原理的基礎上,利用各類工具及手段發(fā)現(xiàn)并解決數(shù)據(jù)庫存在的性能問題,從而提升數(shù)據(jù)庫運行效率,這個說著簡單,其實很不容易。

數(shù)據(jù)庫設計需要掌握的知識點最多,從事數(shù)據(jù)庫設計是最不容易的,這是屬于核心崗位的位置,少數(shù)人的規(guī)劃和部署決定了產品最終的質量和生命力。從市場需求來說,從事設計的人員最少。一般來說,一個應屆畢業(yè)生在相關開發(fā)、管理崗位努力工作兩年后,都可以把開發(fā)及管理工作做得比較出色,優(yōu)化工作的得心應手應該至少要三年以上,但是要想從事設計相關工作,一般需要五年以上的工作經驗。不知道大家是否注意到,設計中已經強調了對業(yè)務的了解。數(shù)據(jù)庫設計能深刻理解業(yè)務需求和數(shù)據(jù)庫原理,合理高效地完成數(shù)據(jù)庫模型的建設,設計出各類表及索引等數(shù)據(jù)庫對象,讓后續(xù)應用開發(fā)可以高效穩(wěn)定。

另外,在就業(yè)的時候很多人眼高手低,一畢業(yè)就想從事設計及優(yōu)化相關工作,結果碰了一鼻子灰找不到工作,因為企業(yè)根本不給你這個機會。也有人一個勁地想做數(shù)據(jù)庫管理工作,但是由于管理相關的崗位比較少,結果成功的人比較少。很多時候當興趣和工作不匹配時,不要強求,要耐心找機會。比如SQL開發(fā)技巧掌握后,可以匹配到很多適合自己的崗位,輕易地獲取工作機會,而精通SQL及PL/SQL開發(fā)技巧,對管理優(yōu)化和設計都是非常有幫助的。

對于一個從事數(shù)據(jù)庫相關工作的人來說,如果這樣走過,那么應該是一個完美的路線。剛畢業(yè)從事數(shù)據(jù)庫開發(fā)相關工作,后續(xù)有機會再從事管理相關工作,期間兼顧優(yōu)化相關的技能學習,主動承當起優(yōu)化的任務,爭取成為一個兼職或者專職的優(yōu)化人員。最后,隨著各項技能的嫻熟掌握和業(yè)務知識的不斷熟悉,在學習掌握了設計相關的知識后,水到渠成地從事數(shù)據(jù)庫設計相關工作,在這相對較長的時間里,人來人往潮起潮落,你總能等到你感興趣的工作角色。這樣一路走過來的技術人員應該不是一般的技術人員,而是一個技術專家,企業(yè)的核心技術骨干。當然,大家千萬不要誤認為設計就一定比管理好,管理就一定強過開發(fā),市場的供需決定了人員的比例,但是各個崗位都可以有出色的專家,最完美的還是能夠在自己感興趣的領域中大展手腳!

要想成為一名出色的數(shù)據(jù)庫程序員,需要掌握的知識非常多,尤其現(xiàn)今的很多企業(yè)對DBA的要求極高,一般都是要求熟練掌握一種數(shù)據(jù)庫,熟悉其他數(shù)據(jù)庫。圖2-1展示了一名優(yōu)秀的DBA需要掌握的一些基本內容。

圖2-1 DBA技能圖

對于這些內容,可以從一些博客或著名網站去學習,例如作者的博客、itpub論壇、Oracle官方網站等。一定要學會對Oracle官方文檔的搜索。讀者可以去我的云盤下載離線的官方文檔。在Oracle學習初期可以利用我制作好的CHM格式的官方幫助文檔進行全文搜索。另外,我在個人云盤里分享了很多的學習資料,包括數(shù)據(jù)庫、Java等其他資料,讀者可以有選擇性地自行下載需要的學習資料。所以,總體來說,獲取Oracle知識的可靠途徑包括官方文檔(Concepts部分需要反復閱讀)、好的培訓機構培訓、購買相關書籍(因為可能遺忘,所以好書需要反復閱讀)、閱讀大神的博客和公眾號、請教公司前輩、做實驗摸索總結等。

接下來將業(yè)內名人的一些話送給大家:①勤奮、堅持,這兩點非常重要,當然如果能夠找到自己的興趣,作為職業(yè),用正確的方法,走正確的路,那么取得成績是早晚的事情,我經常寫給讀者的座右銘就是:天道酬勤!②在看不清方向的時候,低下頭來把手中的工作做好。③向他人學習,向聰明人學習,借鑒成功者、同行者的經驗非常重要。④敞開心胸,平淡看得失。⑤在正確的時間做正確的事,比如結婚、生子。⑥行動有時候比思想更重要。

主站蜘蛛池模板: 孟村| 宜春市| 平定县| 集安市| 墨玉县| 景德镇市| 黄梅县| 沾益县| 古交市| 永州市| 都匀市| 牟定县| 五峰| 蛟河市| 萨迦县| 本溪| 民权县| 宁陵县| 泗阳县| 湖南省| 板桥市| 顺义区| 阿克| 张家口市| 荔浦县| 宁晋县| 余庆县| 开远市| 昔阳县| 都兰县| 南康市| 灵璧县| 宾川县| 闽侯县| 饶阳县| 蒙阴县| 高雄市| 明光市| 琼结县| 集安市| 监利县|