資料庫平臺
之前寫的一個資料庫平臺,使用的Django。本來資料庫平臺是包含了很多的部分,但是自己沒有太多時間投入到上面,所以當時的資料庫平臺的各個部分使用了很多的開源系統,修改了部分程式碼適配後使用了,所以我的資料庫平臺中只是自己寫了資料庫cmdb 部分,還想講一些統計資訊放到上面進行展現,只是實現了慢查詢統計的定時收集展現。定時任務透過celery執行。認證使用cas進行認證。程式碼實現了多環境,可以指定不同的環境,dev,test,prd。方便連線不同環境的配置。使用gunicorn部署。
cmdb這個不太好標準化,都有自己的特殊需求,會跟運維的cmdb進行互動,主要是獲取部門業務線資訊,將db歸屬到具體業務線下面。cmdb相當於中樞系統,需要與各個元件互動,所以如果每個元件沒有統一在資料庫平臺上實現,需要制訂好介面,各個部分透過介面或者訊息佇列與資料庫平臺互動。更多常見的是指令碼中暴力的直接sql寫到庫裡,這種的也行,能用就行唄,就是low了點。
資料庫資料同步系統
這個主要是當時開發會提很多的MySQL資料同步的請求。將資料從線上同步到測試,預上線等,次數也不少,每次手工去同步真的是忙不過來,所以提前就做了一個單獨的線上同步系統,使用的ldap認證,開發登陸後,自己提個單子,然後可以自己執行同步,同步任務使用的celery非同步執行,執行完成後,可以傳送webhook 提示成功資訊。也可以將資料匯出成sql檔案或Excel檔案,並且可以在介面上獲取檔案,這個功能肯定不合規的,後面就禁用了。使用的查詢平臺進行下載。當時沒有工單系統,所以開發對資料庫的一些申請操作,有的放到這個系統上了,後面有了工單系統後,許可權的開通都轉移到工單系統上了。
資料庫的建立
這個部分需要需要跟很多系統進行互動,cmdb,查詢平臺,sql稽核平臺,授權,域名,呼叫的介面很多,或者直接放到佇列,讓各個部分去消費。這個有點複雜了,直接用介面就可以,畢竟qps不會很高。
資料庫例項安裝部署
在資料庫同步系統中使用了salt api進行部署,當時是測試透過了,但是沒有真正用,主要是當時沒時間,也沒心情搞了。
總體來說,資料庫平臺的各個元件我基本上都實現了,雖然不是一個完整的統一平臺,但是透過介面可以將資料串聯起來形成資料的閉環。
我實現的資料庫平臺的元件包含:
cmdb python
資料同步 python
基於master slave的定時任務平臺 golang
dbagent,收集資料庫的資訊,進行報表展示,告警,容量規劃等。 golang
mysql資料對比 golang
備份agent,這個備份的排程是linux crontab執行的,應該使用上面的定時任務平臺管理,更方便。 python
使用的開源元件包含:
查詢平臺 python,查詢平臺在新增新資料庫的時候,需要重啟,應該部署多個節點,上面掛nginx,輪詢重啟。
sql稽核平臺 python
監控告警
高可用, 高可用這做的不多,主要是工作上沒有條件去做,都是手工處理,切換。
自己寫的指令碼:
大事務分析指令碼 python
processlist故障分析指令碼 python
variables 對比 python
表結構對比 python
輸出cluster架構資訊指令碼 python
脫敏指令碼,python 脫敏指令碼跟業務強相關無法通用,需要考慮冪等性。
mysql資料系統表空間解析 這個是實驗性質的開發, golang
關於中介軟體,個人感覺vitess更好,因為是golang開發的,相對比其他中介軟體,dba能容易hold住,有大廠線上使用,缺點是使用條件高,運維成本高,掌握原始碼成本高。
vitess原始碼研究中
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25719946/viewspace-2853708/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- rman將linux平臺資料庫遷移到window平臺資料庫Linux資料庫
- 【資料庫學習】資料庫平臺:mysql,sql server資料庫MySqlServer
- 利用rman來實現linux平臺資料庫複製到windows平臺資料庫Linux資料庫Windows
- 直接複製資料檔案實現linux平臺資料庫複製到windows平臺資料庫Linux資料庫Windows
- 從linux平臺移值資料庫到windows平臺Linux資料庫Windows
- DBA福利-資料庫線上實訓平臺資料庫
- window平臺下手動建立資料庫演示資料庫
- 利用RMAN跨平臺遷移資料庫資料庫
- 跨平臺遷移oracle資料庫指南Oracle資料庫
- 跨平臺資料庫 Realm 整合實踐資料庫
- TDS:標籤平臺+API平臺+資料共享平臺,助力資料運營平臺建設API
- 資料平臺、大資料平臺、資料中臺……還分的清不?大資料
- 科研資料庫備案平臺簡介(RDD)資料庫
- 圖資料庫平臺建設及業務落地資料庫
- 大型資料庫跨平臺遷移總結資料庫
- 重新定義資料庫雲平臺—沃趣科技資料庫雲版圖資料庫
- hp-ux利用rman將資料庫跨平臺遷移到aix平臺上UX資料庫AI
- 京東資料庫智慧運維平臺建設之路資料庫運維
- 微信公眾平臺開發(九) 資料庫操作資料庫
- 資料庫中跨平臺遷移方法介紹資料庫
- 充值平臺資料庫最佳化一例資料庫
- 案例:資料庫windows切換至linux平臺資料庫WindowsLinux
- Oracle資料庫同平臺與異構平臺下的表空間傳輸Oracle資料庫
- windows平臺下Oracle10.2 RMAN資料庫遷移至Linux平臺下WindowsOracle資料庫Linux
- 全平臺資料(資料庫)管理工具 DataCap 管理 Rainbond 上的所有資料庫資料庫AI
- [C#] zdbviewcs: 跨平臺資料庫檢視器。支援SqlServer、Oracle、MySql等資料庫C#View資料庫ServerOracleMySql
- 關於後臺資料庫設計的考慮(手機平臺)資料庫
- 巨杉資料庫入選中國資料管理分析平臺格局報告資料庫
- 9.微信公眾平臺開發 - 資料庫操作資料庫
- Unity平臺 | 快速整合華為AGC雲資料庫服務UnityGC資料庫
- 美團圖資料庫平臺建設及業務實踐資料庫
- 使用JDBC操作SAP雲平臺上的HANA資料庫JDBC資料庫
- RMAN跨平臺傳輸資料庫和表空間資料庫
- Realm,一個跨平臺、高效能的資料庫資料庫
- Linux平臺上手動解除安裝Oracle資料庫LinuxOracle資料庫
- Linux平臺下MySQL資料庫定時備份LinuxMySql資料庫
- ETL資料整合,RestCloud資料整合平臺RESTCloud
- 大資料平臺是什麼?有哪些功能?如何搭建大資料平臺?大資料