資料庫日常管理 ? 我有這些經驗淺談交給你

李雪薇發表於2018-07-17

本文 | 部落格園

作者 | Double_K 

原文連結:https://www.cnblogs.com/double-K/p/9140424.html



普遍的問題



博主就職於一家專注資料庫產品及服務的公司,見過上千家的客戶場景,和各行業的人、系統打過交道,那麼我們來看看普遍遇到的問題。

undefined


為什麼會這樣?


我認為造成現在資料庫問題頻發的原因有 4 點:


1. 傳統的 IT 建設方式、管理方式導致了今天的問題


傳統的建設方式:一大堆廠商的產品簡單堆疊、鬆散拼湊。 傳統的管理方式:使用者的運維人員 + 一大堆廠商。


2. 缺乏專業規劃的 IT 架構,缺乏穩定性,增加管理複雜性


架構缺乏規劃和合理化設計,藉助一大堆廠商提供的分散的單機、雙機、備份一體機、虛擬化、超融合等技術的簡單堆疊,參見 :如何規劃、建設你的資料庫架構


3. 傳統的資料庫管理方式無法滿足今天的業務要求

undefined

4. 高速的業務增長導致資料平臺面臨巨大挑戰


今天,業務高度依賴 IT,IT 的重要程度。。。 今天,IT 系統的使用者、資料量的規模一直在快速增長,且體量空前的大;


願景——大邏輯


說到資料庫管理,有合理規劃的架構必然是前提,架構是基礎,在穩定的基礎上配備合理的管理手段,管理制度,在上層要有及時的服務 (很多企業沒有 DBA、沒有懂得人也許這是最大的問題)

undefined



細化管理



架構層面不再贅述,如何視覺化管理? 如何制定管理制度? 如何快速準確消滅問題? 如何輕鬆、簡單?


工具篇



首先普遍缺乏 DBA 的企業中是否可以找到一個稱手的工具,正所謂 "武林至尊,寶刀屠龍,號令天下,莫敢不從,倚天不出,誰與爭鋒"


稱手的工具產品對於管理資料庫更為重要,對於武林高手 (資深 DBA) 工具能起到的作用——方便,對於非專業資料庫人員起到的左右——一個 DBA 小秘書


那麼現在的資料庫稱手兵器應該做到什麼?? (個人覺得至少要下述內容)


1. 統一管理,統一呈現

2. 實時知道複雜的資料庫執行狀態,執行了哪些語句,執行的怎麼樣?

3. 告警,問題及時自動報告

4. 知道過去發生了什麼,就像 “攝像頭” 記錄分分秒秒,記錄案發現場

5. 指標全面,支撐解決問題,可以應對資料庫的複雜場景,生僻問題

6. 智慧化,自動化巡檢,一鍵發現潛在隱患

7. 智慧化,解決問題 (效能、日常運維)


這樣的工具也許就是知道資料庫的 “昨天、今天、明天”,也就是 “過去、現在和將來”

undefined


當然,現在的運維管理工具產品越來越強大,強大到甚至讓我這 10 年的老司機都感覺到要被取代,往往非專業的 DBA 缺少的是:


1. 解決問題所需要的資料支撐

2. 分析問題的邏輯

3. 解決問題的手段


那相應的工具產品中也要做到資料指標全面,而且對分析問題的流程和邏輯做到只需 “按步驟點選” ,比如突然一個時間點系統慢了,要幫助管理人員清晰的展示出分析問題的邏輯!

undefined

也許這就是所謂的 “工欲善其事,必先利其器”



管理篇



除了稱手的工具外,標準化管理流程也是必要的,再牛逼得工具不用也是白扯,博主之前做 DBA 的時候的管理流程分享給大家,很多人也問 DBA 都要做些什麼,統一回答:


  • 日常巡檢,保證系統穩定 (DBA 最重要的工作),經常會有客戶的資料庫,備份策略錯誤,作業失敗,磁碟空間爆滿等等一系列的基本問題,這些都應該透過日常巡檢處理

         注:不是流於表面 CPU、IO、記憶體,而要深入資料庫各項指標,並生成報告,彙報

          週期:每週 / 每月


  • 新上線系統 / 功能的評估,現在的企業系統中經常會有新介面的上線,這些功能是否會對原有系統造成效能影響?

        注:企業對新功能的上線過程要嚴格把控,嚴格控制風險,往往問題都是日積月累不重視而產生的

         週期:每次

  • 日常效能最佳化,資料庫是動態的過程,需要不斷的最佳化,而不是一次最佳化以後就沒問題了,買車還需要定期保養吧!


  • 應急問題處理,突發問題是避免不了的,但是要做到少突發,提前消滅 (這也是巡檢的左右),突發問題一旦產品,資料記錄、問題日誌就是必要的,快速處理問題、減少損失是必須的


  • 協作 (開發部門、軟體廠商、整合商) 處理各種花式問題


專業服務篇


資料庫是整個 IT 系統的最底層,而漏斗形的 IT 結構讓資料庫成為整個 IT 的瓶頸,在沒有 DBA 的企業中對資料庫的管理更為重要,常見的管理一般只有定期的巡檢,軟體廠商、整合商等等,而且是簡單的巡檢,這樣對隱患的排查極其弱,無法起到該有的效果,而在資料庫的專業服務中,博主認為應該做到下述方面:


1. 定期的深度、有效巡檢

2. 透過專業管理工具產品讓多人協作、及時分析、高效解決

3. 對多系統趨勢分析,何時瓶頸

4. 根據壓力、業務如何系統的整合、拆分,對基礎架構進行不斷升級

5. 在問題發生前解決而非在發生時救火


服務中也許只有三點:及時、專業、懂得客戶


總結


大多數企業存在這樣的問題:我們沒 DBA,我們只對業務精通,對程式瞭解,但資料庫我只懂一點


資料庫指標多而雜,出現問題不知道怎麼排查?


因為錯過問題出現的時間點,問題原因無法得知,問題無法解決


長期 “頭疼醫頭” 的 “救火” 運維留下了病根


巡檢? 啥是巡檢? 根本沒做過


總來說,資料庫管理要有明確的規劃,如何構建平穩的架構,如何有一套輕鬆、簡單的管理方法,如何藉助專業的工具、公司或人來管理。


也許很簡單


早發現早治療——預防機制

當場發現及時治療——實時機制

徹底治療而非緩解——全面、重視


原文連結:https://www.cnblogs.com/double-K/p/9140424.html 本文略作刪減

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31509936/viewspace-2158004/,如需轉載,請註明出處,否則將追究法律責任。

相關文章