導航:首頁 > 程序命令 > 程序員和DBA

程序員和DBA

發布時間:2023-02-11 06:33:41

❶ DBA和軟體工程師的區別有多大

DBA和軟體工程師的工作內容和崗位職責大不相同。
首先,資料庫管理員任務安裝和升級資料庫伺服器(如Oracle、Microsoft SQL server),以及應用程序工具。資料庫設計系統存儲方案,並制定未來的存儲需求計劃。一旦開發人員設計了一個應用,就需要DBA來創建資料庫存儲結構(tablespaces)。根據開發人員的反饋信息,必要的時候,修改資料庫的結構。登記資料庫的用戶,維護資料庫的安全性。保證資料庫的使用符合知識產權相關法規。 控制和監控用戶對資料庫的存取訪問。監控和優化資料庫的性能。制定資料庫備份計劃,災難出現時對資料庫信息進行恢復維護適當介質上的存檔或者備份數據備份和恢復資料庫聯系資料庫系統的生產廠商,跟蹤技術信息。
其次,軟體工程師是從事軟體開發相關工作的人員的統稱。它是一個廣義的概念,包括軟體設計人員、軟體架構人員、軟體工程管理人員、程序員等一系列崗位。這些崗位的分工不同,職位和/或級別不同,但工作內容都是與軟體開發生產相關的。軟體工程師是IT行業需求量最大的職位,穩居IT行業職位需求TOP10的第一位(第二位是高級軟體工程師)。 軟體工程師的技術要求是比較全面的,除了最基礎的編程語言(C語言/C++/java等)、資料庫技術(SQL/ORACLE/DB2等)、.NET平台技術、C#、C/S B/S程序開發,還有諸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING、J2EE、WEB SERVICE、STRUTS等前沿技術。
除此之外,關於網路工程和軟體測試的其他技術也要有所涉獵,以利於操控全局。 軟體工程師可謂是軟體項目開發的掌舵者。一名優秀的軟體工程師應當具有較強的邏輯思維能力,對於技術的發展有敏銳的嗅覺。雖然要求技術全面,但無須偏執於門門技術都精通,任何軟體工程師都有自己的技術特長和偏向,對於自己手中的技術,可有精通-掌握-熟悉-了解之分,根據工作需要和職業發展的具體情況來劃分。

❷ DBA,系統分析員,應用程序員,普通用戶分別通過什麼方式訪問DBMS

資料庫系統一般由資料庫,資料庫管理系統(及其開發工具),應用系統,資料庫管理員和用戶構成
一個硬體平台和資料庫

由於資料庫系統是數據量很大,加上與資料庫管理系統豐富的功能使自己的規模大,所以整個資料庫系統的硬體資源提出了更高的要求,它們是:

(1)足夠大的內存來存儲操作系統,資料庫管理系統的核心模塊,數據緩存和應用程序。

(2)有一個足夠大的磁碟存儲設備,如直接訪問資料庫,有足夠的磁帶(或計算機軟盤)操作數進行備份。

(3)需要具有在為了提高數據傳輸速率更高的信道容量的系統。

二,軟體

資料庫系統軟體包括:

(1)資料庫管理系統。資料庫管理系統被配置為建立,使用和維護的資料庫軟體。

(2)DBMS運行受支持的操作系統。

(3)具有高級語言和編譯系統和資料庫介面,便於開發應用程序。

(4)資料庫管理系統為核心的應用開發工具。

應用程序開發工具是為應用程序開發人員和最終用戶提供高效率的系統,各種軟體工具多用途的應用程序生成器,如第四代語言。他們提供了一個良好的環境,資料庫系統的開發和應用。

(5)對於一個特定的應用程序開發環境,資料庫應用系統。

3

員工發展,管理和使用的資料庫系統,主要的人,分別是:資料庫管理員,系統分析員和資料庫設計人員,應用程序員和最終用戶。不同的人參與不同的數據抽象層,與數據的不同視圖,如圖1.30,各自的職責分別是:

