PARROT: A Benchmark for Evaluating LLMs in Cross-System SQL Translation
2509.23338v1
cs.DB, cs.AI, cs.CL, cs.IR, cs.LG
2025-10-01
Авторы:
Wei Zhou, Guoliang Li, Haoyu Wang, Yuxing Han, Xufei Wu, Fan Wu, Xuanhe Zhou
Резюме на русском
## Контекст
В последние годы large language models (LLM) продемонстрировали вполне убедительные результаты в задачах Text-to-SQL, где требуется преобразовать синтаксически корректный текстовый запрос в SQL-запрос, соответствующий логике БД. Однако существует еще одна важная задача, называемая Cross-System SQL Translation (чаще всего — SQL-to-SQL), которая заключается в переводе SQL-запроса, написанного для одной базы данных (например, MySQL), на соответствующий запрос, корректный для другой базы данных (например, ClickHouse). Эта задача является достаточно сложной, так как каждая база данных имеет свои особенности в синтаксисе, функциях и системных ограничениях. Несмотря на ее практическую важность, существующие бенчмарки для SQL-задач не очень подходят для эффективной оценки моделей в Cross-System SQL Translation, в основном из-за ограниченного набора систем, с которыми они работают, и неэффективности в отражении реальных системных различий.
## Метод
PARROT (Practical And Realistic BenchmaRk for CrOss-System SQL Translation) — это новый бенчмарк для оценки моделей LLM в Cross-System SQL Translation. Он включает 598 пар запросов, полученных из 38 открытых баз данных и реальных бизнес-систем. Авторы специально подготовили эти пары, чтобы оценить то, насколько хорошо модели LLM понимают системно-зависимые различия в SQL. Для расширенного тестирования представлены два дополнительных варианта: PARROT-Diverse (28,003 пар для тестирования многообразия синтаксиса) и PARROT-Simple (5,306 пар для тестирования под конкретные ситуации). Все пары работают с 22 production-grade database systems, что делает PARROT одной из самых мощных и обширных баз для этих задач. Для поддержки будущих исследований авторы также выпустили открытый leaderboard и исходный код на сайте: https://code4db.github.io/parrot-bench/.
## Результаты
Авторы провели эксперименты с несколькими популярными LLM, включая GPT-4, LLaMA и др., и оценивали их на PARROT, PARROT-Diverse и PARROT-Simple. Результаты показали, что даже самые продвинутые модели достигают низкую точность (менее 38.53% в среднем) при выполнении задач Cross-System SQL Translation. Это свидетельствует о том, что эта задача значительно сложнее Text-to-SQL и требует более специализированных подходов. Также были проведены тестирования на PARROT-Diverse и PARROT-Simple, которые показали, что LLM способны получать высокую точность на простых задачах, но сильно страдают при работе с системно-зависимыми различиями.
## Значимость
PARROT является первым реальностью для эффективной оценки LLM в Cross-System SQL Translation. Его особенность заключается в том, что он хорошо отражает реальные различия систем, что не дает LLM просто "обмануть" бенчмарком, при этом оставаясь полезным для реальных бизнес-систем. Это открывает пути для развития моделей, кото
Abstract
Large language models (LLMS) have shown increasing effectiveness in
Text-to-SQL tasks. However, another closely related problem, Cross-System SQL
Translation (a.k.a., SQL-to-SQL), which adapts a query written for one database
system (e.g., MySQL) into its equivalent one for another system (e.g.,
ClickHouse), is of great practical importance but remains underexplored.
Existing SQL benchmarks are not well-suited for SQL-to-SQL evaluation, which
(1) focus on a limited set of database systems (often just SQLite) and (2)
cannot capture many system-specific SQL dialects (e.g., customized functions,
data types, and syntax rules). Thus, in this paper, we introduce PARROT, a
Practical And Realistic BenchmaRk for CrOss-System SQL Translation. PARROT
comprises 598 translation pairs from 38 open-source benchmarks and real-world
business services, specifically prepared to challenge system-specific SQL
understanding (e.g., LLMS achieve lower than 38.53% accuracy on average). We
also provide multiple benchmark variants, including PARROT-Diverse with 28,003
translations (for extensive syntax testing) and PARROT-Simple with 5,306
representative samples (for focused stress testing), covering 22
production-grade database systems. To promote future research, we release a
public leaderboard and source code at: https://code4db.github.io/parrot-bench/.