Database-Agnostic
開發人員應該深入研究 DBA 知識的哪些領域?
我必須承認這個問題相當廣泛,所以我會嘗試縮小範圍。在我們公司,我們有 3-4 名開發人員,並且在客戶的站點上執行了一些基於 SQL Server 的安裝(數據庫大小高達 100GB,最多 100 個並髮使用者,Intranet 應用程序)。我們中沒有人在執行/維護/管理(無論如何)數據庫方面有真正好的經驗。客戶甚至沒有那麼多。到目前為止一切正常,但我無法確定是因為我們做的一切都正確,還是因為我們沒有觸及我們不精通的領域/情況。
因此,我正在尋找從 DBA 的角度執行數據庫時需要了解的基本事項。你知道確鑿的事實,知道在你的日常工作中最重要的是什麼。
我應該在哪些科目中積累更深的知識,我應該聽說過什麼,在我第一次面對它之前我可以不關心什麼?
我知道Software Engineers and DBA的問題,但這並不是我想要的。周圍也有很多書,但我想听聽那些有實踐經驗的人。
我傾向於同意@Catcall,數據庫恢復應該是最重要的。備份和恢復選項的含義通常是 DBA 團隊之外最不了解的,並且最有可能導致災難。
- 確保您已為所有數據庫和系統定義並同意(通過技術和非技術管理)RPO(恢復點目標)和RTO(恢復時間目標) 。
- 記錄備份和恢復程序,以便非技術人員可以遵循。
- 確保在現場和場外以印刷和電子形式保存所有文件。如果建築物著火,儲存在本地網路上的災難恢復執行手冊將沒有多大用處。
- 經常測試恢復過程的各個方面。備份無關緊要,重要的是還原。
接下來,從與數據庫無關的角度來看,是對建構數據庫伺服器的目的的理解;為您的事務和數據提供原子性、一致性、隔離性和持久性。經常被誤解,經常是性能問題的原因和數據不一致的主要來源。
對於您選擇的平台,深入了解 ACID 合規性的實施方式。尋找諸如事務日誌的作用、什麼是預寫日誌、隔離級別和儲存內部結構等主題。了解數據庫內部的關鍵方面使得 DBA 工作的其他方面,例如性能調整和資源管理,更容易掌握。