1。資料庫管理員(資料庫管理員,簡稱DBA)在資料庫系統環境中,有兩種類型的共享資源。之一是一個資料庫,而另一個是一個資料庫管理系統軟體。因此,需要專門的管理機構來監控和管理的資料庫系統。 DBA是一個(群)人在這個組織,負責資料庫系統的整體管理和控制。具體職責包括:

(1)確定資料庫內容和結構什麼樣的信息應該存儲在資料庫中,DBA戰術參與政策。因此,DBA必須參與資料庫設計的全過程,並與用戶,應用程序員,系統分析員密切合作,共同協商,提高資料庫的設計。

(2)確定的存儲結構和存取策略

DBA資料庫,以鞏固用戶的應用需求,以及資料庫設計人員共同決定,以取得利用率的存儲結構和數據訪問策略的高存取效率和存儲空間。重要的值班保安要求

(3)和數據完整性約束的定義

DBA是確保資料庫的安全性和完整性。因此DBA負責確定到資料庫中,保密性和數據完整性約束的程度每個用戶的訪問。使用和運行<BR

(4)監控資料庫/> DBA還有一個重要職責是監察資料庫系統,及時處理運行過程中出現的問題的操作。例如,各種系統故障發生時,資料庫會因此受到不同程度的破壞,資料庫管理員必須在最短的時間內將資料庫恢復到正確的狀態,並盡可能不影響較少的正常運行影響計算機系統的其他部分。為此,DBA定義和實施適當的備份和恢復策略。如周期性數據轉儲,維護日誌文件。在這方面的內容將在下面進一步討論。改進和重組

(5)資料庫重構

DBA也負責系統的運行要求空間利用監控系統,處理效率和操作進行記錄,統計分析等性能指標,依靠的做法的工作,並根據實際的應用環境,持續改進資料庫設計。很多資料庫產品提供資料庫健康監測和分析實用程序,DBA可以使用這些工具做的工作。

另外,處理數據的操作,大量數據的繼續插入,刪除,,隨著時間的推移,會影響系統的性能。因此,DBA應該定期重新組織資料庫,以提高系統性能。

當添加和更改用戶需要的時候,DBA還大的資料庫的改造,包括設計該資料庫的重新結構部分。 2。為系統分析員和資料庫設計人員應用系統分析員的需求是負責系統的分析和規范,以及用戶和DBA進行組合,以確定系統的硬體和軟體配置,並參與資料庫系統的概要設計。

資料庫,以確定負責在資料庫中的設計數據的人員,資料庫設計模式在不同的水平。資料庫設計人員必須考慮用戶需求調查和系統分析,資料庫設計,然後。在許多情況下,資料庫設計者將資料庫管理員來執行。 3。負責設計和應用程序程序員編寫應用程序的程序模塊,調試和安裝應用程序的程序員。 4。用戶,用戶是最終用戶(最終用戶)。最終用戶通過使用資料庫系統的用戶界面的應用程序。介面方法是常用的瀏覽器,菜單驅動,操作表格,圖形,報告撰寫等,為用戶提供簡單,直觀的數據表示。

終端用戶可分為以下三類:

(1)臨時用戶。如用戶不經常訪問的資料庫,但每次訪問資料庫時往往需要不同的資料庫中的信息,例如用戶在一般的企業或組織高層和中層管理人員。

(2)簡單的用戶。最簡單的最終用戶資料庫用戶。它的主要工作是查詢和資料庫,通常由應用程序設計,並具有友好的人機界面的應用程序來訪問資料庫。銀行工作人員,機票預訂員,酒店前台服務員都屬於此類用戶。
(3)用戶的復雜性。經驗豐富的用戶,包括工程師,科學家,經濟學家,科技工作者,如科技人員具有較高的背景。這類用戶一般都比較熟悉資料庫管理系統的各項功能直接訪問使用資料庫語言的資料庫,甚至可以編寫自己的應用程序的資料庫管理系統API。

❸ 資料庫dba工程師有35歲中年危機嗎30歲之後再入行資料庫dba職位可以嗎

