Consulta Ad-hoc Especulativa
Speculative Ad-hoc Querying
March 2, 2025
Autores: Haoyu Li, Srikanth Kandula, Maria Angels de Luis Balaguer, Aditya Akella, Venkat Arun
cs.AI
Resumo
A análise de grandes conjuntos de dados requer execução ágil de consultas, mas a execução de consultas SQL em conjuntos de dados massivos pode ser lenta. Este artigo investiga se a execução de consultas pode começar antes mesmo que o usuário termine de digitar, permitindo que os resultados apareçam quase instantaneamente. Propomos o SpeQL, um sistema que aproveita Modelos de Linguagem de Grande Escala (LLMs) para prever consultas prováveis com base no esquema do banco de dados, nas consultas anteriores do usuário e na consulta incompleta digitada. Como a previsão exata da consulta é inviável, o SpeQL especula sobre consultas parciais de duas maneiras: 1) prevê a estrutura da consulta para compilar e planejar consultas antecipadamente, e 2) pré-computa tabelas temporárias menores, que são muito mais compactas que o banco de dados original, mas ainda são previstas para conter todas as informações necessárias para responder à consulta final do usuário. Além disso, o SpeQL exibe continuamente resultados para consultas e subconsultas especuladas em tempo real, auxiliando na análise exploratória. Um estudo de utilidade/usuário mostrou que o SpeQL melhorou o tempo de conclusão de tarefas, e os participantes relataram que a exibição especulativa de resultados os ajudou a descobrir padrões nos dados mais rapidamente. No estudo, o SpeQL reduziu a latência das consultas dos usuários em até 289 vezes e manteve a sobrecarga razoável, em $4 por hora.
English
Analyzing large datasets requires responsive query execution, but executing
SQL queries on massive datasets can be slow. This paper explores whether query
execution can begin even before the user has finished typing, allowing results
to appear almost instantly. We propose SpeQL, a system that leverages Large
Language Models (LLMs) to predict likely queries based on the database schema,
the user's past queries, and their incomplete query. Since exact query
prediction is infeasible, SpeQL speculates on partial queries in two ways: 1)
it predicts the query structure to compile and plan queries in advance, and 2)
it precomputes smaller temporary tables that are much smaller than the original
database, but are still predicted to contain all information necessary to
answer the user's final query. Additionally, SpeQL continuously displays
results for speculated queries and subqueries in real time, aiding exploratory
analysis. A utility/user study showed that SpeQL improved task completion time,
and participants reported that its speculative display of results helped them
discover patterns in the data more quickly. In the study, SpeQL improves user's
query latency by up to 289times and kept the overhead reasonable, at 4$
per hour.Summary
AI-Generated Summary