新一代的資料庫SQL審計服務-SQL洞察

仲舉發表於2018-09-29

背景

隨著雲資料庫業務規模不斷的擴大,使用者對資料庫安全,效能診斷,異常行為報警等高階功能的需求越來越迫切。
從客戶第一的角度,我們投入大量的資源來開發新一代的資料庫審計產品,SQL洞察,期望可以提供給使用者更好的體驗,讓使用者因為我們有這樣的高附加值的產品而選擇阿里雲的資料庫服務。

RDS資料庫SQL審計服務大致經過幾個階段:

  • 做到scale out,從幾千例項,到幾萬例項,到幾十萬例項;從一個區,多個區,從中心化到單元化,到全球化
  • 做到資料不丟,從採集端,到流式作業,到儲存,如果保證資料的At-least Once和Exactly Once
  • 做好使用者體驗,使用者可以用服務來滿足安全審計的需求和定位效能問題

前兩個階段,我們這幾年通過技術和架構的演進,已經基本解決;之前也有做過相關的分享,就不再贅述。

我們就重點談談我們這期SQL洞察,如何解決使用者體驗的問題。

 

使用者痛點

當前使用者對於SQL審計主要的需求主要分為以下幾類:

精確追蹤和定位,當出現安全事件或效能問題,使用者可以精確的根據多個維度,ip,使用者,會話,資料庫表列等定位到想找的SQL;需要更為靈活,好用的查詢頁面

效能診斷,根據SQL審計的統計資訊,如sql訪問量,sql執行延遲等資訊,來更高效的優化資料庫效能;需要更為有效的效能問題定位方式

審計需求,對於金融行業,需要保留長時間的審計資料,便於監管部門審計;需要提供使用者可配置的保留時間和匯出,轉儲的功能

 

SQL洞察服務

針對使用者的需求和問題,SQL洞察在這版當中提供如下的功能:

SQL搜尋功能

當前版本中,我們提供更為靈活強大的搜尋功能,包括提供根據執行狀態,耗時,操作型別等來精確的檢索sql,

同時在SQL明細列表中提供按列排序的能力,

 

效能診斷

在SQL洞察中,我們加入更方便的效能診斷工具

首先我們可以看出該例項的訪問趨勢,包含各種操作型別的比例,這樣就比較容易看出,安全和效能風險
比如突然有大量的刪除操作,可能就是高危的;掃描行大幅增加,可能帶來效能問題

再者,我們提供模板的檢視,我們要找出root cause,到底是哪種sql導致了這個效能問題

這裡從兩個維度來看SQL模板掃描行數和平均耗時,理論上兩者應該成線性的關係,這樣就比較容易找出異常的SQL模板

這裡還能看出不同的SQL操作的分佈,非常直觀

在上圖中框選就可以看到相應的SQL模板的列表,這個可以根據各個欄位排序,從而找到效能問題的root cause

這裡我們列出佔比,包括執行次數佔比,耗時佔比等,可以更好的定位SQL模板對這個例項效能的真實影響程度

 

審計需求

首先我們可以提供例項級別配置不同的保留時間,這個對後端儲存有比較高的要求

再者,這裡提供更快捷和方便的匯出和轉儲的功能,

匯出可以重用搜尋的查詢條件,並且可以靈活選擇需要匯出的列,大大提升了使用者體驗

 

總結

相較於舊版本的SQL審計服務,SQL洞察當前版本側重解決使用者最為care一些問題和需求。

該產品當前在快速迭代中,後續我們的重點會放在提供更方便和更強大的效能診斷,以及提供更完善的安全審計功能。

歡迎大家試用,提供寶貴意見。

 

 

 

 

 

 

 

 

 


相關文章