Fireship · 5:19 · 发布 2026-06-19 · 54.97 万次观看(截至抓取) · 观看原视频
🔥 观众最高回放 04:16 — Fireship 切到 JetBrains Junie 赞助段子,讲”model-agnostic + 任务级选模型可省 token”。
主旨
5 分钟讲清 SQLite 的核心价值(嵌入式、单文件、单进程),以及一个 Rust 重写版 Turso 在保留兼容性的同时加进并发写、async I/O、native 向量搜索的尝试,以及它如何用确定性模拟赢得 SQLite 25 年攒下的”不丢数据”信任。
核心论点
- SQLite 的真正护城河是”单库单文件”的极简与可信赖,而非性能——一个 D. Richard Hipp 写给海军驱逐舰的伤害控制库,25 年后跑在每台 iPhone、Mac、Windows、浏览器和火星车上 01:00。(→ 详解1)
- Turso 用 Rust 重写 SQLite 不为”修 bug”,而是为打破 D. Richard Hipp 一人维护的信任瓶颈——并发写、async I/O、native 向量搜索这三个 SQLite 长期缺位的能力,在 Turso 是一等公民 02:06。(→ 详解2)
- 信任不是兼容性带来的,兼容性只是入场券——真正卖单的是”绝不丢数据”,Turso 用确定性模拟(deterministic simulation)把失败注入做成可复现的工程问题 03:24。(→ 详解3)
- AI 应用的存储正在重复 Hipp 25 年前的”把别人的服务端塞进一个库”动作——以前是把 SQL server 塞进 app,现在是把向量数据库塞进 SQLite 03:02。(→ 详解4)
知识点详解
1. SQLite 凭什么最可信 00:45
Hipp 2000 年给海军驱逐舰写伤害控制软件时,核心痛点是 SQL 数据库一旦服务进程挂掉、整艘船的应用也跟着没。SQLite 的解法是把整个引擎”削”成一个读写本地单文件的库,干掉服务进程、端口、配置和那个难缠的 webmaster。
这种”剥到不能再剥”的设计,意外让它轻到能塞进任何角落:今天全球有”数以万亿计”的 SQLite 实例 01:00,每台 iPhone、Android、Mac、Windows、浏览器、甚至火星车上至少一个。Hipp 25 年坚持三人维护、不接外部贡献——这才是它最被信任的根因。
启示:数据库这种基础设施,信任比功能更重要;反过来,信任壁垒就是创新者的入场门槛。
2. Turso 加的三个能力 02:06
Turso 是两位作者(其中一位是 Linus 点名的 Linux kernel top-5 贡献者)用 Rust 从头重写的 SQLite 兼容库。代码完全开源、可外部贡献,补的是 SQLite 长期缺位的三件事:
并发写:SQLite 一次只允许一个写者;Turso 允许多个写者同时操作不同分区,只在真的碰到同一行时才冲突 02:09。注:SQLite 在分支上其实有这套逻辑,但十年没合进主干。
Async I/O:SQLite 每次碰盘就阻塞线程;Turso 把控制权交还 app,等盘时不锁线程 02:36。
Native 向量搜索:以前 AI 应用都是 SQLite + Pinecone 双库,运维复杂度翻倍;Turso 把向量类型和索引用一等公民塞进同一文件,embeddings 和业务数据共存、用现有 SQL 即可查询 02:46 / 03:02。
一句话概括:Turbo 是”功能上的 SQLite++“,但不是用扩展的方式加的,而是用重写的方式加的——这是它和 SQLite 团队一直没把 WAL/concurrent-write 合进主干形成对照。
3. 信任怎么从 0 攒起:确定性模拟 03:24
Turso 是 SQLite 的”drop-in replacement”——这是入场券,不是壁垒。真正的壁垒是”永不丢数据”,而这块 25 年的工程遗产不可能靠事后修 bug 补上。
Turbo 的解法是把整个数据库跑在”模拟宇宙”里,把时间、网络、磁盘全接管,然后注入失败:写入中途断电、页损坏、磁盘撒谎说写成功了。再用同一个随机种子复现同一次故障,直到把 bug 摁死 03:41 / 03:59。
这套做法对应的是分布式系统里的 deterministic simulation testing,FoundationDB / TigerBeetle / 不少 LLM eval harness 也都靠它把”线上才出现的诡异 bug”前置到本地复现。对新数据库来说,这比”更快”或”更现代”重要十倍——因为用户用脚投票,新库的容错率是 0,老库偶尔崩一次大家也只会说”哦 SQLite 又抽风了”。
4. 25 年一轮的”塞进库”动作 03:07
Fireship 的核心论断:Hipp 25 年前的”把别人的服务端塞进一个库”动作,今天 AI 圈正在原样重演——只不过这次要塞进库的,从 SQL server 变成了向量数据库。
以前做 AI 应用的标准动作是:SQLite 存业务数据 + Pinecone 存 embeddings,运维两套、查询两套。Turso 走的是 SQLite 当年走通的路:把那个”必须自己起服务端”的东西,塞回一个库、一个文件。用户的 embeddings 和业务数据活在同一份 SQLite 文件里,SQL 一把查。
这条判断对 AI 工程有实操价值:评估 RAG/agent 用的存储栈时,先看有没有”既能存业务数据又能存向量”的单库选项,不要默认就上”经典 SQL + 向量数据库”双栈。
可执行步骤
- 评估现有 RAG/agent 存储栈,看是否真的需要独立的向量数据库(很多场景 SQLite + sqlite-vss 或 Turso 即可)
- 如果选 Turso,先在非生产用
cargo install turso-cli跑一个 demo,确认 SQLite 兼容性与并发写行为 - 长期看,追踪 Turso 的 deterministic simulation 测试报告——这是它能否赢得”不丢数据”信任的硬指标
关联
- (无真实碰撞,本节删除——
01-学习笔记/ai/fireship/此前无笔记,vault 内尚未有 SQLite / Turso / Rust 重写数据库主题的笔记可关联。)
一手来源与延伸
- Turso 官网:https://turso.tech(Fireship 视频中提到,可直接通过品牌名定位)
- Fireship 短新闻源:https://bytes.dev
- Fireship 课程(与本片主题无直接关系):https://fireship.dev
术语
- SQLite(Fireship 称之为”全球最受信任的代码”):嵌入式关系型数据库,以单文件、零配置、极小依赖著称
- Turso(Fireship 视频中口播,实际为 Turso):SQLite 的 Rust 重写实现,主打并发写、async I/O、native 向量搜索
- deterministic simulation(确定性模拟):把整个系统跑在受控的虚拟环境里,用固定随机种子复现故障的测试方法,FoundationDB / TigerBeetle 同样使用
- drop-in replacement(可直接替换的兼容实现):API 和行为完全兼容旧组件,可在不改调用方代码的前提下替换
- 向量搜索(vector search):在高维向量空间中找最近邻的检索方式,RAG / 语义搜索的底层操作
金句
“It’s the exact trick Hipp pulled 25 years ago where you take the thing that’s needed in its own server and cram it into a library small enough to run everywhere. Except this time, the thing is your AI’s entire memory.”
—— 03:07 / 03:24
为什么值得记:把”嵌入式数据库”和”AI 时代的数据栈”用同一句话打通——Fireship 的主线论断,也是这个 5 分钟视频真正想留下的认知。
“You’re only viewed as an idiot until it works.”
—— 04:13
为什么值得记:Fireship 给所有”重写业界基础设施”项目的态度签名——不是技术判断,是创业/工程的勇气判断。
立场与利益
- 与利益同向(待印证):视频对 Turso “并发写 / async / native 向量”三项能力的描述——与博主无直接变现关系,但 Fireship 是科技新闻评论账号,推荐”颠覆性新项目”是流量打法。这些能力 SQLite 团队其实有(并发写在分支十年没合、async IO 也有讨论),Turso 是否真的领先需查 GitHub 实际性能基准。
- 利益中性:SQLite 起源故事、嵌入式数据库的价值判断、deterministic simulation 的工程价值——这些是与博主变现无关的通用方法论,按内容本身采信。
- 与利益反向(可信度最高):Fireship 在结尾说”用 Rust 重写最受信赖的数据库大概率不是好主意” 03:24——这是和”为什么要做这期视频”反向的判断,反而证明 Fireship 没在给 Turso 站台。
利益证据:description 里的 affiliate 是 JetBrains Junie 的 FIRESHIP20 优惠码 04:31,与 Turso 本身无利益绑定。
价值定位
- 适合谁:在做 RAG / agent 选型,或者对”嵌入式数据库的工程价值”想听个完整故事的人;尤其适合用 SQLite 但被并发写 / async I/O 卡过的人
- 解决什么:帮你理解 SQLite 为什么强、Turso 这种 Rust 重写项目的”信任工程”长什么样,以及评估”AI 数据存储栈是不是一定要双库”
- 认知 vs 实操:偏认知(数据库选型视角),不教你具体用 Turso 写代码;要看代码去 Turso 官网
- 与已有笔记重叠:fireship 频道在 vault 暂无笔记,无重叠比较
自检问题
- Fireship 给出的 SQLite 三个核心特征是什么?为什么”三人维护、不接外部贡献”反而是它最被信任的原因? 答案:单文件嵌入式库 / 极简设计 / 25 年没断更。“三人维护、不接外部贡献”消除了贡献者不可控的风险,所以稳定性可被外部预测,这才是信任的真正来源。锚点:详解1。
- Turso 在 SQLite 之上新加的三个能力是什么?分别解决了 SQLite 哪类历史痛点? 答案:并发写(多写者同时操作不同分区,SQLite 一次只允许一个写者);async I/O(碰盘时把控制权交还 app,SQLite 阻塞线程);native 向量搜索(把向量类型和索引塞进同一文件,SQLite 需要外挂 Pinecone 类向量库)。锚点:详解2。
- Turso 凭什么能赢过 25 年积累的”不丢数据”信任?具体用了什么工程方法? 答案:用确定性模拟——把整个数据库跑在虚拟环境,接管时间/网络/磁盘,注入断电/页损坏/磁盘撒谎等失败,再用同一随机种子复现故障直到摁死 bug。锚点:详解3。
- Fireship 把”嵌入式数据库”和”AI 数据栈”用同一句话打通的那句核心论断是什么? 答案:“把那个本该独立起服务的东西塞进一个库”——25 年前是 SQL server,现在是向量数据库。锚点:03:07。
