# SQLite 里藏着一台虚拟机，Turso 把它变成了数据库的 LLVM

- 来源：Computing Life · Share · 鸭哥调研
- 发布时间：2026-08-07T00:00:00.000Z
- AX AI 日报：https://ai-daily.ax0x.ai/items/49471
- 原文：https://yage.ai/share/turso-sqlite-vdbe-llvm-20260805.html

## 摘要

SQLite 内核里有一台叫 VDBE 的虚拟机，跑了 25 年，能把 SQL 直接编译成线性的字节码指令，而不是像多数数据库那样用树状算子递归执行。Turso 把这个内部实现细节翻出来，做成了数据库版的 LLVM：上层是可插拔的 SQL 方言前端，下层是统一的 VDBE 字节码和存储引擎。他们用 Rust 写的 pgmicro 已经能解析 Postg...

## 推荐理由

技术深度够，VDBE 当 LLVM 的类比抓得准，但话题偏数据库内核，离 AI 从业者的日常有点远。H 和 K 都打中了，R 偏弱，刚好卡在 featured 门槛上。

## 锐评

Turso 这次做的事，是把 SQLite 内部一直存在但从未公开的 VDBE 虚拟机，正式推成数据库领域的公共中间层。打个比方，就像 LLVM 把各种编程语言和底层硬件解耦，VDBE 现在要解耦不同的 SQL 方言和存储引擎。他们用 Rust 写的 pgmicro 已经能解析 Postgres SQL 并吐出 VDBE 字节码，等于让 Postgres 的开发体验直接跑在 SQLite 的单文件、毫秒启动的轻量内核上。

这个思路比业界常用的 SQL 字符串翻译聪明得多。过去想在 SQLite 上兼容 Postgres，得在文本层做方言改写，函数名对不上、类型行为不一致，维护起来又脆又重。现在直接在编译器层面把 Postgres 的抽象语法树编译成 VDBE 指令，绕开了语义阻抗失配的坑。他们甚至用 vdbecc 编译器把 C 写的 Doom 游戏编译成 VDBE 字节码跑了起来，证明这台虚拟机是图灵完备的，能承载通用计算。

但先别太激动。正文明确说，真正难啃的骨头是 Postgres 的扩展生态，比如 PostGIS、pgvector 这些 C 扩展。目前把扩展编译成 WASM 的方案还停留在概念验证阶段，离生产可用有距离。另外，VDBE 作为公共中间层的标准规范、ABI 稳定性、以及多前端并发下的性能损耗，正文都没给出具体数据。这些缺口不补上，它暂时还是个漂亮的架构原型，而不是能直接上生产的方案。
