查询缓存

缓存是一个重要的技术提高数据仓库系统的性能,避免多次验算或获取相同的数据。在砖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和其他外部客户