#研發解決方案#iDB-數據庫自動化運維平台


鄭昀 創建於2015/12/2 最后更新於2015/12/2

關鍵詞:數據庫,MySQL,自動化運維,AutoDDL,刷庫,帳號授權,審核,回滾

提綱:

  1. 數據庫自動化運維什么?別人家是怎么玩的?
  2. 我們打算做哪些特性?
  3. 我們的iDB

iDB 是劉勤紅部門推出的數據庫自動化運維平台,它其實已經斷斷續續開發了幾個月了,線上也跑了一段時間,最近又發布了新版本。版本迭代的主力是王曉華同學,李世傑也參與了一部分開發工作,曹富志和張永奎是需求方。

iDB 的主要目的是解決絕大部分重復、復雜的數據庫運維工作 ,滿足業務對數據庫信息查詢和快速變更需求,借此提升研發效率,保證數據庫操作符合審計要求,有可追溯的變更和審核日志。20151208Updated:更多技術細節請閱讀iDB是如何運轉的 一

0x00,數據庫自動化運維什么?別人家是怎么玩的?

當數據庫越來越多時,比如按業務垂直分庫了,10個,50個,100個……

當數據庫關系越來越復雜時,比如 Cobar 水平拆庫,從庫分組,級聯從庫,合並庫,比如某些索引要求只建在特定從庫上……

DBA 的日常管理,手速再快,也不得不希望有系統來幫忙,畢竟數據庫拓撲建立起來后,很多操作都可以自動化完成。

 

舉個例子,工程上線前要開數據庫訪問帳號和權限。沒有平台的話,那就得 DBA 一個一個去建,寫庫是 M 打頭的帳號,讀庫是 S 打頭的帳號,密碼強度還得高。有了平台之后,DBA 只需要審核研發人員提的需求即可,系統自動化生成帳號密碼,然后發郵件給申請人,或者將密碼生成對稱加密后的密文展示給申請人。

 

再比如,刷庫。DBA 刷庫之前為安全起見,都會先備份,然后刷庫,一旦刷庫有問題需要回滾數據,至少有東西恢復。有了平台之后,研發人員提刷庫腳本,DBA 審核,並設定執行時間,系統會自動備份數據,一旦有問題,DBA 點擊回滾按鈕,系統自動將數據刷回去。

 

那么,別人家的數據庫自動化運維平台都有什么特性呢?

我們先來看一下美團,它的數據庫自動化運維包括如下內容:

美團,它的數據庫自動化運維包括如下內容

圖1 美團的功能點

可以看到,上圖一些功能點如慢查,Processlist 等,我們是放在天機系統里的。

 

同樣是 AutoDDL(建庫、建表及更改表字段定義和屬性)功能。

趕集的邏輯是:

趕集的AutoDDL邏輯

圖2 趕集的AutoDDL

 

美團的邏輯是:

美團DDL邏輯

圖3 美團的AutoDDL

 

新浪則:

新浪iDB

圖4 新浪的AutoDDL

 

對於線上數據訂正(即刷庫)功能。

趕集的訂正邏輯
圖5 趕集的訂正邏輯

 

對於線上數據查詢功能。

阿里的 iDB 界面如下所示:

阿里的iDB

圖6 阿里iDB的線上數據查詢

 

對於備份還原功能。

阿里的iDB備份管理

圖7 阿里iDB的備份管理

 

還有人把數據庫監控和報警做到這種系統里了。

新浪的數據庫監控

圖8 新浪的數據庫監控

 

大致如此,各個公司八仙過海各顯其能,DBA 和研發運維的生產力大大提升。

 

0x01,我們打算做哪些特性?

我們的 iDB 有如下特性:

  • 已經上線的:
    • 線上帳號申請、審核和管理
    • 線上數據查詢
    • 線上數據訂正
    • AutoDDL
  • 着手在做的:
    • 自動識別數據庫拓撲關系(記得嗎,我們在天機系統里曾經做過)
    • 新建數據庫實例
    • 備份管理
    • ……

 

0x02,我們的 iDB

首先,iDB 的用戶角色分為研發人員和 DBA。首頁會有一個任務導航,如下圖所示:

我們的iDB首頁-Engineer版

圖9 雲縱iDB首頁-工程師的任務看板

我作為 Engineer,登錄 idcenter,跳到 iDB 后,可以:

發起訂正申請,個人帳號申請,工程帳號申請,DDL 申請,

還可以:

線上數據查詢。

 

我如果是 DBA,任務看板就變為:

我們的iDB首頁-DBA版

圖10 雲縱iDB首頁-DBA任務看板

相對 Engineer,增加了:

訂正審核,帳號審核,DDL 審核,數據庫組管理,任務管理等。

 

簡單介紹這么多,以后再介紹一些更高級的特性。再次感謝王曉華、劉勤紅、曹富志、張永奎和李世傑!

p.s.:雲縱的 iDB 是我們自主開發的系統,只是 codename 與阿里的 iDB 一樣。天機,鷹眼,也均如此,名字一樣,但功能和實現是我們自己的腦力成果。
更多技術細節請閱讀 iDB是如何運轉的 一
 
-EOF-
歡迎訂閱我的微信訂閱號『老兵筆記』,請掃描二維碼關注:
老兵筆記訂閱號二維碼
轉載時請注明“轉載自旁觀者-博客園”或者給出本文的原始鏈接。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM