SpecDB: LLM-Generated Customized Databases via Feature-Oriented Decomposition
作者: Yunkai Lou, Longbin Lai, Shunyang Li, Zhengping Qian, Ying Zhang
分类: cs.DB, cs.AI
发布日期: 2026-05-29
💡 一句话要点
SpecDB:利用LLM和面向特征分解生成定制化数据库
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: LLM 数据库生成 定制化数据库 面向特征分解 DBGraph
📋 核心要点
- 现有关系型数据库提供统一特性集,但实际应用仅需部分功能,造成资源浪费和性能瓶颈。
- SpecDB利用LLM,根据工作负载需求自动生成定制化数据库,实现按需构建,提升资源利用率。
- 实验表明,SpecDB生成的数据库在TPC-C测试中性能与PostgreSQL和MySQL相当,代码量显著减少。
📝 摘要(中文)
主流关系型数据库在所有部署中都提供统一的特性集,但实际工作负载仅使用可用子系统的一小部分。本文研究了是否可以根据目标工作负载的需求,按需生成具有匹配特性集的数据库。我们提出了SpecDB,一个使用大型语言模型(LLM)合成定制关系型数据库的系统。我们调研了9个生产系统,并将它们分解为10个功能模块,每个模块又进一步划分为不同的实现变体。为了捕获跨模块依赖关系,包括不相交子树中的实现必须协同设计的情况,我们采用了FODA特征模型,并使用协作边对其进行扩展,从而产生依赖关系图DBGraph。SpecDB通过分层模块构建流水线来运行DBGraph,其中每个模块都由一个专门的子代理(由三个内部代理驱动:Main、Tester、Architect)生成、验证和集成,以及一个Refining Agent,它根据用户提供的细化工具包迭代地修复和调整组装好的数据库,并具有对现有数据库源代码的只读访问权限。一个配套的选择组件将自然语言工作负载描述转换为一组实现变体,从而提供从工作负载描述到可部署数据库的端到端流水线。我们在TPC-C上使用BenchmarkSQL评估了SpecDB。生成的数据库(23,779行Rust代码)在1个和10个仓库的情况下,以零错误完成了60分钟的TPC-C。在10个仓库的情况下,它达到了tpmC=130,而PostgreSQL为128,MySQL为127,并且具有可比的延迟,代码大小约为它们的3%。由于代理在模块规范级别而不是产品源代码级别运行,因此原则上它可以跨系统边界组合技术。随着LLM成本的下降,为目标工作负载生成专用数据库正变得越来越简单。
🔬 方法详解
问题定义:现有关系型数据库系统通常提供一套通用的功能集,但实际应用中往往只需要其中的一部分功能。这导致了资源浪费、性能下降以及不必要的复杂性。因此,需要一种能够根据特定工作负载的需求,定制化生成数据库系统的方法。
核心思路:SpecDB的核心思路是利用大型语言模型(LLM)的强大代码生成能力,结合面向特征的分解方法,将数据库系统分解为多个可配置的模块,并根据用户提供的自然语言工作负载描述,自动选择合适的模块实现,最终生成一个定制化的数据库系统。
技术框架:SpecDB的整体架构包含以下几个主要模块:1) 数据库分解:将现有数据库系统分解为多个功能模块,并为每个模块定义不同的实现变体。2) 依赖关系建模:使用DBGraph(基于FODA特征模型扩展的依赖关系图)来捕获模块之间的依赖关系。3) 模块构建流水线:通过分层模块构建流水线,利用子代理(Main、Tester、Architect)生成、验证和集成各个模块。4) 细化代理:使用Refining Agent迭代地修复和调整组装好的数据库。5) 选择组件:将自然语言工作负载描述转换为一组实现变体。
关键创新:SpecDB的关键创新在于利用LLM自动生成定制化数据库系统,并结合面向特征的分解方法和依赖关系建模,实现了模块化的数据库构建。此外,SpecDB还引入了细化代理,通过迭代修复和调整,提高了生成数据库的质量和性能。
关键设计:DBGraph中的cooperate edge用于表示模块间的协同设计需求。模块构建流水线中的子代理分别负责模块生成、测试和架构设计。Refining Agent通过用户提供的细化工具包进行迭代优化。选择组件使用自然语言处理技术将工作负载描述转换为实现变体。
🖼️ 关键图片
📊 实验亮点
SpecDB生成的数据库在TPC-C基准测试中表现出色。在10个仓库的配置下,SpecDB达到了tpmC=130,与PostgreSQL(128)和MySQL(127)的性能相当。同时,SpecDB的代码量仅为PostgreSQL和MySQL的约3%,表明其具有更高的代码效率和更小的资源占用。
🎯 应用场景
SpecDB可应用于各种需要定制化数据库系统的场景,例如嵌入式系统、物联网设备、特定行业的应用等。通过自动生成针对特定工作负载优化的数据库,可以显著提高性能、降低资源消耗,并简化数据库的部署和维护。未来,SpecDB有望成为一种通用的数据库生成工具,推动数据库技术的创新。
📄 摘要(原文)
Mainstream relational databases ship a uniform feature set across deployments, although individual workloads exercise only a fraction of the available subsystems. We investigate whether a database can instead be generated on demand with a feature set matched to the target workload. We present SpecDB, a system that uses large language models (LLMs) to synthesize customized relational databases. We survey 9 production systems and decompose them into 10 functional modules, each further divided into implementation variants. To capture cross-module dependencies, including cases where implementations in disjoint subtrees must be co-designed, we adopt the FODA feature model and extend it with a cooperate edge, yielding a dependency graph DBGraph. SpecDB operationalizes DBGraph through a layered module-construction pipeline in which each module is generated, validated, and integrated by a dedicated subagent (driven by three inner agents: Main, Tester, Architect), and a Refining Agent that iteratively repairs and tunes the assembled database against a user-supplied refining harness with read-only access to existing database source code. A companion selection component translates a natural-language workload description into a set of implementation variants, providing an end-to-end pipeline from workload description to deployable database. We evaluate SpecDB on TPC-C with BenchmarkSQL. The generated database (23,779 lines of Rust) completes 60-minute TPC-C at 1 and 10 warehouses with zero errors. At 10 warehouses it reaches tpmC=130, compared to 128 for PostgreSQL and 127 for MySQL, with comparable latency at ~3% of their code size. Because the agent operates at module-specification level rather than product source, it can in principle combine techniques across system boundaries. Paired with falling LLM costs, generating a purpose-built database for a target workload is becoming straightforward.