資料庫平臺
之前寫的一個資料庫平臺,使用的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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【資料庫學習】資料庫平臺:mysql,sql server資料庫MySqlServer
- 跨平臺資料庫 Realm 整合實踐資料庫
- DBA福利-資料庫線上實訓平臺資料庫
- 科研資料庫備案平臺簡介(RDD)資料庫
- TDS:標籤平臺+API平臺+資料共享平臺,助力資料運營平臺建設API
- 重新定義資料庫雲平臺—沃趣科技資料庫雲版圖資料庫
- 全平臺資料(資料庫)管理工具 DataCap 管理 Rainbond 上的所有資料庫資料庫AI
- 資料平臺、大資料平臺、資料中臺……還分的清不?大資料
- 圖資料庫平臺建設及業務落地資料庫
- 京東資料庫智慧運維平臺建設之路資料庫運維
- 使用JDBC操作SAP雲平臺上的HANA資料庫JDBC資料庫
- 關於後臺資料庫設計的考慮(手機平臺)資料庫
- 巨杉資料庫入選中國資料管理分析平臺格局報告資料庫
- 構建資料庫雲管平臺 實現資料價值最大化資料庫
- SequoiaDB巨杉資料庫攜手民生銀行分散式資料管理平臺資料庫分散式
- StackGres 1.6 資料庫平臺工程功能介紹以及快速上手資料庫
- vivo資料庫與儲存平臺的建設和探索資料庫
- 9.微信公眾平臺開發 - 資料庫操作資料庫
- 介面平臺實用功能設計分享——資料庫校驗資料庫
- Unity平臺 | 快速整合華為AGC雲資料庫服務UnityGC資料庫
- ETL資料整合,RestCloud資料整合平臺RESTCloud
- 大資料平臺是什麼?有哪些功能?如何搭建大資料平臺?大資料
- 資料分析平臺搭建指南
- 資料Redpanda平臺簡介
- tiktok商品資料分析平臺
- CDS — 資料管理分析平臺
- 大資料平臺CDH搭建大資料
- 分析平臺Tableau推出資料和分析平臺新功能
- 資料實時傳輸平臺(CDC)與低程式碼平臺(APAAS)資料整合
- 資料視覺化平臺搭建,警務實戰平臺大資料應用視覺化大資料
- 智慧警務大資料平臺開發,資料視覺化分析平臺搭建大資料視覺化
- JetBrains DataGrip 2024.2 (macOS, Linux, Windows) - 資料庫和 SQL 跨平臺 IDEAIMacLinuxWindows資料庫SQLIDE
- 資料庫會演變成分散式計算平臺嗎? - Nikita資料庫分散式
- 得物資料庫中介軟體平臺“彩虹橋”演進之路資料庫
- Azure data studio 跨平臺資料庫管理工具試用資料庫
- 美團圖資料庫平臺建設及業務實踐資料庫
- zanePerfor前端監控平臺效能優化之資料庫分表前端優化資料庫
- JDBC + SAP雲平臺 = 執行在雲端的資料庫應用JDBC資料庫