1. 程式人生 > >資料庫的日常管理經驗淺談

資料庫的日常管理經驗淺談

寫在前面

  上一篇我主要分享了架構的一些選型之法,架構之路不是簡單的技術,而是多方的協調,業務的理解、技術的沉澱、經驗。

  架構涉及系統的安全、連續、高效狀態,一般來說仍然需要很專業的架構規劃人介入,另外除了架構層面資料庫的管理也是非常重要的一部分,那麼我們今天來聊聊資料庫的管理。

  本文也是精煉多次在各行業演講的內容,分享給博友!

  

  

普遍的問題

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

    

    

為什麼會這樣?

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

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

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

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

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

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

  

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

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

願景——大邏輯

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

  

細化管理

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

  工具篇

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

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

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

  1. 統一管理,統一呈現
  2. 實時知道複雜的資料庫執行狀態,運行了哪些語句,執行的怎麼樣?
  3. 告警,問題及時自動報告
  4. 知道過去發生了什麼,就像“攝像頭” 記錄分分秒秒,記錄案發現場
  5. 指標全面,支撐解決問題,可以應對資料庫的複雜場景,生僻問題
  6. 智慧化,自動化巡檢,一鍵發現潛在隱患
  7. 智慧化,解決問題(效能、日常運維)

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

  

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

  1. 解決問題所需要的資料支撐
  2. 分析問題的邏輯
  3. 解決問題的手段

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

  

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

  管理篇

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

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

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

      週期:每週/每月

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

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

      週期:每次

  •   日常效能優化,資料庫是動態的過程,需要不斷的優化,而不是一次優化以後就沒問題了,買車還需要定期保養吧!
  •      應急問題處理,突發問題是避免不了的,但是要做到少突發,提前消滅(這也是巡檢的左右),突發問題一旦產品,資料記錄、問題日誌就是必要的,快速處理問題、減少損失是必須的
  •        協作(開發部門、軟體廠商、整合商)處理各種花式問題

  專業服務篇

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

  1.   定期的深度、有效巡檢
  2.   通過專業管理工具產品讓多人協作、及時分析、高效解決
  3.   對多系統趨勢分析,何時瓶頸
  4.   根據壓力、業務如何系統的整合、拆分,對基礎架構進行不斷升級
  5.        在問題發生前解決而非在發生時救火

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

總結

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

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

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

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

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

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

  也許很簡單

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

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

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

--------------部落格地址-----------------------------------------------------------------------------

如有轉載請保留原文地址! 

 ----------------------------------------------------------------------------------------------------

注:此文章為原創,歡迎轉載,請在文章頁面明顯位置給出此文連結!
若您覺得這篇文章還不錯請點選下右下角的推薦,非常感謝!