457
京東網上商城
DMS前後端技術揭秘及最佳實踐
不同於一般的存儲和計算產品,雲上DMS上屬於操作類產品,目的是為用戶提供更高更強的數據庫訪問能力,減少成本以提高效率。本文中,來自阿裏巴巴數據庫事業部的鍾隱分享《DMS前後端技術揭秘及最佳實踐》,介紹雲上DMS,即數據庫管理服務的整體應用和實踐。
雲上DMS從2013年年底上線,從最初僅支持MySQL基本功能,已覆蓋了多種RDBMS、NoSQL及部分分析型數據庫在內的13種數據源,同時在多種數據庫中逐步提供了傳統數據庫軟件所不具有的專業功能,時間有限,我們僅列舉4個不同角度的最佳實踐:SQL窗口、數據追蹤、命令終端、E-R圖及生成文檔,希望通過4個最佳實踐讓大家了解到DMS現有的功能中有很多您常用功能中有不少您沒有發現的非常實用的細節,也有很多數據庫專業的功能可以降低您的人力成本及提升您解決問題的速度,同時還有很多實用工具可以讓您的研發整體效率得以提升。
SQL窗口
SQL窗口是DMS中用戶最常使用的功能。除去日常工作中所接觸到的,SQL窗口還有許多隱藏工具,借助這些工具,能幫助減輕操作負擔,簡化工作。
- SQL編輯&智能提示;
- 批量SQL操作;
- 會話一致性;
- 工作現場保留
我的SQL ;
- 可視化編輯數據;
- 生成報表;
- 語法模板;
- 其它實用功能:如單行詳情、SQL格式化、執行計劃、打開表。
數據追蹤
數據追蹤是DMS專業級功能的代表之一。也許您還沒有用過,也許您還用得不錯,但是它可以實實在在幫您解決很多問題,且處理的速度非常快。當發生以下情況時,數據追蹤功能可以提供極大的裨益:
-
當你發現數據丟失;
-
當您發現數據被誤修改;
-
當你想閃回某個表;
-
當你想回放某條數據的變化過程;
- 當你想自定義回滾數據。
總結:
-
正常情況下您要去找回丟失的數據,全量拷貝實例的成本是非常高的;
-
DBA
- DMS
命令終端
DMS在可視化上不僅僅有數據庫,還有Linux,DMS所提供的Linux可視化其WEB上的性能非常接近於客戶端,且兼容95%以上的Linux命令(包含圖形化命令),也同時單主機分屏、多主機終端等。您無需將您的主機暴露在公網,也無需通過一個中間機去訪問其他主機,通過DMS就可以高體驗地完成對這些主機的訪問,且在雲端會有更多的安全驗證。DMS之所以在OS級別進行突破,是希望在後續自建數據庫的支持上結合OS的詳細開銷及空間使用為您提供更為強大的功能。
-
Linux
-
交互命令;
-
圖形命令;
-
單機分屏終端;
- 多機多屏終端。
E-R圖及生成文檔
E-R圖及生成文檔的功能,是實用功能的典型代表。目前用戶對其了解較少,不過後續會有類似的功能推出。在以下一些情況中,E-R圖及生成文檔能夠有效減少成本,提高效率:
-
Review
-
word
-
Excel
總結:
-
DMS
- DMS
最佳實踐總結
除去以上提到的最佳實踐,DMS還有很多的功能等待挖掘。後續產品也會越做越細,功能精確到對象級別,為用戶帶來更巨大的價值。
-
安全審計;
-
數據趨勢;
-
異步導入導出;
-
會話管理分組;
-
SQL
-
空間碎片分析;
-
InnoDB
-
實時性能;
-
E-R
-
安全審計;
-
功能授權;
-
存儲過程錯誤行定位;
-
資源大盤;
- …
以安全審計為例,目前DMS個人版您可以定義用戶的實例權限及功能權限,也可以定義實例的訪問來源地址,在事後您也可以查看及導出所有被授權的用戶的操作日誌用以審計,如下圖:
DMS與雲上安全認證體係
雲計算時代,越來越多的用戶選擇把數據放在公有雲上,但是數據庫您在日常工作中是必須要使用的,無論您放在VPC還是私有網絡,都需要一個入口區訪問。您可以通過一台中間機去訪問,但這台中間機器無疑是最大的隱患,也可以搭建類似於phpmyadmin這樣的開源產品去訪問,但這類產品除無法支持多種數據庫外,在其研發之初更多是定位於內網使用,在互聯網的安全和大量用戶同時使用時的場景考慮非常少,將其暴露在公網上很容易被利用和攻破。DMS在雲上安全方麵做了很多的工作,積累了非常之多的內容,解決過不少問題。同時由於DMS就是基於互聯網環境下而生的,能夠有效支持關係型/非關係型數據庫以及各種熱門的大數據操作。在雲DMS平台上,用戶可以擁有統一的準入接口和更為專業的服務,提升效率,降低成本。
上圖展示了利用DMS服務器構建雲通道的過程。在用戶瀏覽器中,往往存在阿裏雲會話、數據庫會話、瀏覽器認證、XSS及CRSF等安全需求。為了保障性能,DMS在服務器中保有非常多的認證級別,包括:
-
雲賬號認證;
-
數據庫訪問認證;
-
用戶數據庫權限認證;
-
授權信息確認;
-
密碼記憶認證;
-
來源地址認證;
-
功能權限驗證;
- 訪問審計報告。
對於連接池,會做驅動問題處理、流量控製、連接數控製等處理。
另外,對於安全性要求較高以及有一定規模的公司,DMS還針對性地推出了企業版,在安全、風控、協同、流程、效率等方麵做得更加細化,實現了細粒度權限、安全訪問、DDL難題、研發流程等更專業的功能。
-
所有的權限、超時、並發、流程步驟、研發規範均由企業自定義;
-
DMS
- DMS
DMS整體服務架構
下圖是目前的DMS整體架構圖,支持RDS、ECS自建庫、ADS、萬網以及其他公網庫。
DMS訪問架構圖(示例)如下所示,大大縮小了用戶與DB之間的距離。您可能經常出差,可能去外地旅遊,但是我們希望您在全球任何地方對DMS有最佳的網站體驗,因此我們將在全球部署DMS站點,同域名就近訪問;其次,在您異地訪問數據庫的時候,我們希望數據庫的操作足夠穩定,批量數據處理的時候效率足夠高(例如數據導入),所以我們會在全球各地部署本地連接池去訪問數據庫,網站與連接池之間通過批量、壓縮等方式減少交互次數,減少整體鏈路的RT,讓您在全球任何地方通過DMS去訪問異地的數據庫有一個最佳的體驗效果。
DMS後續的計劃
DMS企業版目前已經開邀測,預計11月份會正式公測,它會給您提供的是具有20人以上研發規模的研發協同,除DMS這些基礎功能及專業功能外,還會為您提供企業級敏感數據分級、研發流程、風險預判、精確審計、多環境發布、分庫分表邏輯化等一係列的企業級功能。此外,在移動端設備上也有一些設想,在8月31日我們將正式發布第一個移動版本,後續還會不斷迭代來提供更為強大的功能。智能優化、構建數據、數據可視化以及數據追蹤回放,都需要進一步地研發完善,以滿足用戶更全麵的需求。
最後更新:2017-09-05 20:32:44