和風網標誌

DevOps 與資料:團隊可以學習的管理資料庫的課程 – DATAVERSITY

日期:

根據美國勞工統計局的數據,管理資料架構和資料庫的工作前景看起來相當不錯:負責管理資料的專業人員數量為 由於成長 從 2022 年到 2032 年,這一數字將增加 XNUMX%。然而,雖然資料相關角色的數量不斷增加,但資料庫管理員 (DBA) 的職位實際上正在下降。相反,DBA 專家的角色已被 DevOps 領域的站點可靠性工程師 (SRE) 所取代。 

SRE 角色是在 Google 發展起來的,將他們在網站管理和營運方面的技能應用到其他技術領域。 SRE 的工作範圍比 DBA 廣泛得多,涵蓋營運管理、可用性、系統冗餘和安全性等相同類型的任務,但涉及整個 IT 基礎設施,而不僅僅是現有的資料庫。然而,DBA 執行的任務並沒有減少,並且存在 DBA 可能理解而其他員工不理解的細微差別。

DBA 面臨哪些問題? 

雖然大多數 SRE 能夠管理資料庫實例並保持其運行,但他們不會像專注於資料庫理論和管理的人那樣擁有豐富的經驗和知識。當發生異常情況時,SRE 必須了解發生了什麼事以及他們是否可以解決問題,或者是否需要請專家。

一個很好的例子是如何設定和管理 結構化查詢語言,或 SQL。 SQL 可能是 IEEE 2023 年最受歡迎的語言,但它的語法很繁瑣,很少有人致力於掌握它。許多開發人員不熟悉如何編寫有效且高效的 SQL 查詢,因此他們最終可能會得到效能不佳的請求,需要更長的時間才能傳回結果。或者,開發人員經常求助於物件關係映射器 (ORM) 來處理 SQL 請求。雖然 ORM 可能會讓開發人員的情況變得更簡單,但他們可能會遇到與編寫自己的 SQL 程式碼一樣糟糕的效能和糟糕查詢設計,再加上需要更新和管理 ORM 本身。這種組合通常與使用會抑制效能的長時間運作交易的傾向一起出現。 

對於 DBA 來說,發現這些問題並糾正它們是全職工作的一部分。然而,對於不熟悉資料庫效能的 SRE 來說,這些緩慢的事務可以被視為“事情就是這樣”,而不是出現問題的症狀。或者,開發人員可以嘗試透過購買更大的機器或雲端實例來運行來投入更多資源來解決問題。

除了查詢設計之外,DBA 還負責在其資料庫上設定資料索引。對許多人來說,對資料進行索引是一種哈利波特式的黑暗藝術,他們要么過度索引,要么索引不足,從而導致效能不佳。過去,DBA 常常尋找不再使用的冗餘索引或尚未索引的流行查詢,然後修正資料庫以獲得更好的效能。 

最後,DBA 將負責自行執行查詢,以使用 ANALYZE TABLE 追蹤一段時間內的效能。這將使優化器的統計資料保持最新狀態,並標記更改或新增影響效能等級的任何區域。如果沒有這種洞察力,SRE 可能會將索引保留在適當的位置,這些索引要么在最好的情況下不再需要,要么在最壞的情況下對效能產生負面影響。 

規劃先行

在資料庫的操作方面也有一些需要重新學習的經驗教訓。例如,有句老話說,DBA 的好壞取決於他們最後一次的備份。雖然您可能希望在出現問題後永遠不需要恢復數據,但為任何關鍵文件提供有效且經過全面測試的備份至關重要。在資料庫領域,許多 SRE 現在依賴其雲端提供者來為其運行資料庫。然而,這是否就足夠了? 

雖然您可以指出服務等級協定中關於備份和復原過程的規定,但這可能無法準確描述出現問題後復原並執行的速度。首先,此 SLA 取決於您的備份是否良好以及您是否能夠從中完全恢復。在您實際載入備份並再次開始使用該資料之前,您無法確定已完全保護您的操作。其次,您的 SLA 時間可能與您可以承受的離線且不處理的時間有很大不同。過去,DBA 的職責是能夠發現資料遺失並將其恢復到良好狀態。雖然雲端服務提供者可以告訴您他們的資料 SLA 是什麼,但他們不一定會提供滿足您的內部服務要求所需的一切。

同樣,建立資料庫表需要大量有關如何管理資料的知識。雖然開發人員可能了解如何使用資料庫來儲存、排序和返回應用程式所需的數據,但在如何正確對齊表以隨著時間的推移充分利用這些數據方面存在一些細微差別。除此之外,對關係模型的正確理解可以幫助您了解將資料劃分到單獨的表格中會導致效能不佳。在直接管理這些實例時,您還可以使用一些特定於資料庫的技巧 - 例如,許多人不知道 MySQL 現在希望您在每個表上都有主鍵,或者如果列有主鍵,PostgreSQL 可能需要填充表不太適合八位元組邊界。 

數據管理的未來

數據在公司內部變得越來越重要。它為有效服務客戶提供了基礎,但它也是新產品中使用的新業務服務或深度分析專案的核心。如果沒有這些數據,這些產品及其帶來的收入要不是不存在,就是無法實現其設計初衷的價值。

同時,資料管理方面的技能正在從組織中流失,被納入更廣泛的角色或移交給服務提供者。當一切正常時,這很好。但是,當問題出現時,您將需要深入的知識來解決問題並確保它不會再次發生。這也意味著您可以花費比您需要的更多的費用來維護您保存的資料並對其進行處理。

雖然 DBA 的角色已被 DevOps 和 SRE 等新職位取代,但與該角色相關的任務仍由我們承擔。對於 SRE 和 DevOps 專業人士來說,了解數據理論可能是在基礎設施上花錢和節省效能之間的差異。

現貨圖片

最新情報

現貨圖片