開發(fā)DBA們對整個應用開發(fā)的生命周期提供支持。因為這些應用的數(shù)據(jù)庫沒有開始運行,所以這類DBA的工作對業(yè)務不會產(chǎn)生即時的影響。開發(fā)DBA致力于構建一個高效、可用的數(shù)據(jù)庫環(huán)境并以此來支持業(yè)務應用。當程序和系統(tǒng)構建的時候,開發(fā)DBA對整個過程提供支持和輔助工作,包括構建和維護應用程序所需要的適當數(shù)據(jù)結構。
開發(fā)DBA們需要數(shù)據(jù)模型和規(guī)范化方面的技能,以保證設計出來的數(shù)據(jù)庫符合數(shù)據(jù)完整性。開發(fā)DBA還必須能夠?qū)⑦壿嫈?shù)據(jù)模型轉(zhuǎn)換成物理數(shù)據(jù)庫實現(xiàn)的能力。
一旦測試數(shù)據(jù)庫被創(chuàng)建,開發(fā)DBA們將輔助程序員構建和編輯測試數(shù)據(jù)。測試數(shù)據(jù)的生產(chǎn)、編輯,載入都必須經(jīng)過一定的處理,以保證這些數(shù)據(jù)對構建的應用程序是適合并有效的。開發(fā)DBA還需要給團隊提供工具,以方便數(shù)據(jù)庫測試和數(shù)據(jù)的更新。他或她需要和整個開發(fā)團隊一起工作,以確保用正確的方法訪問數(shù)據(jù)庫以及應用程序中應用邏輯的修改。最終,開發(fā)DBA需要和開發(fā)團隊一起工作,創(chuàng)建并維護高效的數(shù)據(jù)庫相關邏輯-存儲過程、觸發(fā)器和用戶自定義函數(shù),這些都是數(shù)據(jù)庫管理系統(tǒng)控制下的程序。開發(fā)DBA將幫組構建,測試和維護這些存儲過程、觸發(fā)器和用戶自定義函數(shù)。
對比之下,產(chǎn)品DBA的工作是基于已完成的應用系統(tǒng),對正在運行中的業(yè)務系統(tǒng)提供支持。產(chǎn)品DBA致力于確保可行性,優(yōu)化性能,維護可用性。一旦數(shù)據(jù)庫應用系統(tǒng)開始運行,關鍵的工作就變成了如何確保它們持續(xù)穩(wěn)定的運行。這可以歸結為PAR,PAR是三個單詞的首字母縮寫:性能(performance),管理(administration)和恢復(recovery)。這三項功能,是產(chǎn)品DBA們在維護數(shù)據(jù)庫系統(tǒng)過程中的三項最主要工作。
數(shù)據(jù)庫性能管理是通過資源使用的優(yōu)化,增加利用率并減少資源爭奪,最終實現(xiàn)盡可能多的處理更多的業(yè)務。性能需要從IT基層結構開始管理。數(shù)據(jù)庫管理和運行有一些日常業(yè)務可以參照:包括變化管理,數(shù)據(jù)庫結構的檢查,安全和權限控制等任務。備份和恢復需要在特定的時間對適當?shù)臄?shù)據(jù)庫進行適當?shù)膫浞荩源_保其可恢復到以前的狀態(tài)。當產(chǎn)品DBA按照PAR工作的時候,應用程序就會根據(jù)設定的服務級別來運行,數(shù)據(jù)庫將在最佳的設計和良好的狀態(tài)下被管理,數(shù)據(jù)也能夠有效的備份,在出錯或者宕機的時候可以恢復。
綜上所述,很多時候,為了創(chuàng)建一個良好的數(shù)據(jù)庫應用系統(tǒng),我們需要定義、計劃和訓練開發(fā)DBA和產(chǎn)品DBA這兩種角色。