資料集最佳化和快取
AI/BI 儀錶板是寶貴的數據分析和決策工具,且有效率的載入時間可大幅改善用戶體驗。 本文說明快取和數據集優化如何讓儀錶板更有效能且更有效率。
查詢效能
您可以在工作區查詢歷程記錄中檢查查詢及其效能。 查詢歷程記錄會顯示使用 SQL 倉儲執行的 SQL 查詢。 按兩下提要欄位中的 [查詢記錄] 以檢視查詢記錄。 請參閱<查詢歷程記錄>。
針對儀錶板數據集,Azure Databricks 會根據數據集的結果大小來套用效能優化。
數據集優化
AI/BI 儀錶板數據集包含下列效能優化:
- 如果數據集結果大小很小(小於或等於 100K 個數據列或 100 MB,以較小者為準),數據集結果會提取至用戶端,並在瀏覽器中執行視覺效果特定的篩選和匯總。 篩選和匯總小型數據集的數據非常快速,並確保數據集很小,可協助您優化儀錶板效能。 使用小型數據集時,只有數據集查詢會出現在查詢記錄中。
- 如果數據集結果大小很大(大於 100K 個數據列或 100 MB),數據集查詢文字會包裝在 SQL
WITH
子句中,而且視覺效果特定的篩選和匯總會在後端的查詢中執行,而不是在瀏覽器中執行。 使用大型數據集時,視覺效果查詢會出現在查詢記錄中。 - 針對傳送至後端的視覺效果查詢,針對共用相同子句和篩選述詞的相同
GROUP BY
數據集,將個別的視覺效果查詢合併成單一查詢進行處理。 在此情況下,使用者可能會在查詢歷程記錄中看到一個合併查詢,以擷取多個視覺效果的結果。
快取和數據新鮮度
儀錶板會維護 24 小時的結果快取,以優化初始載入時間,並盡最大努力運作。 這表示,雖然系統一律嘗試使用連結至儀錶板認證的歷程記錄查詢結果來增強效能,但在某些情況下,無法建立或維護快取的結果。 快取的數據沒有特定的記憶體限制或固定的查詢計數。
針對多頁儀錶板,適用下列專案:
- 編輯草稿儀錶板會載入並快取所有數據集。
- 當檢視者開啟已發佈的儀錶板時,只會執行並快取支援使用中頁面的數據集。
- 如果已設定排程,則所有數據集都會根據排程重新整理,並快取這些結果。
下表說明快取如何因儀錶板狀態和認證而異:
儀表板類型 | 快取類型 |
---|---|
具有內嵌認證的已發佈儀錶板 | 共用快取。 所有檢視者都會看到相同的結果。 |
草稿儀錶板或未內嵌認證的已發佈儀錶板 | 每個使用者快取。 檢視者會根據其數據許可權查看結果。 |
如果基礎數據在最後一個查詢之後維持不變,或是擷取不到 24 小時前的結果,儀錶板會自動使用快取的查詢結果。 如果過時的結果存在,而且參數會套用至儀錶板,除非過去 24 小時內使用相同的參數,否則查詢將會重新執行。 同樣地,將篩選套用至超過 100,000 個數據列的數據集,會提示查詢重新執行,除非過去 24 小時內套用相同的篩選。
排程的查詢
將排程新增至具有內嵌認證的已發佈儀錶板,可大幅加快所有儀錶板檢視者的初始載入程式。
針對每個排程的儀錶板更新,會發生下列情況:
- 定義數據集的所有 SQL 邏輯都會在指定的時間間隔上執行。
- 結果會填入查詢結果快取,並協助改善初始儀錶板載入時間。