民生银行数据库智能运维的探索与实践
01
背景與挑戰
近幾年,隨著業務的增長、數字化轉型加速、互聯網金融業務快速發展和迭代,銀行數據中心傳統的IT架構面臨著巨大的挑戰。數據庫作為最重要的IT基礎設施組件,數據庫的數量出現井噴式增長,同時數據庫的技術架構和運行環境也越來越復雜。數據庫種類上從使用某單一企業級數據庫產品轉變為混合使用多種商業數據庫產品和開源數據庫產品;數據庫架構也從依賴單機性能的集中式,轉變為讀寫分離、分庫分表、分布式多活等各種復雜架構;數據庫的運行環境也從物理主機轉變為各種虛擬化、私有云、公有云甚至容器。
在這樣的背景下,傳統的運維方式同樣面臨巨大挑戰,對傳統的DBA團隊也提出了更高的要求:
更高效:互聯網化開發運維模式的興起如敏捷開發、多重迭代、Devops等,對數據庫系統的快速交付提出了更高的要求,如從原來的每月發布版本變成了每周甚至每天發版;用戶群從柜臺轉為了線上,這意味著更短的數據庫停機時間,并且出故障后的影響程度大大增加,對故障的處理時間也提出了更高的要求。
更低成本:目前金融行業受外部環境等因素影響,面臨著巨大的成本壓力,數據中心越來越重視降本增效,更多的采用通用的廉價的硬件基礎設施,減少商業軟件,擁抱開源。數據庫從部署到運維,也應減少對商業軟件的依賴,采用基于開源軟件的定制開發或者完全自研與行內環境更加適配的運維平臺體系,這對DBA團隊提出了新的要求。
更智能:智能化程度決定著效率提升和成本降低的上限,隨著數據庫數量快速增長、數據庫環境的更加復雜多樣、監控指標紛繁蕪雜,沒有智能化的技術做依靠,也難以達到海量運維的要求。
02
用智能運維應對挑戰
數字化經濟、互聯網金融的發展對金融領域帶來的是挑戰,也是機遇。作為一家擁有強大創新基因的金融企業,民生銀行正在加快推進全面改革轉型,致力于成為“民營企業的銀行、科技金融的銀行、綜合服務的銀行”。為此,民生銀行正加速推進科技金融建設,以“數據+技術”雙輪驅動改革轉型,著力打造數字化智能銀行。
為了助力我行順利轉型,我行數據庫團隊基于自身的特點和經驗,提出了民生銀行數據庫智能運維新理念,并且通過持續的建設,完成了部分的系統的開發和上線。該理念的主要內容包括如下幾點:
標準化:數據庫產品逐漸收斂,按照場景固定使用某一種數據庫產品;數據庫配置固定,標準化場景后只能采用標準化配置進行部署和運行;流程固定,申請、變更、評審和問題處理等都采用標準化流程。
自動化:自動化是對標準化的進一步提升,通過自動化腳本和程序,進一步控制標準化的執行,對安裝部署、監控預警、變更管理、上線審核和問題處理等標準流程全部實現自動化處理。
集中化:集中化將各種自動化工具集中起來,通過統一的界面、接口、流程提供給用戶。通過集中化的管理,可以更好的節約運維成本,提高運維效率。
智能化:智能化是未來數據庫運維的重要方向,作為DBA,需要借助人工智能來應對海量的數據庫和海量的運維指標,提高問題定位的準確性和預測能力,加快解決問題的速度。
03
智能運維的體系架構
我行數據庫團隊基于“標準化”、“自動化”、“集中化”、“智能化”的運維理念,設計開發了一整套的流程、工具和平臺,形成了智能運維的體系架構。
標準化:標準化對應了各種規范、流程、制度等,制定這些規范、流程、制度的目的是讓數據庫運維更加精細、風險更低、效率更高。
自動化:由各種自動化工具組成,通過這些工具來更好的輔助標準化的實施,這些工具大部分為自研開發,通過使用這些工具,減少了DBA大量的重復性勞動,也使標準更容易實施落地。
集中化:集中化指通過采用集中管理、開發統一的界面、提供統一的入口來將所有零散的數據庫工具進行整合,使操作更加人性化、更加便捷,提高DBA的工作效率。
智能化:為了在有限的人力的情況下應對將來海量的數據庫數量和種類繁多的監控指標,我們必須借助機器的力量自動完成原來靠人力完成的工作,甚至借助機器學習的能力提前發現人力所不及的深層次問題。目前這層的很多工作還處于預研和試點階段。
04
數據庫PaaS平臺的技術架構
通過近幾年我行的持續投入,已經實現了該體系架構下的若干子系統和子模塊,初步建成了我行的數據庫PaaS平臺。該平臺從上到下由數據庫網關層、數據庫層、資源層、物理層以及管理層組成。其平臺架構如下圖所示:
物理層:主要是機房、網絡設備等基礎設施,目前主備機房已經實現二層打通。
資源層:為了提高資源的利用率和彈性縮擴容,資源層主要由容器和虛擬機組成,由IAAS平臺實時分配,同時為了支持高負載的應用,還需要兼容部分物理機的場景。
數據庫層:支持我行主流的數據庫,包括DB2、Oracle、MySQL,以及正在試點的各種分布式數據庫產品。為了降低存儲成本、提高部署的靈活性和切換速度,數據庫層采用數據庫日志復制技術進行主備的搭建,比如DB2 HADR、Oracle ADG、MySQL主從、MGR等。
數據庫網關層:為了對應用屏蔽底層的數據庫主備關系和提供主備自動切換的能力,需要自研數據庫網關,提供路由轉發、探活切換等能力。目前這層我們還處于研發階段,路由轉發模塊可以考慮用類似LVS的反向代理或DNS的客戶端路由來實現。
管理層:提供數據庫PaaS平臺所有的管理功能和自助服務,由各種功能模塊組成,采用了微服務、ansible等技術,對外提供統一的入口。目前包括資源申請、監控告警、性能容量管理、基礎運維、問題管理、SQL審核、SQL執行、元數據管理、備份恢復等模塊。
05
總結和展望
我行數據庫團隊通過持續堅持“標準化”、“自動化”、“集中化”、“智能化”的運維理念,高效維護著全行幾百套系統、上千個不同類型的數據庫,同時經過近幾年持續的研發投入,逐漸打造了民生銀行的數據庫PaaS平臺。
我們期望未來民生銀行數據庫PaaS平臺的三個方向分別是云化、分布式和智能化:云化指實踐各種容器化、虛擬化技術,讓資源分配、部署、監控、管理、回收、變更更方便快捷,平臺更加自助式,最多程度的減少DBA的介入;分布式指接入企業級分布式數據庫,提高分布式數據庫的覆蓋率,同時推進存量系統的分布式架構改造;智能化指開發推廣智能預警、根因分析、數據庫畫像等智能化場景,提高海量數據庫的運維能力。我們相信通過持續的投入和努力,一定可以達到更高效、更低成本和更智能化的運維要求。
朱彬:
多年數據庫的運維管理經驗,目前正帶領數據庫團隊打造數據庫PaaS平臺,完成從傳統運維向智能運維的轉型。
郝慶運:
資深DBA,加入民生銀行之前曾在IBM從事DB2研發和三線支持工作多年,現負責數據庫運維和運維架構管理工作。
周鵬:DBA,負責數據庫運維,數據歸檔管理平臺、基礎軟件PaaS平臺建設等工作。
來源:民生銀行資料免費送(點擊鏈接下載)
加入運維管理VIP群(點擊鏈接查看)
掃描以下二維碼加入學習群
總結
以上是生活随笔為你收集整理的民生银行数据库智能运维的探索与实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据中心空调施工工序工艺管理要点
- 下一篇: 一套实用的数据中心设计方案