在PASS 2017峰會期間,InfoQ有機會參加了Microsoft Azure SQL數據庫工程團隊針對媒體的一次演講活動。演講聚焦于Azure SQL數據庫中的一些新特性,這些特性設計用于為DBA和應用開發人員提供更便捷的數據庫管理職能。Microsoft將這些特性稱為“內建智能”,而不是稱為構建于Azure SQL Server平臺上的操作。
演講介紹了三類不同的特性,即性能管理智能、自適應查詢處理和安全智能,每類特性針對的都是如何改進數據庫操作的有效性。在本文中,我們將依次介紹每類特性,并對其中一些只是達到公共預覽版但尚未達到一般可用版(GA)的特性做出特別指明。
性能管理智能(Performance Management Intelligence)
智能洞悉(Intelligent Insights); 自動優化(Automatic Tuning); 相關的服務層建議(Service Tier Advisor)。Intelligent Insights是Azure SQL用于監控破壞性事件查詢操作的一種過程。一旦有查詢表現出回退的跡象,它就會給出糾正問題的建議。演講中給出了一個例子,即席查詢A觸發了資源限制,進而影響到現有查詢B的性能。這時Azure SQL會給出建議,或者關閉該即席查詢,或者增加Azure估價層以提供更多可用資源。注意,Intelligent Insights目前是公共預覽版。
在啟用Automatic Tuning后,Azure SQL就可以監控數據庫性能。該特性會試圖去創建缺失的索引,或者刪除非在用的和重復的索引,以對性能進行改進。使用該特性無需更改應用層。
Service Tier Advisor(STA)是一種管理工具,它給出了應用工作負載的儀表盤,并對如何優化Azure在用的估價層給出建議。例如,就消耗的資源而言,某個數據庫可能存在對資源付費過多的問題,STA會建議使用具有更好性價比的低性能層。反之,如果另一個數據庫可能存在缺少資源的問題,它可從定價更高的資源中獲益。該工具使得管理人員可在達成業務需求的同時,更有效地使用數據庫預算。
自適應查詢(Adaptive Query)
自適應查詢遵循“學習-自適應-驗證”的基本原理。在查詢優化中,使用了基數估計過程去智能決策查詢運算的操作順序和物理算法,以達成最優的查詢性能。如果查詢代價的估計值不準確,會產生很多消極行為,包括查詢響應緩慢、資源的過量使用和吞吐量的降低。我們當然要避免這些問題,應基于基數估計對查詢的執行類型做出正確決策。
安全智能(Security Intelligence)
鑒于存在各種數據泄露問題,網站黑客問題也很突出,因此保持數據庫處于保護狀態顯然是至關重要的。此外,還應考慮到政府和專業機構出臺的各項規定。數據庫的安全性的確是不容忽視的。
漏洞評估(Vulnerability Assessment,VA)當前處于公開預覽版。推出該特性意在幫助DBA監控并改進數據庫的安全性。它在執行中會掃描可用的數據庫,發現未得到保護的數據和不正確的配置,并給出達到合規報告要求的詳細報告。更好的是,它不僅可用于本地部署的SQL Server,而且可用于Azure SQL數據庫,為它們的環境提供保護。
VA使DBA從多個方面受益。首先,它掃描數據庫以發現不安全的敏感數據(即SSN),并對如何保護這些數據提出建議。其次,它提供了確保可應用各種最佳實踐(例如防火墻、審計、加密等)的檢查。第三,它追蹤變更隨時間的變化情況,以便在建立安全基線后可對變更情況進行監控,確保系統將來不會偏離設置。注意,VA目前是公開預覽版。
威脅檢測(Threat Detection)在啟用后,是一種永遠在線運行的工具,它實時監控數據庫中的SQL注入攻擊、異常行為和安全漏洞。它一旦檢測到問題,就會向DBA發出警報,使得DBA可采取修補措施。不同于VA,它不是靜態的,因此可以在威脅發生時就做出檢測。
查看英文原文: Azure SQL Intelligences Aims to Help DBAs and Developers