💬 观点Simon Willison
SQLite compressed text-history prototypes — Simon Willison 用 zstd 压缩 JSON 数组存储 SQLit
Simon Willison 用 zstd 压缩 JSON 数组存储 SQLite 文本历史,1000 次修订压缩至 0.4%。
2026-08-09原文
本文为要点摘要,完整细节以原文为准。
🧭 一图看懂
由原文自动提炼 · 以原文为准点击任一分支,查看这一点的一句话解读
SQLite 压缩文本历史原型
把每版全文放进 JSON 数组,整体用 zstd/zlib 压缩存储
- 历史列存压缩 JSON 文本数组
- 时间戳列存未压缩 Unix 整数数组
- 利用重复文本获得高压缩比
⚙️ 流程拆解
STEP 1记录每版全文
STEP 2组成 JSON 文本数组
STEP 3zstd 压缩整块
STEP 4写入 SQLite BLOB
STEP 5时间戳单独存列
STEP 6超限则分块密封
🔗 涉及的概念与玩家
- Simon Willison人物
- SQLite产品
- zstd方法
- WholeBlobHistoryStore方法
- ChunkedHistoryStore方法
- GPT-5.6 Sol Pro模型
- GPT-Live产品
- JSON概念
- Simon Willison—研究→SQLite
- WholeBlobHistoryStore—使用→zstd
- ChunkedHistoryStore—使用→zstd
- GPT-5.6 Sol Pro—实现→WholeBlobHistoryStore
- Simon Willison—讨论→GPT-Live
- 将每次修订的完整文本存入 JSON 数组,再用 zlib 或 zstd 压缩,利用重复文本大幅缩减存储。
- 实验显示 1000 次模拟修订的 20.4 MB 原始文本压缩至 80.3 KB,压缩比约 250:1。
- 为避免每次编辑解压重压整个数组,将历史分块存储,每块最多 128 个修订或 3MB 未压缩 JSON。
对开发者而言,这种方案为关系数据库中的版本历史提供了高效存储思路,尤其适合文档型应用,可显著降低存储成本。
原文:SQLite compressed text-history prototypes · 作者 Simon Willison
🕸 顺着图谱继续读
- Introducing GPT‑Live — GPT2026-07-08 · 共同涉及 GPT-Live、Simon Willison
- llm 0.31.1 — 修复了 OpenAI 兼容 API 中空参数工具调用导致的 JSON 错误。2026-07-09 · 共同涉及 Simon Willison、JSON
- HTML table extractor — 一个将粘贴的富文本表格转为多种格式的在线工具。2026-06-29 · 共同涉及 Simon Willison、JSON
- How we built a realtime system for responsive voice AI — OpenAI 用六个月构建了低延迟连续语音交互系统 GPT2026-08-03 · 共同涉及 GPT-Live