在外部数据库系统中操作的分析工作负载面临一个根本瓶颈:数据访问完全由数据库驱动程序(如 JDBC 或 ODBC)控制,迫使所有读取通过不适合大规模列式分析的查询执行及其他驱动层。为此,我们提出了 Jailbreak,一种通过直接读取存储文件而完全绕过数据库引擎的方法,并将数据物化为内存中的列式缓冲区。
Jailbreak 的关键洞察是,虽然数据库文件格式复杂,但其源代码和文档完全规范化,且大型语言模型(LLMs)能够吸收这些信息,从而再生特定操作符的表读取组件,而无需人工设计的解析逻辑。Jailbreak 利用 LLM 辅助代码合成来解码数据库存储,将传统上不透明的格式转变为可直接查询的工件。
我们在 PostgreSQL 和 MySQL 存储文件上评估了 Jailbreak,针对读取副本和离线处理管道中常见的分析快照场景。生成的读取器产生的 Apache Arrow 缓冲区可以被大多数知名查询引擎直接消费,包括 DuckDB、Apache Spark 以及 GPU 加速框架如 cuDF 和 Spark RAPIDS。
我们使用 TPC-H 基准测试验证了其正确性,与基于 JDBC/ODBC 的基线进行比较,展示了在端到端分析吞吐量方面的显著性能提升,最高可达 27 倍加速。我们的结果表明,LLM 辅助存储读取器合成是一种可行且可推广的方法,能够打破数据库系统之间的数据锁定,适用于 PostgreSQL 和 MySQL 以外的任何系统,只要其文件格式可由 LLM 从文档或源代码中获取。
博主点评: Jailbreak 的方法论通过利用 LLM 实现了数据库访问的革命性突破,显著提高了分析性能。这不仅为数据分析提供了新的思路,也为未来数据库技术的发展指明了方向,值得关注。