Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O cache é uma técnica essencial para melhorar o desempenho dos sistemas de data warehouse, evitando a necessidade de recompute ou buscar os mesmos dados várias vezes. No Databricks SQL, o cache pode acelerar significativamente a execução da consulta e minimizar o uso do warehouse, resultando em custos mais baixos e utilização de recursos mais eficiente. Cada camada de cache melhora o desempenho da consulta, minimiza o uso do cluster e otimiza a utilização de recursos para uma experiência de data warehouse perfeita.
O cache oferece inúmeras vantagens em data warehouses, incluindo:
- Velocidade: Ao armazenar resultados de consulta ou dados acessados com frequência na memória ou em outros meios de armazenamento rápido, o cache pode reduzir drasticamente os tempos de execução da consulta. Esse armazenamento é particularmente benéfico para consultas repetitivas, pois o sistema pode recuperar rapidamente os resultados armazenados em cache em vez de recomputá-los.
- Uso reduzido do cluster: O cache minimiza a necessidade de recursos de computação adicionais reutilizando resultados computados anteriormente. Isso reduz o tempo de atividade geral do warehouse e a demanda por clusters de computação adicionais, levando à economia de custos e à melhor alocação de recursos.
Tipos de caches de consulta no Databricks SQL
O Databricks SQL executa vários tipos de cache de consulta.
Cache da IU do Databricks SQL: cache por usuário dos resultados da consulta e das visualizações do editor SQL na IU do Databricks SQL. Quando um usuário abre pela primeira vez uma consulta SQL ou um painel SQL herdado, o cache de interface do usuário do SQL do Databricks exibe o resultado da consulta mais recente, incluindo os resultados de execuções agendadas.
Note
O cache de interface do usuário do Databricks SQL não se aplica aos painéis de IA/BI (anteriormente, painéis do Lakeview). Os dashboards de IA/BI têm seu próprio comportamento de cache. Confira Otimização e armazenamento em cache do conjunto de dados.
O cache de interface do usuário do Databricks SQL tem no máximo um ciclo de vida de 7 dias. O cache está localizado no sistema de arquivos do Azure Databricks em sua conta. Você pode excluir os resultados da consulta executando novamente a consulta cujo resultado você não quer mais armazenar. Depois de executar novamente, os resultados antigos da consulta são removidos do cache. Além disso, o cache é invalidado depois que as tabelas subjacentes são atualizadas.
Cache de resultados: Armazenamento em cache, por cluster, dos resultados de consultas para todas as consultas por meio de SQL warehouses. O cache de resultados inclui caches de resultados locais e remotos, que funcionam juntos para melhorar o desempenho da consulta armazenando os resultados da consulta na memória ou nos meios de armazenamento remoto.
- Cache local: o cache local é um cache na memória que armazena os resultados da consulta para o tempo de vida do cluster ou até que o cache esteja cheio, o que ocorrer primeiro. Esse cache é útil para acelerar consultas repetitivas, eliminando a necessidade de recompilar os mesmos resultados. No entanto, depois que o cluster é interrompido ou reiniciado, o cache é limpo e todos os resultados da consulta são removidos.
- Cache remoto de resultados: o cache remoto de resultados é um sistema de cache exclusivo para ambientes sem servidor que armazena os resultados das consultas, persistindo-os como dados do sistema do espaço de trabalho. Como resultado, esse cache não é invalidado pela interrupção ou reinicialização de um SQL Warehouse. O cache remoto de resultados resolve um problema comum do armazenamento em cache de resultados de consulta na memória, que só permanece disponível enquanto os recursos computacionais estiverem em execução. O cache remoto é um cache compartilhado persistente entre todos os warehouses em um workspace da Databricks.
O acesso ao cache remoto de resultados requer um data warehouse em execução. Ao processar uma consulta, um cluster primeiro procura em seu cache local e, em seguida, no cache remoto de resultados, se necessário. Somente se o resultado da consulta não for armazenado em cache em nenhum dos caches será a consulta executada. Tanto o cache local quanto o remoto têm um ciclo de vida de 24 horas, que começa na entrada do cache. O cache de resultados remotos persiste durante a interrupção ou reinicialização de um SQL Warehouse. Ambos os caches são invalidados quando as tabelas subjacentes são atualizadas.
O cache de resultados remoto está disponível para consultas que usam os clientes ODBC/JDBC e a API de Instrução SQL.
Para desabilitar o cache de resultados da consulta, você pode executar
SET use_cached_result = falseno editor SQL.Importante
Você deve usar esta opção apenas em testes ou em benchmarking.
Cache de disco: Cache SSD local para leitura de dados do armazenamento de dados para consultas por meio de SQL warehouses. O cache de disco foi projetado para melhorar o desempenho da consulta armazenando dados em disco, permitindo leituras aceleradas de dados. Os dados são armazenados em cache automaticamente quando os arquivos são buscados, utilizando um formato intermediário rápido. Ao armazenar cópias dos arquivos no armazenamento local anexado aos nós de computação, o cache de disco garante que os dados estejam localizados mais próximos dos trabalhos, resultando em um melhor desempenho de consulta. Veja Otimizar o desempenho com o uso do cache no Azure Databricks.
Além de sua função primária, o cache de disco detecta automaticamente alterações nos arquivos de dados subjacentes. Quando o cache detecta alterações, ele é invalidado. O cache de disco compartilha as mesmas características do ciclo de vida do cache de resultados local. Isso significa que, quando o cluster é interrompido ou reiniciado, o cache é limpo e precisa ser repovoado.
O armazenamento em cache dos resultados da consulta e o cache de disco afetam as consultas na interface do usuário do Databricks SQL e BI e outros clientes externos.