基本來不及,資料庫這塊和編程什麼的有一定的共同性,那就是「易懂難精」。
就平時用到的來說可能增刪改查就足夠了,不過如果是dba那就不一樣了。
小一些的簡單一些的:表的設計,範式結構設計(其實就是數據範式結構化的意思),查詢語句設計。
系統化一些的:展現控制,數據流程,數據調優,系統優化,數據治理等等。
高大上一些的,比如資料庫架構,演算法設計等等。
現在提倡雲計算,可能還要有一些java的變成基礎,可能還需要hadoop等等。
如果原來是做實施運維的,那麼資料庫確實會接觸一些,不過內容不會特別深入,但是如果轉行做dba那就不一樣了。
記得十年前給公司的運維培訓的時候,我曾經講過資料庫,不過運維大多興趣缺缺,因為這些在實際中雖然一直在用,但並不是那麼明顯,他們不想弄明白為什麼要這么調,只要知道怎麼調就可以了,而為什麼這么調正是dba的工作。
至於有沒有35歲危機,答案是有,在國內來說dba和程序員是一樣的,如果一個人35歲還是一個程序員,你覺得會不會有危機,肯定有,dba的工作也一樣。當然dba稍微好一點就是這個工作真的需要經驗,不過按照你的說法,現在入行,確實有點晚了。
不過也可能你十分適合資料庫的工作,很快就能完成以上的內容,然後大獲成功,馬雲也是30多歲才創業,不也成功了嗎,我的說法只適合一般人,如果你能轉行成功,那麼只能說明你真的很強。

❹ 運維、測試、程序員,這些技術崗位哪個更有前景

在一個初具規模的互聯網公司,從業務方面出發,有很多崗位類型,比如運營、客服、市場、產品、設計、技術等等。

在這些大類下面,還要細分各種小類,以技術為例,可分為前端(客戶端)、後端、測試、運維、DBA等等,這些都是技術類崗位。

那麼如果想從事這些技術崗位,該如何選擇,哪一個更有前途呢?

這五個崗位,可以做一個分類,前端和後端、運維和DBA、測試

前端和後端屬程序類,也就是通常大家知道的程序員,主要是根據產品的需求開發出軟體,屬於公司的技術核心,非常重要。沒有程序員的軟體公司,也不好意思稱為軟體公司。

運維和DBA,這兩個崗位的主要工作是管理伺服器程序運行的環境和依賴的數據。運維可以看成是伺服器管理員,所有跟伺服器相關工作都是由他處理,比如伺服器程序運行環境CPU、內存、磁碟資源監控、網路是否穩定監控,伺服器程序依賴的軟體安裝等等。DBA就是資料庫管理員,專門管理生產環境的資料庫如MySQL、Redis。這兩個崗位的工資不一定比程序員低,但是市場需求沒有程序員旺盛。一家軟體公司可以沒有運維和DBA,但是不能沒有程序。運維和DBA一般只有上規模的企業配備,小公司都由程序員兼任,畢竟如果公司只有個位數的伺服器,完全沒有必要專門配備一個運維,老闆也不願意花這個錢。

測試,雖然也是技術崗位,但是我個人感覺他們的工作不和技術掛鉤,他們的工作就是不斷使用程序員開發出來的軟體,找出其中的BUG和漏洞。與此同時,他們的另一項工作就是督促程序員幹活,修BUG。

論這些崗位的技術含量,我覺得測試是最低的,低端的測試幾乎沒有技術門檻,只要有軟體使用經驗,基本上都能乾乾測試的活,畢竟只是用用軟體找找BUG嘛,而程序和運維則不行,必須掌握基礎的技術技能才能上崗。當然高端的測試另當別論,他們也可以牛逼到天上。

其次是運維,當然並不是說運維這個崗位沒有技術含量,同樣運維的技術含量也很高,只是通常情況下,程序員都會點運維的工作,裝裝環境,監控下伺服器運行情況,都沒什麼問題。反過來,運維卻不一定會程序員的工作。我覺得運維應該是脫胎與程序員,然後隨著行業的發展,獨立成為一個崗位,本質上還是依附與程序員。

