查詢緩存

緩存是一個重要的技術提高數據倉庫係統的性能,避免多次驗算或獲取相同的數據。在磚SQL,緩存可以大大加快查詢執行,減少倉庫的使用,導致更低的成本和更高效的資源利用率。每個緩存層提高查詢性能,最大限度地減少集群使用,並優化資源利用率的無縫數據倉庫的經驗。

緩存數據倉庫提供了許多優勢,包括:

  • 速度:通過查詢結果或頻繁訪問的數據存儲在內存或其它快速存儲媒介,緩存可以大大降低查詢的執行時間。這個存儲尤其有利於重複查詢,係統可以快速檢索緩存的結果而不是再計算它們。

  • 減少集群使用:緩存減少了需要額外的計算資源通過重用以前的計算結果。這降低了整個倉庫正常運行時間和額外的計算集群的需求,導致節約成本和更好的資源分配。

類型的查詢緩存數據磚SQL

磚SQL執行幾種類型的查詢緩存。

查詢緩存
  • 磚SQL UI的緩存:每個用戶緩存的查詢和指示板磚的SQL用戶界麵。當用戶第一次打開儀表板或SQL查詢,磚的SQL UI顯示最近的查詢結果緩存,包括計劃執行的結果。

    磚的SQL UI緩存最多7天的生命周期。文件係統緩存位於你的磚,在您的帳戶。您可以刪除重新運行查詢查詢結果,你不再想要存儲。重新運行後,舊的查詢結果從緩存中刪除。此外,緩存失效一次底層表已更新。

  • 結果緩存:每個集群緩存查詢結果為所有通過SQL查詢倉庫。結果包括本地和遠程緩存結果緩存,共同提高查詢性能的查詢結果存儲在內存或遠程存儲媒介。

    • 本地緩存:本地緩存是一個內存中的緩存存儲查詢結果為集群的生命周期或直到緩存已滿,以先到期者作準。這對於加快重複查詢,緩存是有用的消除需要再計算相同的結果。然而,一旦停止或重新啟動集群,緩存清理,所有查詢結果都刪除。

    • 遠程緩存結果結果:遠程緩存是一個serverless-only緩存係統,保留查詢結果存儲在雲存儲。遠程緩存結果地址緩存查詢結果內存中的一個常見疼痛點,隻有保持可用,隻要計算資源正在運行。遠程緩存是一個持久的共享緩存所有倉庫在磚工作區。

    訪問遠程緩存需要一個運行倉庫。在處理一個查詢時,首先查找其本地集群的緩存,然後在必要時遠程緩存。隻有在查詢結果不緩存查詢執行。為本地和遠程緩存,緩存無效如果底層表更新。否則,本地和遠程緩存的生命周期24小時,開始在緩存條目。

    遠程查詢結果緩存可用使用ODBC / JDBC API客戶端和SQL語句。

    禁用查詢結果緩存,您可以運行use_cached_result=在SQL編輯器。

    重要的

    你應該使用這個選項隻有在測試或基準。

  • 磁盤高速緩存:本地SSD數據緩存讀取數據存儲通過SQL查詢倉庫。磁盤高速緩存是設計用來提高查詢性能,通過將數據存儲在磁盤上,允許加速數據讀取。獲取數據時自動緩存文件,利用快速中間格式。通過存儲的副本文件在本地存儲與計算節點,磁盤緩存,確保數據位於接近工人,導致改善查詢性能。看到優化性能和緩存數據磚

除了它的主要功能外,磁盤緩存自動檢測改變底層數據文件,確保緩存仍然是最新的。然而,重要的是要注意,磁盤緩存共享相同的生命周期特征為本地緩存結果。這意味著當停止或重新啟動集群時,緩存清理,需要重新填充。

查詢結果緩存和磁盤高速緩存影響磚的SQL查詢用戶界麵BI和其他外部客戶