LLM-R2: Un sistema di riscrittura basato su regole potenziato da un modello linguistico di grandi dimensioni per migliorare l'efficienza delle query
LLM-R2: A Large Language Model Enhanced Rule-based Rewrite System for Boosting Query Efficiency
April 19, 2024
Autori: Zhaodonghui Li, Haitao Yuan, Huiming Wang, Gao Cong, Lidong Bing
cs.AI
Abstract
La riscrittura di query, che mira a generare query più efficienti modificando la struttura di una query SQL senza alterarne il risultato, è stata un importante problema di ricerca. Per mantenere l'equivalenza tra la query riscritta e quella originale durante il processo di riscrittura, i metodi tradizionali di riscrittura di query seguono sempre determinate regole di riscrittura. Tuttavia, persistono alcuni problemi. In primo luogo, i metodi esistenti per trovare la scelta ottimale o la sequenza di regole di riscrittura sono ancora limitati e il processo richiede sempre molte risorse. I metodi che implicano la scoperta di nuove regole di riscrittura richiedono tipicamente dimostrazioni complesse di logica strutturale o interazioni estese con l'utente. In secondo luogo, gli attuali metodi di riscrittura di query si basano fortemente sugli stimatori di costo dei DBMS, che spesso non sono accurati. In questo articolo, affrontiamo questi problemi proponendo un nuovo metodo di riscrittura di query denominato LLM-R2, che utilizza un modello linguistico di grandi dimensioni (LLM) per proporre possibili regole di riscrittura per un sistema di riscrittura di database. Per migliorare ulteriormente la capacità di inferenza dell'LLM nel raccomandare regole di riscrittura, addestriamo un modello contrastivo con un curriculum per apprendere rappresentazioni di query e selezionare dimostrazioni di query efficaci per l'LLM. I risultati sperimentali hanno dimostrato che il nostro metodo può migliorare significativamente l'efficienza di esecuzione delle query e superare i metodi di base. Inoltre, il nostro metodo mostra un'elevata robustezza su diversi dataset.
English
Query rewrite, which aims to generate more efficient queries by altering a
SQL query's structure without changing the query result, has been an important
research problem. In order to maintain equivalence between the rewritten query
and the original one during rewriting, traditional query rewrite methods always
rewrite the queries following certain rewrite rules. However, some problems
still remain. Firstly, existing methods of finding the optimal choice or
sequence of rewrite rules are still limited and the process always costs a lot
of resources. Methods involving discovering new rewrite rules typically require
complicated proofs of structural logic or extensive user interactions.
Secondly, current query rewrite methods usually rely highly on DBMS cost
estimators which are often not accurate. In this paper, we address these
problems by proposing a novel method of query rewrite named LLM-R2, adopting a
large language model (LLM) to propose possible rewrite rules for a database
rewrite system. To further improve the inference ability of LLM in recommending
rewrite rules, we train a contrastive model by curriculum to learn query
representations and select effective query demonstrations for the LLM.
Experimental results have shown that our method can significantly improve the
query execution efficiency and outperform the baseline methods. In addition,
our method enjoys high robustness across different datasets.