最後則是程序,一個合格的程序員,不但要掌握程序員本職的技術,還需要會伺服器運維的技術,比如自己搭建一個測試環境,這樣的技能是必須的,所以對伺服器必然要有較為深入的了解。同時需要會DBA的技術,通常DBA是在數據量巨大的情況下才會配備,大多數時候一家公司不需要DBA,DBA的工作的都由運維或者程序員兼職的。與此同時,程序員還需要測試技能,當程序員寫出來一個程序時,免不了要進行自測,寫測試用例等等,只有經過自己測試,才可以將功能提交給專門的測試人員進一步測試。

所以,對於這三類崗位,我覺得程序員的技術含量是最高的。

我們再來說說這些崗位的發展前景。

對於一個大公司來說,會有專門的研發部門、運維部門、測試部門,然後設有研發總監、運維總監、測試總監,這些領導在公司的身價不相上下,不存在誰壓誰一頭的情況。但是在小公司通常只有一個技術部,這個部門管轄所有技術類員工,包括程序、運維、測試,甚至有的公司還會包含設計人員。而技術部門的領導十有八九是程序員出身,幾乎不太會是運維或測試出身。因為一個軟體公司的技術部門,沒有運維和測試,照樣可以運轉,雖然有可能轉的不順溜,但是一定可以轉,但是沒有程序員,即便運維和測試配備的多麼強大,這個部門也轉不起來。其次一個技術部門程序員的數量絕對是壓制運維和測試人員數量的。因此在程序員中出技術部門領導的概率遠大於在運維和測試中出領導,除非真的遇到難得一見的人才。

所以,如果你想從事互聯網軟體行業的技術崗位,要想選其中比較有前途的技術類崗位,那麼首選程序員,當然,更多的機會也意味著有更大的競爭,同時也有更大的難度,你選擇程序員不見得一定會成為技術部門的領導,選擇測試和運維也不意味著職業生涯會默默無聞,只是相對來說程序員的情景更加明朗。

與此同時,關於35歲程序員會被淘汰的觀點,其實運維和測試的危險性更大,仔細想想難道不是嗎,運維和測試並沒有比程序員更有優勢,反而劣勢一大堆,那麼肯定比程序員先一步面對淘汰,這是市場規則。

❺ 程序員與資料庫是2種不同職業嗎

DBA 資料庫管理員,DBA 的工作是 DBMS 管理和數據維護。這里的資料庫是指企業級資料庫,那種 PC 伺服器上用的不算
好的 DBA 和好的程序員一樣,既不愁沒有市場也不愁沒有價值
沒有市場沒有價值的只是沒有達到一定水平的或者不求上進的一部分,任何職業都一樣

閱讀全文

與程序員和DBA相關的資料

熱點內容
如何截獲手機app連接的ip 瀏覽:330
冰箱壓縮機是否需要電容 瀏覽:344
python列表每一行數據求和 瀏覽:274
自己有一台伺服器可以玩什麼 瀏覽:656
社會學波普諾pdf 瀏覽:584
解壓做食物的小視頻 瀏覽:758
pdf怎麼單獨設置文件夾 瀏覽:474
業務邏輯程序員 瀏覽:659
addto新建文件夾什麼意思 瀏覽:160
有伺服器地址怎麼安裝軟體 瀏覽:659
安卓如何完全清除數據 瀏覽:690
安卓安卓證書怎麼信任 瀏覽:53
伺服器被攻擊如何解決 瀏覽:221
學霸變成程序員 瀏覽:881
c語言編譯錯誤fatalerror 瀏覽:441
ipv4內部伺服器地址怎麼分配 瀏覽:463
java線程安全的方法 瀏覽:951
重復命令畫梯形 瀏覽:164
在疫情就是命令 瀏覽:328
自己搭建一個什麼伺服器好玩 瀏覽:254