db9 深度研究:TiDB 创始人做的 "Agent 版 Postgres"——文件即表,SQL 即胶水
> 来源: db9 Filesystem + SQL Patterns
> 官网: db9.ai
> 作者: Ed Huang(黄东旭),PingCAP/TiDB CTO 兼联合创始人
> 研究时间: 2026-03-21
🎯 一句话版本
TiDB 创始人黄东旭做的 Agent 专用数据库——PostgreSQL 兼容,但内置文件系统(SQL 里直接读写文件)、内置 embedding 生成、内置向量搜索、一条命令克隆整个环境。核心理念:Agent 的两种状态(文件+表)不应该拆到 5 个服务里,用一个 Postgres 统一。
🧠 核心理念
Agent 系统积累两种状态:
| 类型 | 形态 | 例子 |
|---|---|---|
| **Artifacts** | 文件形 | prompts, plans, logs, traces, reports |
| **Queryable State** | 表形 | metadata, dedup keys, chunk indexes, run status |
传统做法:S3 存文件 + PostgreSQL 存元数据 + Pinecone 存向量 + Redis 做队列 → 应用层写一堆胶水代码。
db9 做法:文件 + Postgres,SQL 是胶水。
🔧 关键特性
1. fs9:文件参与 SQL
-- 写文件
SELECT extensions.fs9_write('/reports/hello.txt', 'hello from db9');
-- 读文件
SELECT extensions.fs9_read('/reports/hello.txt');
-- 把 CSV/JSONL 文件直接当表查询!
SELECT * FROM extensions.fs9('/data/users.csv') LIMIT 5;
-- 过滤 JSONL 日志中的错误
SELECT _line_number, line
FROM extensions.fs9('/logs/run.jsonl')
WHERE line->>'level' = 'error';
文件不是 blob,是可查询的 relation。 "调试"不再需要专门的 UI,直接 SQL。
2. 内置 Embedding + 向量搜索
-- 服务端生成 embedding,无需外部服务
UPDATE docs SET vec = embedding(content)::vector(1024) WHERE vec IS NULL;
-- 语义搜索
SELECT title, content FROM docs
ORDER BY vec <-> embedding('how do agents use filesystem?')
LIMIT 5;
不需要单独的 embedding API、不需要 Pinecone/Weaviate、不需要应用层 pipeline。一条 SQL 搞定。
3. 内置 Markdown-aware Chunking
-- CHUNK_TEXT 自动按 markdown 结构断句
INSERT INTO doc_chunks (path, chunk_idx, content)
SELECT '/docs/intro.md', c.chunk_index, c.chunk_text
FROM CHUNK_TEXT(
content => extensions.fs9_read('/docs/intro.md'),
max_chars => 3600,
overlap_chars => 540,
title => 'intro'
) AS c;
4. Branch:一条命令克隆整个环境
$ db9 branch create myapp --name staging
# 克隆:表+行+文件+Cron+权限
Agent 可以在分支上做实验,不影响生产。这对 Agent 安全性极其重要——试错成本为零。
5. FUSE 挂载
$ db9 fs mount myapp ~/local
# 把 db9 文件系统挂载到本地目录
Agent 可以用标准文件操作(cat、ls、grep)访问 db9 中的文件。
6. 内置 HTTP + Cron
-- SQL 里直接调 API
SELECT body::json->>'status' FROM http_get('https://api.example.com/health');
-- SQL 里设定时任务
-- db9 db cron myapp create '*/5 * * * *' 'SELECT sync_embeddings()'
📐 完整 RAG Pipeline(一个数据库搞定)
传统 RAG 需要 4-5 个服务,db9 只需一个:
传统:S3(文件) + PostgreSQL(元数据) + Pinecone(向量) + Redis(队列) + 应用代码(胶水)
db9:一个 db9 = 文件存储 + 元数据 + 向量搜索 + 定时任务 + 全文搜索
文章给出的完整 pipeline:
1. Step A: 源文档存为文件 → fs9_write('/docs/intro.md', ...)
2. Step B: Chunk + 索引 → CHUNK_TEXT() + doc_chunks 表
3. Step C: 检索 → FTS(tsvector)或向量(embedding())
4. Step D: 输出存为文件 + 元数据行 → fs9_write() + artifacts 表
👤 作者背景:为什么值得重视
Ed Huang(黄东旭) 不是普通开发者:
- PingCAP CTO,TiDB 联合创始人
- TiDB 是全球最成功的分布式 NewSQL 数据库之一
- TiDB Cloud 90%+ 新集群由 AI Agent 创建(生产级数据)
- "Welcome to the Machine" 系列文章的核心观点:
> "Agent 不需要新接口,需要它们已经理解的接口——文件系统、SQL、Bash。这些 mental model 在训练数据中重复了无数遍,已经成为 LLM 的强先验。"
这个判断和 Hermes 的设计哲学(Markdown + SQLite)不谋而合。
🆚 竞品对比
| db9 | Neon | Supabase | Turso (AgentFS) | |
|---|---|---|---|---|
| 定位 | **Agent-first** | Serverless Postgres | BaaS | Edge SQLite |
| 文件系统 | ✅ fs9 (SQL 内) | ❌ | ✅ Storage (独立) | ❌ |
| 内置 Embedding | ✅ `embedding()` | ❌ | ❌ | ❌ |
| 向量搜索 | ✅ pgvector | ✅ pgvector | ✅ pgvector | ❌ |
| 环境分支 | ✅ 一条命令 | ✅ 分支 | ❌ | ❌ |
| FUSE 挂载 | ✅ | ❌ | ❌ | ❌ |
| 内置 HTTP | ✅ | ❌ | ❌ | ❌ |
| OpenClaw 集成 | ✅ 插件 | ❌ | ❌ | ❌ |
db9 的独特价值:把 5 个服务合成 1 个,且这 1 个是 Agent 已经"理解"的 SQL。
💡 与我们的关联
1. 今天记忆系统研究的延伸
我们今天研究了 Hermes(SQLite + Markdown)、OpenClaw 内置记忆(SQLite + 向量)、Hindsight(PostgreSQL + 自动提取)。db9 提供了第四种视角:
- Hermes / OpenClaw:SQLite + 文件,轻量但功能有限
- Hindsight:PostgreSQL + 自动提取,强大但不透明
- db9:PostgreSQL + 文件系统统一,既强大又透明
2. 文件即表的理念很强
我们的深度研究报告就是"文件形 artifact"——Markdown 文件存在 docs/deep-research/。如果用 db9,这些报告可以直接被 SQL 查询:
-- 查找所有评分 > 8.5 的报告
SELECT * FROM extensions.fs9('/docs/deep-research/*.md')
WHERE line LIKE '%综合%9.%';
3. Branch 功能对 Agent 安全性价值巨大
Agent 在分支上实验 → 确认无误 → 合并。不怕搞坏生产环境。
4. 但短期不适合我们
- db9 是云服务(serverless),不是自托管
- 我们的工作流是本地 Markdown + git → 不想迁移到云端数据库
- 定价未知
- VPS 上跑本地 PostgreSQL 太重(vs 现有 SQLite)
5. 长期启发
如果 OpenClaw 的记忆系统未来升级到 PostgreSQL 后端(Hindsight 已经在做),db9 的 fs9 理念——文件作为 SQL 一等公民——是最优雅的统一方式。
📊 评分
| 维度 | 评分(/10) |
|---|---|
| 技术创新 | 9.0 — 文件即表 + 内置 embedding + 环境分支,架构统一且优雅 |
| 作者影响力 | 9.5 — TiDB 创始人,有生产级 Agent 使用数据支撑 |
| 文档质量 | 8.5 — 清晰的 SQL 示例,实操性强 |
| Agent 生态 | 8.0 — 支持 OpenClaw/Claude Code/Codex/Cursor 等 |
| 与我们的适配度 | 6.5 — 理念优秀但短期不适合(云服务 vs 本地工作流) |
| **综合** | **8.5** |
报告由深度研究助手自动生成 | 2026-03-21