本文由雲+社區發表php
做者:騰訊雲數據庫web
隨着雲計算和數據庫技術的發展,數據庫正在變得愈來愈強大。數據庫的性能如處理速度、對高併發的支持在節節攀升,同時分佈式、實時的數據分析、兼容主流數據庫等強大的性能正在愈來愈多的新型數據庫上實現。sql
然而另外一方面,數據庫須要承擔的業務愈來愈重,面臨的場景也愈來愈複雜,開發者和運維人員不但平常須要管理超級複雜的數據,也會頻繁面推的業務告警和突發情況。數據庫
那麼如何解決這個使人頭痛的問題呢?這時候若是有一個安全高效的遠程數據庫管理工具,不但能搞定數據庫性能的實時監控和診斷,也能作到方便高效數據的可視化管理,你用不用?哪怕你是高冷如只用記事本編程的大神,或者強大的十年經驗DBA,恐怕也只能在內心說一句:真香!編程
正式基於上述背景,這些年來,很多數據庫管理工具不斷被人開發出來。其中有SQLyog、Adminer等開源工具,也有騰訊雲DMC、阿里雲DMS等雲廠商開發的工具,更有Navicat等第三方工具受人青睞。小程序
筆者總結了三款具備表明性的開源數據庫管理工具,功能上大多相似。他們的異同以下所示:緩存
工具名稱 | 使用平臺 | 交互方式 | 優缺點 |
---|---|---|---|
SQLyog | Windows | 軟件 | 免費版本不夠強大 |
phpMyAdmin | - | Web | 功能較全,公網部署,不安全、權限不足 |
Adminer | - | Web | 比phpMyAdmin更安全一點,輕量級,除了MySQL還支持 SQLite, PostgreSQL, MS SQL, Oracle |
具體其餘差別還包括功能的細節支持,性能表現,安全性上,在此不作深刻的探討研究。安全
經過對開源數據庫管理工具的功能進行分析統計,我找到了關係型數據庫管理工具的基本功能需求,至少具有下述功能:微信
由於安全性、功能限制、穩定性等種種緣由,開源的數據庫管理工具基本不可能在企業在開發和運維數據庫時考慮之列,更強大更穩定的付費版或者企業版纔是主流。隨着雲數據庫的應用愈來愈廣,各大雲廠商也在爲中小企業客戶提供更方面的數據庫管理工具,他們的產品迭代方向表明着廣大用戶的需求。在次,筆者總結了5個數據庫管理工具的發展方向,以供參考。網絡
可視化:實時性能監控、流量監控、SQL圖表展現、ER圖,一個直觀友好的可視化界面遠勝複雜詳細的表格和數據。
跨平臺:爲了可以在不一樣桌面操做系統使用同一個工具,數據庫管理工具逐漸從桌面工具向Web端演化。可是web端還不夠,有些實時監控和簡易操做,須要放在手機端完成,真正作到隨時隨地管理數據庫。實現無縫跨平臺管理。
兼容性:一個項目中包含多種數據庫是很是常見的狀況,那麼能不能兼容MySQL以外還兼容其餘主流關係型數據庫呢,甚至兼容主流nosql數據庫?這樣大大簡化了項目管理成本,也提升了效率。
智能化:數據審計、告警預警、智能診斷,這些表明着DevOps前沿的能力,能不能被整合到管理工具中,減小項目運維開發的成本。
安全性:遠程訪問是否會致使數據泄漏?用戶權限如何分級?多用戶協做如何管理?這些問題對企業用戶來講很是重要。
綜上,一個好的數據庫管理工具,既須要有完備的基礎功能,也要符合上述這5大特性的要求,這樣才能成爲企業青睞的好工具。帶着以上觀點,咱們再去看看主流雲廠商提供的數據庫管理工具能不能符合要求。
DMC是騰訊雲提供的關係型數據庫管理工具,目前支持MySQL和MariaDB,騰訊雲的數據庫管理功能由控制檯、DMC和小程序提供。
咱們先看控制檯,控制檯能夠完成數據庫詳情查看、數據庫實例監控等操做,還能夠完成數據備份管理、數據回檔、鏈接檢查等實例級別的操做。
實例監控涉及了24個參數,能夠設置不一樣的時間範圍,支持縮放,同時也能夠合併監控,須要注意的是,控制檯的監控數據較實際查看時間有所滯後,實時數據須要去DMC中查看。
控制檯中還實現了數據導入功能,能夠設置參數,也能夠爲數據庫添加帳號並設置權限。
接下來是DMC,在控制檯中點擊登陸即進入DMC,須要使用數據庫的帳號密碼。DMC中包含了庫表級操做,實時性能監控、會話管理,InnoDB鎖等待管理幾個功能。
實時監控中包含了MySQL狀態、InnoDB操做、線程數和網絡讀寫等信息,每4秒鐘更新一次。
使用的是表格形式來展現,不夠用戶友好,且MySQL狀態中有不少縮寫沒有說明含義,對於小白用戶來講可能比較迷惑。
在DMC中有一個進入PMA入口,這是騰訊云爲了補充DMC功能,爲用戶提供的內嵌phpMyAdmin管理工具。
phpMyAdmin中提供的SQL操做、批量SQL、導入導出等功能,是對DMC和控制檯功能的一個補充,也多是考慮到部分用戶對phpMyAdmin比較熟悉,照顧到了該部分用戶的使用習慣。
可是phpMyAdmin也有一些迷惑用戶的地方,好比變量設置這一功能其實跟控制檯的參數設置重合了,但具體查看又發現兩個功能的參數並不徹底同樣,各自只能覆蓋MySQL的一部分參數,這裏還須要給用戶更詳細的說明。
最後重點來講一說小程序。小程序是騰訊雲將數據庫管理功能應用到移動端的形式,小程序相比較App無需安裝,比較輕量級,又依附了強大的微信生態。對於非工做時間的運維人員來講,使用小程序監控數據庫狀態是最合適不過的。(小程序搜索騰訊雲助手便可使用)
騰訊雲助手集合了不少騰訊雲產品,目前數據庫產品支持MySQL和Redis。關注「騰訊雲數據庫TencentDB」微信公衆號,底部「一鍵管理」可直接進入騰訊雲小程序,在移動端便可一鍵管理數據庫。
咱們進入MySQL,根據所在地和項目選擇所須要管理的數據庫,能夠對數據庫執行重啓操做。
能夠看到有實例詳情和監控列表兩大塊。
實例詳情中介紹了數據庫版本、計費模式等產品配置信息,還有數據庫的運行狀態和字符集等基本信息。監控列表中則給出了不少詳細的性能監控,如慢查詢、鏈接數等,以下圖所示:
筆者統計了一下監控列表中的參數,分別是每秒執行操做數、最大鏈接數、慢查詢數、全表掃描數、查詢數、寫操做、總請求數、查詢使用率、臨時表數量、等待表鎖次數、緩存命中率、緩存使用率、讀磁盤數量、寫磁盤數量、fsync(同步內核緩衝區)數、緩存命中率、緩存使用率,一共17個參數。
從UI設計上來講,考慮到手機的長條形屏幕跟PC端區別較大, 因此選擇將性能參數走勢圖豎着放置,便於觀看和操做。瀏覽的時候還能夠選中座標查看具體值:
另外因爲手機端難以縮放,因此提供了數據走勢實時(1小時內)、昨天、7天等三個選項,方便用戶切換瀏覽。
可是設計上同時也有一些缺點,參數列表過長使得用戶若是要瀏覽某個比較靠後的性能參數須要下滑好久,能夠考慮將這些參數分紅大類提供標籤切換。
功能上來講,騰訊雲助手提供了大多數性能參數的可視化瀏覽,以及數據庫實例的重啓操做,儘管提供的操做比較少,可是基本知足了運維人員臨時快速診斷的場景需求。
綜上,騰訊雲經過控制檯、dmc、內置的phpMyAdmin包括小程序提供了數據管理的功能,知足了基本功能需求。但對於兼容性和智能化等產品特性還不充分,騰訊雲鬚要繼續擴充對其餘類型數據庫的支持。同時騰訊雲數據庫管理存在功能過於分散的缺點,控制檯、dmc和phpMyAdmin功能互相重複衝突,容易讓用戶感到困惑,於此同時也不方便合理的權限控制管理(好比控制檯的文件導入功能卻不須要數據庫帳號密碼)。爲了解決這個問題,能夠考慮將內置phpmyadmin和控制檯的功能儘量整合到dmc內,這樣方便用戶尋找入口,也能夠提供統一的用戶體驗。
此文已由騰訊雲+社區在各渠道發佈
獲取更多新鮮技術乾貨,能夠關注咱們騰訊雲技術社區-雲加社區官方號及知乎機構號