資料庫的日常管理經驗淺談
寫在前面
上一篇我主要分享了架構的一些選型之法,架構之路不是簡單的技術,而是多方的協調,業務的理解、技術的沉澱、經驗。
架構涉及系統的安全、連續、高效狀態,一般來說仍然需要很專業的架構規劃人介入,另外除了架構層面資料庫的管理也是非常重要的一部分,那麼我們今天來聊聊資料庫的管理。
本文也是精煉多次在各行業演講的內容,分享給博友!
普遍的問題
博主就職於一家專注資料庫產品及服務的公司,見過上千家的客戶場景,和各行業的人、系統打過交道,那麼我們來看看普遍遇到的問題。
為什麼會這樣?
我認為造成現在資料庫問題頻發的原因有 4 點:
- 傳統的IT建設方式、管理方式導致了今天的問題
傳統的建設方式:一大堆廠商的產品簡單堆疊、鬆散拼湊。
傳統的管理方式:使用者的運維人員+一大堆廠商。
- 缺乏專業規劃的IT架構,缺乏穩定性,增加管理複雜性
架構缺乏規劃和合理化設計,藉助一大堆廠商提供的分散的單機、雙機、備份一體機、虛擬化、超融合等技術的簡單堆疊,參見 :如何規劃、建設你的資料庫架構
- 傳統的資料庫管理方式無法滿足今天的業務要求
- 高速的業務增長導致資料平臺面臨巨大挑戰
今天,業務高度依賴IT,IT的重要程度。。。
今天,IT系統的使用者、資料量的規模一直在快速增長,且體量空前的大;
願景——大邏輯
說到資料庫管理,有合理規劃的架構必然是前提,架構是基礎,在穩定的基礎上配備合理的管理手段,管理制度,在上層要有及時的服務(很多企業沒有DBA、沒有懂得人也許這是最大的問題)
細化管理
架構層面不再贅述,如何視覺化管理? 如何制定管理制度?如何快速準確消滅問題?如何輕鬆、簡單?
工具篇
首先普遍缺乏DBA的企業中是否可以找到一個稱手的工具,正所謂 "武林至尊,寶刀屠龍,號令天下,莫敢不從,倚天不出,誰與爭鋒"
稱手的工具產品對於管理資料庫更為重要,對於武林高手(資深DBA)工具能起到的作用——方便,對於非專業資料庫人員起到的左右——一個DBA小祕書
那麼現在的資料庫稱手兵器應該做到什麼?? (個人覺得至少要下述內容)
- 統一管理,統一呈現
- 實時知道複雜的資料庫執行狀態,運行了哪些語句,執行的怎麼樣?
- 告警,問題及時自動報告
- 知道過去發生了什麼,就像“攝像頭” 記錄分分秒秒,記錄案發現場
- 指標全面,支撐解決問題,可以應對資料庫的複雜場景,生僻問題
- 智慧化,自動化巡檢,一鍵發現潛在隱患
- 智慧化,解決問題(效能、日常運維)
這樣的工具也許就是知道資料庫的“昨天、今天、明天”,也就是“過去、現在和將來”
當然,現在的運維管理工具產品越來越強大,強大到甚至讓我這10年的老司機都感覺到要被取代,往往非專業的DBA缺少的是:
- 解決問題所需要的資料支撐
- 分析問題的邏輯
- 解決問題的手段
那相應的工具產品中也要做到資料指標全面,而且對分析問題的流程和邏輯做到只需 “按步驟點選” ,比如突然一個時間點系統慢了,要幫助管理人員清晰的展示出分析問題的邏輯!
也許這就是所謂的 “工欲善其事,必先利其器”
管理篇
除了稱手的工具外,標準化管理流程也是必要的,再牛逼得工具不用也是白扯,博主之前做DBA的時候的管理流程分享給大家,很多人也問DBA都要做些什麼,統一回答:
- 日常巡檢,保證系統穩定(DBA最重要的工作),經常會有客戶的資料庫,備份策略錯誤,作業失敗,磁碟空間爆滿等等一系列的基本問題,這些都應該通過日常巡檢處理
注:不是流於表面CPU、IO、記憶體,而要深入資料庫各項指標,並生成報告,彙報
週期:每週/每月
- 新上線系統/功能的評估,現在的企業系統中經常會有新介面的上線,這些功能是否會對原有系統造成效能影響?
注:企業對新功能的上線過程要嚴格把控,嚴格控制風險,往往問題都是日積月累不重視而產生的
週期:每次
- 日常效能優化,資料庫是動態的過程,需要不斷的優化,而不是一次優化以後就沒問題了,買車還需要定期保養吧!
- 應急問題處理,突發問題是避免不了的,但是要做到少突發,提前消滅(這也是巡檢的左右),突發問題一旦產品,資料記錄、問題日誌就是必要的,快速處理問題、減少損失是必須的
- 協作(開發部門、軟體廠商、整合商)處理各種花式問題
專業服務篇
資料庫是整個IT系統的最底層,而漏斗形的IT結構讓資料庫成為整個IT的瓶頸,在沒有DBA的企業中對資料庫的管理更為重要,常見的管理一般只有定期的巡檢,軟體廠商、整合商等等,而且是簡單的巡檢,這樣對隱患的排查極其弱,無法起到該有的效果,而在資料庫的專業服務中,博主認為應該做到下述方面:
- 定期的深度、有效巡檢
- 通過專業管理工具產品讓多人協作、及時分析、高效解決
- 對多系統趨勢分析,何時瓶頸
- 根據壓力、業務如何系統的整合、拆分,對基礎架構進行不斷升級
- 在問題發生前解決而非在發生時救火
服務中也許只有三點:及時、專業、懂得客戶
總結
大多數企業存在這樣的問題:我們沒DBA,我們只對業務精通,對程式瞭解,但資料庫我只懂一點
資料庫指標多而雜,出現問題不知道怎麼排查
因為錯過問題出現的時間點,問題原因無法得知,問題無法解決
長期“頭疼醫頭”的“救火”運維留下了病根
巡檢?啥是巡檢?根本沒做過
總來說,資料庫管理要有明確的規劃,如何構建平穩的架構,如何有一套輕鬆、簡單的管理方法,如何藉助專業的工具、公司或人來管理。
也許很簡單
早發現早治療——預防機制
當場發現及時治療——實時機制
徹底治療而非緩解——全面、重視
--------------部落格地址-----------------------------------------------------------------------------
如有轉載請保留原文地址!
----------------------------------------------------------------------------------------------------
注:此文章為原創,歡迎轉載,請在文章頁面明顯位置給出此文連結!
若您覺得這篇文章還不錯請點選下右下角的推薦,非常感謝!