题记与说明
综合报告(最终稿) · 2026-11-01
本文由同日两份章节报告综合而成:纵轴篇(历时性发展史,八阶段)与横轴篇(2026-11-01 共时性横向对比,九维度)。综合时合并了两章的重复内容、统一了版本与日期口径、修正了彼此出入之处(文中均有标注),全部关键事实保留来源链接。两章中未能直读核实的数据点,本文如实继承其不确定标注,不做补齐。
最终稿修订说明:本稿按独立审读意见逐条修订——补写 MongoDB Search/Vector Search 的可用范围、重写 SQLite 版本口径(逐版本年份、3.52.x 下落、来源归属拆分)、补证 MongoDB 数据库侧校验能力、补全决策树分支并标注文件同步风险、降格 AI 训练数据断言、修正 DB-Engines"分"口径与免费层表述、拆分 SSPL 因果链、新增 §3.5"从决策树到最小起步";修订处以"(修订:…)"就地注明,未被质疑的内容原样保留。
TL;DR
2026 年做个人项目选型,"文档 vs 关系"的老问题已经失效:三家能力高度趋同——PostgreSQL 用 JSONB + pgvector 吸收了文档库的理由,SQLite 把 JSON 与全文检索装进单文件,MongoDB 补齐了事务与 JOIN。真正决定成败的是三个问题:数据库住在哪(嵌入/托管/自托管)、约束声明在哪一层、退出成本有多高。默认答案已稳固:本地工具选 SQLite;公网部署、要长期长大选 PostgreSQL;MongoDB 仅在 MERN 学习、天然异构文档、想要托管开箱即用(含 Search/Vector Search 免配置)时才有理由(注意 SSPL 与 512MB 免费层上限)。范式之争的终局是吸收而非替代——这是数据库史反复验证的规律。
一、纵轴:发展脉络——两条范式从分立、对抗到趋同
1.0 为什么要先看历史
本课题表面上是"个人项目该用 MongoDB、SQLite 还是 PostgreSQL"的三选一,但纵轴(历时性)视角告诉我们:这个问题的答案在过去五十多年里被反复改写。纵轴不是某一条产品线的编年史,而是文档模型与关系模型这两条范式从分立、对抗到趋同的历史。个人项目选型之所以成为问题,正是因为这条主线不断改变三者的相对位置:
- SQLite 证明了"关系数据库可以小到塞进任何地方";
- MongoDB 证明了"没有固定 Schema 也能做出生产级数据库";
- PostgreSQL 用三十年证明"关系数据库可以把文档模型吸收进来"。
到 2026 年的当下截面,三者已从"替代关系"演变为"各占一个生态位"。下面按八个阶段展开。
1.1 阶段一(1970–1999):关系模型确立,文档模型的"史前时代"
- 1970 年,IBM San Jose 实验室的 Edgar F. Codd 发表关系模型论文《A Relational Model of Data for Large Shared Data Banks》(CACM),奠定此后五十年数据库世界的理论地基。
- 1973 年起,伯克利的 Michael Stonebraker 与 Eugene Wong 启动 Ingres 项目,把关系模型变成可运行系统;Stonebraker 于 1985 年重返伯克利启动 POSTGRES("POST-Ingres"),设计论文发表于 1986 年,1987 年跑出首个演示系统,项目由 DARPA、NSF 等资助(PostgreSQL 官方文档:A Brief History)。
- 1994 年伯克利版 POSTGRES 停止开发后,研究生 Andrew Yu 与 Jolly Chen 把查询语言从 QUEL 换成 SQL,以 Postgres95 之名重新发布——官方文档形容其"被两个研究生救活"。1996 年项目更名 PostgreSQL,1997 年 1 月发布首个正式版本 6.0,开发主体从学术团队转为开源社区。
- 同期,文档存储的"史前形态"出现:1989 年问世的 Lotus Notes 证明"以文档为单位的存储 + 复制"在生产中可行;2000 年代初的 XML 数据库(如 MarkLogic)是文档数据库的直接前身。1995 年 MySQL 发布,让"个人站长 + LAMP"成为此后十年个人项目的默认组合。
这一阶段为"个人项目选型"议题埋下了最初的问题框架:好用的个人项目数据库,必须便宜、易装、不需要专职 DBA。
1.2 阶段二(2000–2006):SQLite 诞生——"反服务器"的关系数据库
- 2000 年,D. Richard Hipp 在一个经由 General Dynamics 承接的美国海军制导导弹驱逐舰项目中,需要一个不依赖数据库服务器、不要求 DBA 的嵌入式存储,SQLite 由此诞生并于当年发布 1.0 版。Hipp 在多个场合(The Untold Story of SQLite 访谈、Lobsters 访谈)讲过这段"军舰上不能假设有 DBA"的起源故事。
- 2004 年 SQLite 3.0 换用全新文件格式与 B-tree 实现,摆脱对 gdbm 的依赖,奠定沿用至今的 3.x 体系;SQLite 以公有领域(public domain)发布,成为任何项目都可无负担嵌入的"公共品"。
- 2005 年,Damien Katz 单人启动 CouchDB 项目(2010 年发布 1.0),这是现代文档数据库的第一声号角。
这一阶段确立了个人项目选型反复出现的判断标准之一:零运维、单文件、随代码一起拷走。
1.3 阶段三(2006–2009):NoSQL 浪潮与 MongoDB 诞生——两种模型正面相遇
- 2006 年 Google 发表 Bigtable 论文(OSDI 2006),2007 年 Amazon 发表 Dynamo 论文(SOSP 2007),直接催生 HBase、Cassandra、Voldemort、Riak 等开源分布式存储(背景综述见 O'Reilly: The Rise of NoSQL)。
- 2007 年,DoubleClick 出身的 Dwight Merriman、Eliot Horowitz 与 Kevin Ryan 创立 10gen,最初做 PaaS 云平台,MongoDB 只是其中的数据库组件;2009 年 2 月,公司把 MongoDB 以 AGPL 开源发布、转向数据库业务(MongoDB 官方 Our Story),同年 8 月前后发布生产就绪的 1.0;2013 年公司更名 MongoDB Inc.。
- 2009 年 6 月 11 日,Last.fm 工程师 Johan Oskarsson 在旧金山组织"开源分布式非关系数据库"讨论会——"NoSQL"原本只是活动的 Twitter 话题标签,结果演变成一场运动,MongoDB、CouchDB、Cassandra 均登台亮相。
- 同期 SQLite 已随 PHP、Android、浏览器进入几乎所有终端,SQLite 官方"最广泛部署"页主张其为全球部署量最大的数据库引擎。
驱动因素是 Web 2.0 的规模爆炸、廉价横向扩展与开发者"先写业务再定 Schema"的渴望。对个人项目而言,2009 年前后的叙事极具诱惑力——"MongoDB is web scale"成了开发者社区的流行梗,个人项目的默认数据库第一次出现分裂。
1.4 阶段四(2010–2014):MongoDB 的黄金扩张与第一次信任危机
- MongoDB 进入高速迭代期:副本集、分片成熟,2012 年 2.1/2.2 线引入聚合框架;2013 年 Valeri Karpov 提出"MEAN 栈"(MongoDB/Express/Angular/Node)一词,个人项目教程圈掀起"全栈一个字母都是 JS"的风潮。
- 质疑同步累积:分布式系统专家 Kyle Kingsbury(aphyr)的 Jepsen 系列对 MongoDB 做了连续审查——2013 年的分析指出 MongoDB 在网络分区下丢失"惊人的"数据;2015 年《Jepsen: MongoDB Stale Reads》证明低于 MAJORITY 的写关注级别"设计上就会丢数据",甚至 MAJORITY 也出现过已确认写入丢失。MongoDB 以 3.2 版引入基于 Raft 的新复制协议 pv1 作为回应;2017 年 Jepsen 对 3.4.0-rc3 的复查又发现并推动修复了复制协议的进一步缺陷。
- 关系一侧开始反击:2012 年 PostgreSQL 9.2 引入原生
json类型,2013 年 9.3 补齐 JSON 操作符——Postgres 第一次把"文档存储"从笑话变成议题。
"易上手"与"可靠"第一次正面冲突,个人项目叙事开始出现第一批"从 MongoDB 迁回 Postgres"的博文。
1.5 阶段五(2014–2018):JSONB 分水岭——Postgres 吸收文档模型,MongoDB 走向企业化
- 2014 年 12 月 18 日,PostgreSQL 9.4 发布 JSONB 类型,官方公告直接写道:"有了 JSONB,用户不必再在关系与非关系数据存储之间做选择:可以同时拥有两者"(官方发布公告)。二进制存储 + GIN 索引让"关系表 + 文档字段"成为现实——这是纵轴上最关键的单一节点:文档与关系从对立变成一台机器里的两种能力。
- MongoDB 侧的应对与转身:2014 年 12 月 16 日收购 WiredTiger(官方新闻稿),2015 年 3.0 引入可插拔存储引擎、3.2 起默认 WiredTiger 并加入
$lookup文档联接;2017 年 10 月 19 日以 MDB 代码在纳斯达克上市,发行价 24 美元(官方公告)。 - 2018 年 6 月 27 日 MongoDB 4.0 GA,补上多文档 ACID 事务(先覆盖副本集,4.2 于 2019 年扩展到分片集群),文档数据库在能力清单上完成对关系数据库的"追平"(背景见 Percona 2018 年分析)。
- 同期的月球背面:2018 年 10 月 MongoDB 宣布将开源许可证从 AGPL 改为 SSPL(官方公告页)。SSPL 提交 OSI 审议后始终未获开源认证,Red Hat、Debian、Fedora 等相继移除 MongoDB 包;2019 年 1 月 9 日 AWS 推出 MongoDB 兼容的 DocumentDB(业界普遍视为对 SSPL 的回应,当时讨论),开源与云厂商的关系彻底紧张化。
对个人项目的直接影响:Linux 发行版里 apt install mongodb 开始变得别扭,而"一个 Postgres 同时干关系和文档两份活"的教程大量出现——"Postgres 就够了"由此成为个人项目圈的经典建议。
1.6 阶段六(2019–2022):本地优先运动与 SQLite 复兴,Postgres 服务化
- 2019 年 4 月 1 日,Ink & Switch 发表 《Local-first software: You own your data, in spite of the cloud》(Martin Kleppmann 等),把"数据属于用户、本地可用、多端同步"变成显性议程,SQLite 成为其技术叙事的基石之一,也点燃了后续"SQLite 上生产"的正当性论证。
- SQLite 自身完成关键现代化:2010 年 3.7.0 引入 WAL 模式解决读写并发;2015 年加入 JSON1 扩展;2022 年 3.38 起 JSON 函数内置为默认能力——一个嵌入式引擎悄悄具备了文档存储能力。
- SQLite 生态开始"服务化/云化":2020 年 Ben Johnson 发布 Litestream(SQLite 流式备份);2022 年 Fly.io 推出 LiteFS;2022 年 Glauber Costa 创立的 Turso 发布 SQLite 的开源分支 libSQL,加入服务端模式与复制;同年个人项目友好的单文件 BaaS PocketBase(基于 SQLite)发布并走红。
- Postgres 侧同样服务化:2020 年 Supabase 以"开源 Firebase 替代品"之名上线,底层正是 PostgreSQL;2021 年 Neon 创立(serverless Postgres,存储计算分离)。
- MongoDB 维持年更节奏(5.0 于 2021 年、6.0 于 2022 年),收入重心已转向 Atlas 云服务;边缘侧 2022 年 5 月 Cloudflare 宣布 serverless SQLite 数据库 D1(11 月开放测试,官方产品页)。
个人项目选型的三选一格局至此齐备:SQLite(本地/嵌入)、托管 Postgres(默认后端)、Atlas(文档托管)。
1.7 阶段七(2023–2025):三库趋同,AI 与"vibe coding"改变天平
- 开发者共识的数据化:2023 年 Stack Overflow 年度调查中 PostgreSQL 首次登顶"最常用数据库"(2024 年 48.7%,2025 年 55.6% 且连续多年第一)。
- SQLite 向上突破:2024 年 3.45–3.47 连续发布,其中 3.45.0(2024 年 1 月)引入 SQLite 自己的 JSONB——内部二进制 JSON 表示,以 BLOB 形式存储(来源见 Hacker News 讨论);2025 年 5 月 29 日 3.50.0 发布恰逢 SQLite 诞生 25 周年,11 月 4 日 3.51.0 跟进;框架层面,2024 年 11 月 7 日发布的 Rails 8 宣布"all-in on SQLite as a production database"(Solid Queue/Cache/Cable 三件套全部跑在 SQLite 上),DHH 把"一人公司框架"的默认数据库押注 SQLite;2023 年 Bun 1.0 内置
bun:sqlite,进一步降低单机使用门槛。 - SQLite 的"重写分支"出现:2024 年 12 月 10 日 Turso 宣布用 Rust 完全重写 SQLite 的 Limbo 项目,2025 年 1 月宣布 all-in(We will rewrite SQLite),后更名 Turso Database——SQLite 第一次同时拥有"正统 C 血统"与"内存安全重写"两条产品线。
- MongoDB 继续补齐 AI 时代能力并调整资产结构:2024 年 10 月 2 日 8.0 GA(读吞吐 +32%、批量写入提速 56%);2025 年 2 月 24 日宣布约 2.2 亿美元收购嵌入/重排序模型公司 Voyage AI(官方新闻稿),把向量检索做成原生能力。
- Postgres 在 AI 浪潮中被进一步"压舱":pgvector 自 2021 年 4 月由 Andrew Kane 发布、2023 年 8 月 0.5.0 加入 HNSW 索引后成为 RAG 事实标准;2025 年 5 月 14 日 Databricks 宣布以约 10 亿美元收购 Neon(官方公告),Snowflake 同期以 2.5 亿美元收购 Crunchy Data;Supabase 于 2025 年 4 月完成 2 亿美元 D 轮(估值 20 亿)、10 月完成 E 轮(估值 50 亿)。
- 2025 年 9 月 25 日 PostgreSQL 18 发布,异步 I/O 子系统(io_uring/worker)、
pg_upgrade保留统计信息、UUIDv7 等落地。
驱动因素:AI 应用(RAG/Agent)让"向量 + 关系 + 文档"一体化的诉求全面压倒单范式之争;"vibe coding"让个人开发者规模激增,托管 Postgres(Supabase/Neon)成为 AI 编码工具链里的默认持久化选项;本地优先与"一人公司"思潮让 SQLite 重新合法化。三库在能力上趋同(事务、JSON、向量都有),竞争焦点转移到生态位与运维成本。
1.8 阶段八(2026,当下截面):格局落定
- 开发者调查:2026 年 10 月 6 日发布的 Stack Overflow 2026 开发者调查显示:PostgreSQL 以约 58% 连续第四年位居"最常用数据库"第一,SQLite 以 42% 升至第二、首次超过 MySQL(35%);MongoDB 约 19% 排名第七;Supabase 升至第 11(8%)。这份榜单本身就是横轴数据的注脚:文档模型没有死,但个人项目的默认答案已明显倒向 SQLite + PostgreSQL。(修订:使用占比已由本文 2026-11-01 直读该页复核——PostgreSQL 57.9%、SQLite 42.1%、MySQL 35.1%、MongoDB 19.0%,与正文四舍五入一致;"最受喜爱数据库"与"Supabase 第 11(8%)"两项未能在该页复核,保留初稿记载 ⚠。)
- 版本节点(口径说明,修订:已按逐版本直读复核重写,来源归属拆分)——本文 2026-11-01 直读 sqlite.org/changes.html 逐版本核实:SQLite 当前版本为 3.54.1(2026-10-16,修复 3.54.0 的 32 位堆缓冲区溢出;3.54.0 发布于 2026-10-09)。2026 年前后的版本线逐年给出:3.51.0(2025-11-04)→ 3.51.1(2025-11-28,修复嵌套 EXISTS 查询错误结果与 fts5vocab 虚表缺陷)→ 3.51.2(2026-01-09,修复 broken-posix-lock 检测逻辑死锁与 EXISTS-to-JOIN 优化问题)→ 3.51.3(2026-03-13,修复 WAL-reset 数据库损坏缺陷)→ 3.52.0(2026-03-06 发布后即被撤回,官方更新页注明其原定特性全部并入 3.53.0,因此 3.52.x 线没有实际可用版本)→ 3.53.0–3.53.4(2026-04-09 至 2026-07-24,其中 3.53.3/3.53.4 的更新说明写明修复"大部分来自 AI 发现的问题")→ 3.54.0(2026-10-09)/3.54.1(2026-10-16)。以上均出自 changes.html 直读(本文复核)。此前初稿括注的两个细节拆分更正:其一,纵轴章原记"3.51.1 修复 Posix 锁损坏问题"——changes.html 显示"应用用 close() 破坏 Posix 咨询锁导致损坏"的防御增强出自 3.51.0,相关检测逻辑的死锁修复出自 3.51.2,纵轴章版本对不上,以直读为准;其二,纵轴章原记"3.51.2 修复 CVE-2025-70873"——该 CVE(zipfile 扩展堆内存信息泄露,影响 ≤3.51.1)出自检索摘要(SUSE CVE 页),摘要称修复进入被撤回的 3.52.0,changes.html 未标注任何 CVE 编号,此条未在一手页面核实(⚠)。PostgreSQL 19 于 2026 年 6 月 4 日发布 Beta 1、10 月 15 日进入 RC1(官方公告),官方计划 11 月 19 日 GA,但检索摘要显示因后期特性回退与 AI 辅助查错而推迟——截至本截面,稳定大版本仍是 18.x。2026 年 6 月 5 日 Supabase 完成 5 亿美元 F 轮、估值翻倍至约 100 亿美元(25 万客户,AI 编码工具热潮是直接推手);2026 年 9 月 29 日 MongoDB 9.0 GA(官方称吞吐翻倍、读取快 35%、更新快 30%;该新闻稿页面本文直读返回 403 ⚠),并同步发布 Atlas Infinite 与面向 AI Agent 的 Atlas Agent Engine。
- 选型格局:2026 年的个人项目语境中,三个候选已形成稳定分工——SQLite 管"单机、边缘、随代码走"(Rails 8、PocketBase、D1、Turso 皆在此列);PostgreSQL 管"要长期长大、要 JSONB/全文/向量一体化"(Supabase/Neon 托管后近乎零运维);MongoDB 管"文档聚合天然契合、且接受其商业模式"的少数场景。纵轴叙事至此完成闭环:1970 年关系模型的一统、2009 年文档模型的挑战、2014 年 JSONB 的吸收、2020 年代的生态位分化。
1.9 纵轴的三条启示
- 范式之争的终局是吸收而非替代:MongoDB 没有杀死 SQL,Postgres 反而把文档模型变成了一个列类型;SQLite 把 JSON 内置、MongoDB 把事务补齐——到 2026 年,"纯文档 vs 纯关系"的原教旨争论已经没有技术土壤,选型问题真正变成了生态位与托管成本问题。
- 个人项目选型被两股力量反复重塑:第一股是运维成本(军舰上没有 DBA → 手机里没有 DBA → 个人开发者的深夜里没有 DBA),第二股是舆论与调查(Jepsen 报告、Stack Overflow 榜单、Rails 8 的站队)。每一次 SQLite/Postgres 生态位扩张,背后都是"让一个人能搞定"的驱动。
- 商业矛盾塑造技术版图(修订:原稿把两条因果拧成了一句,拆开写)——SSPL 之争的后果有两条不同的因果链。第一条:云厂商并没有因此转向 Postgres 来替代 MongoDB——AWS 的回应是以自研兼容层绕开 SSPL,2019 年推出 MongoDB 兼容的 DocumentDB,把文档 API 留在自家云上;第二条:真正吃到 SSPL 弃用潮与 AI 浪潮红利的,是托管 Postgres 生态——Supabase、Neon 等平台拿走了"开源 + 托管"的位置(Neon 10 亿美元被 Databricks 收购、Supabase 估值 100 亿美元),AI 浪潮又用真金白银(含 Voyage 2.2 亿美元)加码了这一侧。技术选型从来不只是技术问题——这是纵轴给横轴对比埋下的最重要注脚。
二、横轴:横向对比——2026-11-01 时间截面
2.1 对比集合的界定
横向对比必须把"替代方案"一并拉进来,否则结论会失真:
- 核心三家:MongoDB(文档型代表)、SQLite(嵌入式关系型代表)、PostgreSQL(全功能关系型代表);
- 同类替代:MySQL/MariaDB(另一条关系型主流线)、Redis(KV/内存,个人项目常用作缓存而非主库)、DuckDB(分析型嵌入式,SQLite 的"OLAP 姊妹");
- SQLite 生态衍生物:libSQL / Turso、Cloudflare D1——它们改变了"SQLite 不能联网"这个旧假设;
- 托管平台层(决定个人项目的真实成本):MongoDB Atlas、Supabase、Neon、自托管 VPS。
选择这三个核心对象的理由本身就是课题的一部分:它们恰好代表三种部署形态的极点——进程内嵌(SQLite)、独立服务进程(PostgreSQL)、服务 + 托管平台(MongoDB/Atlas)。
2.2 总览对比表(截至 2026-11-01)
| 维度 | SQLite | PostgreSQL | MongoDB |
|---|---|---|---|
| 数据模型 | 关系型(SQL),支持 JSON/JSONB 列 | 关系型 + JSONB(文档能力内嵌)+ pgvector | 文档型(BSON),Schema 灵活 |
| 最新版本 | 3.54.1(2026-10-16) | 18.x(18.0 于 2025-09-25 发布;19 尚在 RC1) | 9.0(2026-09-29 GA) |
| 许可证 | Public Domain(公有领域) | PostgreSQL License(类 BSD/MIT) | SSPL v1(OSI 未认可,非"开源"定义) |
| 部署形态 | 进程内嵌库,单文件 | C/S 服务进程 | 服务进程 + Atlas 托管 |
| 零成本上限 | 无上限(本地磁盘) | 自托管无上限;Supabase/Neon 免费层约 0.5GB | Atlas M0 免费 512MB |
| 运维负担 | 几乎为零(备份 = 复制文件) | 中(备份/升级/连接管理,托管可转嫁) | 中高(托管转嫁,自托管分片/副本集复杂) |
| 向量检索 | 生态层扩展(sqlite-vec、libSQL) | pgvector 扩展 | Search/Vector Search(2025-09 起自托管社区版/企业版可用,见 §2.3.4) |
| 全文检索 | FTS5 内建 | tsvector/GIN + pg_trgm 内建 | Search(2025-09 起自托管社区版可用;此前为 Atlas 专属,见 §2.3.4) |
| DB-Engines 排名(2026-10/11)* | 长期第 8 位上下、位列本月上升榜 | 第 4 位(同比 +45 分) | 第 5 位(同比 +7 分) |
| 个人项目典型角色 | 默认本地存储 | 默认服务端主库 | 特定形态下的文档主库 |
\* DB-Engines 排名数字来自横轴章的 WebSearch 摘要(db-engines.com 页面直读失败,报证书错误 UNABLE_TO_GET_ISSUER_CERT_LOCALLY;本文 2026-11-01 复试同样失败),使用时建议以当月官网页面复核。(修订补充口径:这里的"分"是 DB-Engines 的流行度评分——每月更新,由搜索引擎命中数、Google Trends、Stack Overflow 等技术讨论频度、招聘信息提及、LinkedIn 档案与社交提及等信号加权合成(排名方法页,检索摘要核实),不是用户量或市场份额;"+45/+7 分"为同比增量(对 2025 年同期),与正文"2026 上半年 +21.97 分"(半年窗口)不可相加或直接比较,绝对增量大小应结合名次走向解读。)
2.3 分维度对比
2.3.1 数据模型与查询能力:"文档 vs 关系"在 2026 年还剩多少真实差异
这是本课题的母题,也是横向对比中差异被收窄得最厉害的一维。
- PostgreSQL 的 JSONB 已经是"半文档数据库":二进制 JSON 存储、GIN 索引与包含查询自 9.4 起提供;SQL 标准
JSON_TABLE(把 JSON 当关系表投影)已由 PG 17(2024-09-26 发布)引入(PG 17 发布说明,本文直读核实——修订:初稿误记为 PG 18 特性,已更正);PG 18 再补上异步 I/O 子系统与并行 GIN 索引构建(JSON 与全文检索的索引构建受益)等(来源:PostgreSQL 18 Release Notes,本文直读复核、官方 JSON 函数文档)。也就是说,"字段不固定"这个选 MongoDB 的头号理由,在 Postgres 上通常用 JSONB 列即可解决,同时还保留外键、约束、事务和 JOIN。 - SQLite 也有了原生 JSONB:3.45.0(2024 年 1 月)引入内部二进制 JSON 表示,以 BLOB 形式存储、免去反复解析的开销(来源:SQLite 3.45 发布讨论、Fedora 社区的 JSON/JSONB 使用综述;ORM 生态正在跟进,如 Drizzle ORM 的 JSONB 支持议题、SQLAlchemy 议题 #13260)。配合 FTS5 全文检索,SQLite 覆盖了个人项目九成以上的"半结构化数据"需求。
- MongoDB 的反方向收窄:反过来不断补齐关系型能力——多文档 ACID 事务(4.0 起)、
$lookup类 JOIN,以及 9.0 中 Queryable Encryption 支持前缀/后缀/子串匹配(来源:MongoDB 9.0 发布,页面直读失败 ⚠)。
逐项结论(修订:补证 MongoDB 数据库侧校验能力,去掉绝对化表述):三者的能力交集在 2026 年显著大于差集。真正的分水岭不再是"文档 vs 关系",而是约束缺省声明在哪一层——Postgres/SQLite 在建表时用 schema 约束数据,脏数据缺省进不来;MongoDB 同样提供数据库侧校验:集合上可以挂 $jsonSchema 校验器(3.6 起支持,可配 validationLevel off/moderate/strict 与 validationAction error/warn),但它是逐集合显式开启的可选项,且没有外键与跨文档约束(MongoDB Schema Validation 文档,本文直读核实)——"随手建集合"的个人项目用法下,校验器通常不会被配置,约束缺省仍落在应用层,脏数据要到读代码时才发现。对个人项目而言,没有同事跟你对齐 schema 时,数据库侧的强约束往往是更便宜的那道保险。
2.3.2 许可证与法律风险:最容易被个人开发者忽略的一维
- SQLite:Public Domain,无任何使用条件,可随任何产品闭源分发(官方 licensing 页);
- PostgreSQL:PostgreSQL License,类 BSD/MIT,宽松且经 OSI 认证;
- MongoDB:SSPL v1。自 2018 年 10 月起,MongoDB Community Server(4.0.2+)从 AGPL 转向 SSPL v1;SSPL 提交 OSI 后未获通过,因此在 OSI 定义下 MongoDB 不再是"开源"数据库。SSPL 的核心条款:若你把 MongoDB 作为服务对外提供,必须开源整个服务管理栈(来源:横轴章经 WebSearch 核实,MongoDB Licensing 文档)。
逐项结论:个人项目阶段三者都是零成本,但 SSPL 是一个"未来的坑"而非"现在的成本",风险仅在"你的个人项目变成 DBaaS 创业产品"那天出现。选型时值得记一笔,不必因此否决。
2.3.3 成本:金钱与心智
金钱成本(免费层与起步价,2026 年):
| 方案 | 免费额度 | 付费起步 |
|---|---|---|
| SQLite 自托管 | 无限(本地文件) | $0 |
| PostgreSQL 自托管(VPS) | 取决于 VPS | VPS $4-10/月 |
| Supabase(托管 PG) | ~2 个项目、约 500MB 库、5GB 流量、闲置暂停(来源:Alternative.tools SaaS 数据库指南、FuturePicker 2026 对比;修订:均为第三方对比页,未直读官方定价页 ⚠) | Pro $25/月(同上 ⚠) |
| Neon(Serverless PG) | ~100 CU-hours/0.5GB、闲置 5 分钟挂起自动唤醒、支持分支(同上来源,第三方对比页 ⚠) | 按用量计费 |
| MongoDB Atlas M0/Free | 512MB 存储、100 库/500 集合、500 并发连接、10GB 出入网(修订:本文 2026-11-01 直读免费层限制文档复核——0.5GB 存储、500 连接、100 库/500 集合、7 天滚动窗口 10GB 进/10GB 出;另见 Atlas 部署教程) | Flex 约 $8-30/月;专用 M10+ 约 $57-60/月(来源:MongoDB Pricing;区间来自检索摘要,以官方页为准 ⚠) |
心智成本(对个人项目往往更贵):
- SQLite:学习 SQL + 驱动即可,"运维"约等于"别删文件"。备份即复制文件(建议用
VACUUM INTO或sqlite3 .backup)。 - PostgreSQL:需理解服务、端口、角色、pg_dump 备份与版本升级;选择 Supabase/Neon 可把运维转嫁给平台,代价是闲置暂停与额度管理。
- MongoDB:概念上入门最快(JSON 进 JSON 出),但完整掌握需要副本集、分片、WiredTiger 调优;好在个人项目用 Atlas 可以完全绕开,代价是 512MB 天花板。
逐项结论(修订:原稿"Atlas(512MB)< Supabase/Neon(约 500MB)"的不等号与自身数字相悖,改为按定位表述):三家免费层的存储都在 0.5GB 量级(Atlas M0 与 Supabase/Neon 约 500MB 相当),真正拉开差距的不是数字而是沙盒定位与可否跑生产:Atlas M0 是沙盒——限流 100 ops/s、30 天闲置可能被平台停用、备份快照最多保留 4 份、专用与分析/搜索节点仅 M10+ 可配(以上为本文直读免费层限制文档所得),生产负载需要升到 Flex/专用层;Supabase/Neon 的免费层定位是可跑小型生产(约 500MB 还捆绑认证/存储等周边能力,代价是闲置暂停与额度管理);SQLite/自托管无上限。若项目会长大,Postgres 托管路线的单位成本曲线更平。
2.3.4 生态与集成:排名、ORM 与 AI 时代的新变量
- 流行度:DB-Engines 2026 年 10-11 月排名中 PostgreSQL 第 4(同比 +45 分)、MongoDB 第 5(+7 分)、SQLite 位列前十且与两者同列本月上升榜;2026 上半年 PostgreSQL 以 +21.97 分领跑全部数据库(来源:检索摘要与 Redgate 转载的 2026 上半年增长榜;页面直读失败,见 2.2 节注)。(修订补充口径:"分"是流行度评分而非市场份额,合成信号见 2.2 节注;"+45/+7 分"是同比增量、"+21.97 分"是 2026 上半年增量,两个统计窗口不可相加或直接比较;判断"算大算小"应看名次走向——这轮增量没有改变 PostgreSQL 第 4、MongoDB 第 5 的名次,属于热度上行的信号而非格局变化。)个人项目受众的体感与之一致:PostgreSQL 是招聘、教程与 AI 代码生成里出现频率最高的默认值。
- ORM 与语言生态:三者都有全语言覆盖。(修订:下句由断言降格为经验判断——)作者在个人项目与社区观察中的体感是:主流 AI 编程助手产出的 Postgres/SQLite SQL 代码模式明显多于 MongoDB 聚合管道,很可能与两类查询语言在公开代码中的暴露量有关。此为作者经验判断,AI 训练数据构成无法核实(未核实),建议读者在自己的 AI 工具链里做小样本对照后再作依据。
- 向量检索(2026 年个人 AI 项目的标配需求):pgvector 让 Postgres 直接当向量库用(HNSW 索引自 2023 年 8 月 0.5.0 起,pgvector 仓库);MongoDB 于 2025 年 9 月把 Search 与 Vector Search 带入自托管部署(官方公告,检索摘要核实),Compass/Charts 支持自然语言查询(MongoDB 9.0 发布,页面直读失败 ⚠);SQLite 侧靠 sqlite-vec、libSQL 内建向量等生态方案(libSQL/Turso 综述,首页级弱指针)。
- 可用范围一句话(修订新增,回应"社区版能不能用全文/向量检索"):全文检索(Search)与向量检索(Vector Search)均已进入自托管的 Community Edition 与 Enterprise Server(2025 年 9 月官方宣布,Community Edition 产品页,检索摘要核实)——功能上不再 Atlas 独占;仍需要 Atlas 的情形是想零配置托管:自动运维、备份、弹性扩容与 M0 免费层——选 Atlas 买的是托管体验,不是功能独占。
- SQLite 生态的独特现象:它是"被所有人使用、被很少人讨论"的底座,官方引用与多方访谈称其使用量"可能超过其他所有数据库引擎之和"(官方声明、fasterthanfs 论文)。
逐项结论:以"服务端项目资源多寡"计,生态维度 Postgres > MongoDB > SQLite;换算到"本地项目"场景,SQLite 的嵌入式生态(几乎所有语言标准库级支持)反超。
2.3.5 成熟度与可靠性
- SQLite:测试文化业内顶尖,发布节奏极稳(3.53.4 → 3.54.0 → 3.54.1,一年内多次稳健迭代;3.53.4 的更新说明甚至写明"修复大部分来自 AI 发现的问题",来源:sqlite.org/changes.html,横轴章直读核实、本文复核)。经典论断:对 10KB 级小 blob,SQLite 比直接读写文件系统快约 35%、省约 20% 磁盘空间,因为它省掉了逐文件 open/close 系统调用与块填充(官方论文 fasterthanfs,横轴章直读核实)。消歧(修订:删去无上下文的"35% 规则"句,保留口径区分):这个"35%"与 MongoDB 9.0 宣传的"读取快 35%"毫无关系——前者是"对比文件系统",后者是"对比自家上一代",两处口径不同、都不可读作"比对方快 35%"。
- PostgreSQL:30+ 年历史、MVCC、WAL、逻辑复制,是全球关键系统的默认关系库;PG 18 引入异步 I/O(顺序扫描最高 2-3 倍)、原生 UUIDv7、OAuth 2.0 认证、虚拟生成列、持久化统计(来源:PG 18 发布说明);PG 19 截至 2026-10-15 处于 RC1,稳定大版本仍是 18.x(见 1.8 节口径说明)。(修订:上述特性名已由本文 2026-11-01 直读发布说明逐项复核——异步 I/O 子系统、
uuidv7()、OAuth 认证、虚拟生成列、pg_upgrade 统计保留均确认;"顺序扫描最高 2-3 倍"未见于该页,保留初稿记载 ⚠。) - MongoDB:成熟度足够,但复杂度集中在分布式面(副本集选举、分片);单机场景的可靠性并无优势。9.0 的"读取快 35%、更新快 30%、吞吐翻倍"是其近年最大的一笔性能投资(MongoDB 9.0 发布,页面直读失败 ⚠)。
2.3.6 运维负担:个人开发者的真实约束是"凌晨谁来救火"
个人项目没有 on-call。于是运维负担的排序(低→高):SQLite ≈ Atlas/Neon/Supabase 托管 < 自托管 Postgres < 自托管 MongoDB 副本集/分片。一个实用的换算:SQLite 的"数据库运维"退化为"文件备份";托管的代价从钱变成额度与冷启动(Neon 闲置 5 分钟挂起、Supabase 免费层闲置暂停——对个人低频访问项目,冷启动延迟比额度更先被感知)。
2.3.7 新兴替代方案:SQLite 系正在改写"个人项目选型"的边界
2026 年最值得写进横轴的一支力量是 SQLite 的服务化衍生物:
- libSQL(Turso):在 SQLite 之上加服务模式、embedded replicas(本地读、远端写)、内建向量检索与免费云层;基于 WAL 机制做边缘复制(来源:Distributed SQLite: Why LibSQL and Turso are the New Standard in 2026、SQLite vs LibSQL 对比、flaviocopes 综述)。
- Turso Database(Rust 重写):官方对新项目的推荐方向是重写版;libSQL 仍是需要久经沙场稳定性的关键负载选择(来源:Turso 文档)。
- Cloudflare D1:边缘 SQLite,与 Workers 深度绑定。
这些方案对课题的意义:"文档 vs 关系"的选择题,正在被"嵌入 vs 服务"的选择题部分取代——而前者在个人项目尺度的权重本来就更低。
2.3.8 适用场景矩阵(个人项目高频形态 × 推荐)
| 场景 | 首选 | 次选 | 理由 |
|---|---|---|---|
| CLI 工具/脚本的本地状态 | SQLite | DuckDB(分析) | 零部署、比文件系统更快更省(§2.3.5) |
| 桌面/移动应用内嵌存储 | SQLite | libSQL | Public Domain 可随包分发 |
| 个人网站/博客后端 | SQLite 或托管 PG | Supabase | 流量小,单文件足够;要认证/存储套件则 Supabase |
| 多用户 SaaS demo | 托管 Postgres(Neon/Supabase) | Atlas Flex | 强约束 + 免费层可跑生产 |
| RAG/AI 记忆库 | Postgres + pgvector | Atlas Vector Search | 一库同时存关系与向量,避免多库同步 |
| 全栈学习 MERN 栈 | MongoDB + Atlas | — | 求职信号一致,JSON 心智模型统一 |
| 数据分析/报表 | DuckDB + SQLite/Parquet | Postgres | 列式 OLAP 与行式 OLTP 分工 |
2.3.9 迁移与退出成本
- SQLite → Postgres:SQL 方言差异小,工具成熟,是最低摩擦的"升级路线"——这使"先 SQLite 后 Postgres"成为低风险策略;
- Postgres ↔ MongoDB:模型不同构,迁移=重写数据访问层,个人项目应视作单向门;
- MongoDB → Postgres:聚合管道查询需要改写为 SQL,JSON 字段落 JSONB 后通常无损,成本中等;
- 云平台间(Supabase ↔ Neon ↔ 自托管):同为 Postgres,pg_dump/pg_restore 即走,锁定效应最弱。这也是"默认 Postgres"共识的隐藏支柱:它同时是能力最强与退出成本最低的选项之一。
2.4 选型决策树(2026-11 版)
(修订:第二问补"多端 + 并发写频繁 + 不上公网"出口;"SQLite + 文件同步"标注适用前提与损坏风险;MongoDB 出口措辞与 Search/Vector Search 可用范围同步。)
数据只在本机/单进程? ── 是 → SQLite(需要分析加速则加 DuckDB)
│否
需要多设备访问同一份数据?
├─ 几乎无并发写 → SQLite + 文件同步,或 libSQL/Turso
│ ⚠ 文件同步只适用于"写入已停止"的静止库文件:对正在写入
│ 或带活跃 WAL 日志的库文件做盘对盘/网盘同步,可能拷走
│ 半写状态、直接损坏数据库(与 §2.3.3 备份建议、§3.6 的
│ 告诫口径一致)
└─ 多端 + 并发写频繁 + 不上公网(如多端笔记应用)→ libSQL/Turso
(服务模式 / embedded replicas),或轻量托管
│否(数据要公网服务/多用户)
有公网部署、多用户?
├─ 需要认证/存储/实时等全家桶 → Supabase
├─ 只要纯数据库、追求弹性 → Neon(或自托管 PG)
└─ 数据天然异构文档 / MERN 学习目标 / 想要托管版 Search、
Vector Search 开箱即用 → MongoDB Atlas(先算 512MB 免费层
够不够;Search/Vector Search 自 2025-09 起社区版自托管亦可用,
选 Atlas 买的是免配置托管,见 §2.3.4)2.5 横轴的三条洞察
- "文档数据库的理由"正在被关系数据库吸收,而不是相反。 PG 的 JSON_TABLE 与 JSONB、SQLite 的 JSONB、MongoDB 补事务与 JOIN——三方在向彼此移动,但"文档"一侧让出的地盘更大:因为关系约束的不可替代性(数据完整性)高于灵活性的不可替代性(任何时候都可以把 JSON 塞进 JSONB 列)。
- 个人项目选型的第一问不是"哪种数据库",而是"数据库住在哪"。 嵌入(SQLite)、托管(Atlas/Neon/Supabase)、自托管三条部署路线对自由时间的索取,比数据模型的差异更影响项目成败。MongoDB 的真正卖点在今天更多是 Atlas 这层托管体验,而非 BSON 本身。
- SQLite 系的边缘化服务化(libSQL/Turso/D1)是 2026 年增量最大的变数:它把"本地简单性"与"服务可达性"焊在一起,恰好击中个人项目"既要零运维又要多设备"的夹缝需求。若其 Rust 重写版成熟,两三年内"个人项目默认 SQLite"的边界会继续外扩。
三、交叉洞察:两条轴合在一起说明了什么
单看纵轴,我们看到的是范式兴衰;单看横轴,我们看到的是参数差异。两条轴交叉之后,才能回答本课题真正的问题:为什么"个人项目选型"在今天长成这个样子,以及你该怎么做。
3.1 历史解释了横轴上"为什么差距只剩这些"
横轴显示三者能力高度趋同,纵轴解释了为什么会这样——因为每一次差距拉大,都触发了一次反向吸收:
- 2009 年 MongoDB 以"无 Schema"挑战关系模型 → 2012–2014 年 Postgres 用 json/JSONB 把文档模型变成列类型(阶段四、五);
- 2010 年代 MongoDB 被诟病"不可靠"(Jepsen) → 2018 年 4.0 补上多文档 ACID 事务(阶段五);
- SQLite 长期被讥"不能联网" → 2020–2026 年 libSQL/Turso/LiteFS/D1 把它服务化(阶段六、七,对应横轴 §2.3.7);
- 2023 年起 AI 需要"向量 + 关系 + 文档"一体 → pgvector、Atlas Vector Search、sqlite-vec 在三方几乎同时落地(阶段七)。
交叉结论一:趋同不是巧合,是五十多年"吸收而非替代"规律的最新一轮。 在个人项目尺度上,为"文档模型"本身选 MongoDB 的技术理由已经基本消失,剩下的是生态位理由(见 3.4)。
3.2 纵轴的驱动力解释了横轴的成本结构
纵轴反复出现的两条主线——"没有 DBA"与"商业矛盾"——恰好是横轴成本分析的两根支柱:
- "军舰上没有 DBA → 手机里没有 DBA → 个人开发者的深夜里没有 DBA":这条五十多年的驱动力,落到横轴上就是 §2.3.6 的运维排序(SQLite ≈ 托管 < 自托管 < 自托管 MongoDB 集群)与 §2.3.3 的心智成本表。个人项目选型的第一性约束从来不是性能,而是一个人的自由时间。
- SSPL 之争与云厂商的崛起:这条商业主线落到横轴上,就是许可证一维(SSPL 是"未来的坑")、Atlas 免费 512MB 的"沙盒定位",以及"同为 Postgres、pg_dump 即走"的最弱锁定效应。PostgreSQL 成为默认答案,一半是技术原因,另一半是它恰好站在了商业矛盾的受益方——Supabase(F 轮 5 亿美元、估值 100 亿)、Neon(Databricks 10 亿美元收购)这些托管平台全是 Postgres 系;而 MongoDB 一侧(修订:因果拆开写,同 §1.9 洞察 3),云厂商是用自研兼容层(AWS DocumentDB)绕开 SSPL,把文档 API 留在自家云上——兼容层长在别人手里,MongoDB 自家生态并未因此获得同等的托管增量。
交叉结论二:个人项目选型 = 技术能力交集之后的"部署形态 + 商业可持续性"问题。 数据模型这一维在 2026 年已经不足以单独做出决策。
3.3 两轴共同解释了"默认答案"为何稳固
把 Stack Overflow 2026 的调查数据(PostgreSQL 58% 第一、SQLite 42% 超过 MySQL 居第二、MongoDB 19% 第七)放回纵轴时间线上看:这不是一次风向转变,而是四十多年积累的收敛——SQLite 用部署量证明嵌入的价值,Postgres 用"吸收一切"证明扩展的价值,MongoDB 用 Atlas 证明托管的价值。三者的"默认答案"地位各有不同的历史来源,因此都不是靠一轮营销吹起来的,短期也不会翻转。
3.4 对个人开发者的判断与建议
综合两轴,给出可执行的判断清单:
- 默认路径:本地工具、CLI、桌面/移动内嵌 → SQLite(当前 3.54.1,Public Domain,备份 = 复制文件);公网服务、多用户、要长期长大 → PostgreSQL 18.x,优先托管(Supabase 要全家桶、Neon 要弹性与分支、自托管要完全控制)。
- MongoDB 的三个明确理由(修订:理由 c 措辞与 Search/Vector Search 可用范围同步):a) 学习 MERN 全栈、需要与求职市场信号对齐;b) 数据天然是异构文档、聚合管道契合业务查询;c) 想要零配置的托管体验——Search 与 Vector Search 在 Atlas 上开箱即用、备份运维全托管(两者自 2025-09 起在社区版自托管也可用,但需自行部署与运维 Search 组件,见 §2.3.4),且接受 SSPL 与免费层 512MB 上限。三条都不占,就不选它。
- 警惕两个"35%":SQLite 的 35% 是"比文件系统快"(小 blob 场景),MongoDB 9.0 的 35% 是"读取基准比上一代快"——都不是"比对方快 35%",不要拿营销数字做选型依据。
- 把退出成本当一票:SQLite → Postgres 是低摩擦升级路("先 SQLite 后 Postgres"是低风险策略);Postgres ↔ MongoDB 是单向门;Supabase/Neon/自托管之间 pg_dump 即走。选"退出成本最低且能力够用"的那条路,而不是"当下最炫"的那条。
- AI 项目不必引入第二个库:RAG/记忆库场景,Postgres + pgvector 一库搞定关系 + 向量 + 全文;本地 AI 记忆可以用 SQLite + sqlite-vec。为向量单独引入专业向量库,是团队规模以上的问题。
- SSPL 记一笔即可:个人项目阶段三者都是零成本;只有当项目可能变成"对外提供数据库服务"的产品时,SSPL 才成为真风险。
3.5 从决策树到最小起步:装哪个、第一条命令、备份长什么样
(修订新增节:决策树给出"选哪个",这一节补上"第一步怎么走"。三条默认路线各给安装、建库、备份/连接的最小命令;命令均以官方文档为准,能验证的已验证。)
路线一:SQLite(本地单机的默认起点)
# 安装:几乎零安装——Python 标准库自带 sqlite3 模块;
# 命令行工具可从官网下载页获取(https://www.sqlite.org/download.html)
sqlite3 app.db # 打开(文件不存在即自动创建)
sqlite3 app.db "CREATE TABLE notes (id INTEGER PRIMARY KEY, body TEXT, created_at TEXT DEFAULT (datetime('now')));"
sqlite3 app.db "INSERT INTO notes (body) VALUES ('hello');"
# 备份(写入期也安全,官方推荐两种方式):
sqlite3 app.db ".backup app-backup.db"
sqlite3 app.db "VACUUM INTO 'app-backup2.db'"(以上命令在本文写作环境以 SQLite 3.50.4 实际执行通过:建表、插入、两种备份均成功,查询返回 1|hello|...。)
路线二:PostgreSQL(公网部署、要长期长大)
# 自托管(以 Debian/Ubuntu 为例):
sudo apt install postgresql
sudo -u postgres createdb myapp # 建库
psql "postgresql://postgres:<密码>@localhost:5432/myapp" # 连接
# 备份/恢复(官方工具链):
pg_dump -Fc myapp > myapp.dump
pg_restore -d myapp myapp.dump
# 托管路线:Supabase/Neon 控制台建好项目后,
# 直接复制控制台给出的连接串即可(含连接池参数)(命令为 PostgreSQL 官方文档标准用法;本文环境未安装 PG 服务、未实际执行验证。)
路线三:MongoDB(文档聚合契合 / MERN 学习)
# 托管(个人项目推荐起点):按官方教程创建免费集群
# https://www.mongodb.com/docs/atlas/tutorial/deploy-free-tier-cluster/
# 拿到连接串后:
mongosh "mongodb+srv://<user>:<pass>@<cluster>.mongodb.net/"
db.notes.insertOne({ body: "hello" }) # 首次插入即隐式建库建集合
# 备份:免费层可在 Atlas 控制台开启备份(每日快照、最多保留 4 份),
# 或 mongodump --uri="<连接串>"(免费层不支持部分选项,见免费层限制文档)(Atlas 建免费集群的流程见参考来源的官方部署教程;"免费层可开启备份、每日快照最多保留 4 份"与 mongodump 选项限制为本文 2026-11-01 直读免费层限制文档核实。)
一条原则收尾:先跑通"建库—写一条—备份一次"这个最小闭环,再谈选型优化——三条路线跑通这个闭环的成本差异,本身就是 §2.3.6 运维排序的体感版。
3.6 结论的边界(什么时候本文会失效)
- 项目规模突变:若个人项目长成多人团队、高日活的产品,"个人项目选型"的前提失效,需按团队工程标准重新评估(此时 MongoDB 的运维复杂度与 Postgres 的扩展上限都要重新称量);
- 数据必须跨端实时同步:本地优先场景下若需要多端并发写同步,SQLite 单文件方案不够,需 libSQL/Turso 或 CRDT 类方案(§2.3.7 的替代品恰好覆盖);
- 重分析负载:个人项目若以 OLAP/报表为主,DuckDB 比 SQLite/Postgres 更对口,本文仅作邻接提及、未展开核实。
3.7 方法论注记(这次学到什么)
- 两轴综合的第一步是对表:纵轴章与横轴章对 SQLite 版本的记载存在口径差(一个止于 3.51.x,一个直读核实到 3.54.1),对 PG 19 状态的表述详略不一——综合时以"可直读核实的一手来源"为准绳统一口径,而不是简单拼接。(最终稿修订:版本线已按 changes.html 逐版本直读复核收口——3.52.0 发布后撤回、特性并入 3.53.0,故 3.52.x 无实际可用版本;纵轴章两条版本细节的来源归属已在 §1.8 拆分更正。)
- 流行说法要消歧:两个"35%"、"Postgres 就够了"的社区直觉、Atlas 免费 512MB 的沙盒定位,都经得起溯源检验;时间截面类报告必须逐条注明数据的核实方式(直读 / 搜索摘要 / 未核实)。
- 成本要拆成钱、心智、退出三条账:对没有 on-call 的个人开发者,运维与迁移成本常常压倒基准性能。
四、参考来源
(合并纵轴章与横轴章的全部来源,按对象分组;标注 ⚠ 的为未能直读核实、仅来自检索摘要或首页级弱指针的条目。)
PostgreSQL
- 官方历史:<https://www.postgresql.org/docs/current/history.html>
- 9.4 发布公告(JSONB):<https://www.postgresql.org/about/news/postgresql-94-increases-flexibility-scalability-and-performance-1557/>
- 17 发布说明(JSON_TABLE 归属,修订新增):<https://www.postgresql.org/docs/current/release-17.html>(直读核实)
- 18 发布说明:<https://www.postgresql.org/docs/current/release-18.html> ;<https://www.postgresql.org/docs/release/18.0/>
- JSON 函数文档(JSON_TABLE 等):<https://www.postgresql.org/docs/current/functions-json.html>
- 19 RC 1 公告:<https://www.postgresql.org/about/news/postgresql-19-rc-1-released-3409>(19 推迟原因来自检索摘要,未见官方公告原文 ⚠)
SQLite
- 版本与变更:<https://sqlite.org/changes.html>(横轴章 WebFetch 直读核实;最终稿于 2026-11-01 逐版本复核:3.51.x–3.54.1 全线日期、3.52.0 撤回说明)
- 下载页(§3.5 命令验证所用版本 3.50.4,修订新增):<https://www.sqlite.org/download.html>
- fasterthanfs 论文:<https://sqlite.org/fasterthanfs.html>(直读核实)
- 版权与许可:<https://sqlite.org/copyright.html>
- 最广泛部署声明:<https://www.sqlite.org/mostdeployed.html>
- 3.50.0 发布日志:<https://www.sqlite.org/releaselog/3_50_0.html>
- 3.45 JSONB:<https://news.ycombinator.com/item?id=39004963> ;<https://discussion.fedoraproject.org/t/an-overview-of-how-json-and-new-jsonb-can-be-used-with-sqlite/103662>
- 起源访谈(Hipp):<https://whobuilt.net/video/5zQdYx-fqJg> ;<https://lobste.rs/s/ln0die/why_sqlite_succeeded_as_database_with>
MongoDB
- Our Story:<https://www.mongodb.com/company/our-story>
- 收购 WiredTiger:<https://www.mongodb.com/company/newsroom/press-releases/wired-tiger>
- IPO 定价公告:<https://www.mongodb.com/company/newsroom/press-releases/mongodb-inc-announces-pricing-of-initial-public-offering>
- SSPL 公告:<https://www.mongodb.com/company/newsroom/press-releases/mongodb-issues-new-server-side-public-license>
- 许可文档:<https://www.mongodb.com/docs/manual/administration/licensing/>
- Schema Validation 文档(修订新增):<https://www.mongodb.com/docs/manual/core/schema-validation/>(直读核实)
- 自托管 Search/Vector Search 公告(2025-09-17,修订新增):<https://www.mongodb.com/company/blog/product-release-announcements/supercharge-self-managed-apps-search-vector-search-capabilities>(检索摘要核实 ⚠);Community Edition 产品页:<https://www.mongodb.com/products/self-managed/community-edition>(检索摘要 ⚠)
- 8.0 GA:<https://investors.mongodb.com/news-releases/news-release-details/mongodb-announces-general-availability-mongodb-80>
- 收购 Voyage AI:<https://investors.mongodb.com/news-releases/news-release-details/mongodb-announces-acquisition-voyage-ai-enable-organizations>
- 9.0 与 Atlas Infinite/Agent Engine:<https://investors.mongodb.com/news-releases/news-release-details/mongodb-launches-mongodb-90-best-version-ever-built-and-atlas>(本文直读返回 403 ⚠)
- Jepsen: MongoDB Stale Reads(2015):<https://aphyr.com/posts/322-jepsen-mongodb-stale-reads>
- Percona:MongoDB 4.0 多文档事务分析:<https://www.percona.com/blog/multi-document-acid-transactions-in-mongodb-4-0/>
- Atlas 免费层限制:<https://www.mongodb.com/docs/atlas/reference/free-shared-limitations/>(最终稿已直读复核:0.5GB/500 连接/100 库 500 集合/10GB 出入网/限流/快照保留 4 份) ;部署教程:<https://www.mongodb.com/docs/atlas/tutorial/deploy-free-tier-cluster/> ;定价:<https://www.mongodb.com/pricing>(Flex/M10 价格区间来自检索摘要 ⚠)
SQLite 服务化生态
- Turso Limbo 公告:<https://turso.tech/blog/introducing-limbo-a-complete-rewrite-of-sqlite-in-rust> ;all-in 公告:<https://turso.tech/blog/we-will-rewrite-sqlite-and-we-are-going-all-in>
- Turso 文档:<https://docs.turso.tech>
- Cloudflare D1 产品页:<https://www.cloudflare.com/products/d1/>
- PocketBase:<https://pocketbase.io/>
- Rails 8 发布公告:<https://rubyonrails.org/2024/11/7/rails-8-no-paas-required>
- libSQL/Turso 综述:<https://dev.to/dataformathub/distributed-sqlite-why-libsql-and-turso-are-the-new-standard-in-2026-58fk> ;<https://layerbase.com/blog/sqlite-vs-libsql> ;<https://flaviocopes.com>(首页级弱指针 ⚠)
Postgres 托管平台与 AI 生态
- Ink & Switch 本地优先论文:<https://www.inkandswitch.com/essay/local-first>
- pgvector 仓库:<https://github.com/pgvector/pgvector>
- Databricks 收购 Neon 官方公告:<https://www.databricks.com/company/newsroom/press-releases/databricks-agrees-acquire-neon-help-developers-deliver-ai-systems>
- TechCrunch:Supabase F 轮:<https://techcrunch.com/2026/06/05/supabase-doubles-valuation-to-10b-in-8-months>
- Supabase/Neon 免费层对比:<https://futurepicker.com/en/supabase-vs-neon-serverless-postgres-2026-en> ;<https://alternative.tools/guides/saas-databases>(第三方对比页 ⚠)
排名与调查
- Stack Overflow 2025 技术调查:<https://survey.stackoverflow.co/2025/technology> ;2026:<https://survey.stackoverflow.co/2026/technology>(使用占比数字最终稿已直读复核)
- DB-Engines 排名:<https://db-engines.com/en/ranking>(页面直读失败,排名数字来自检索摘要 ⚠);排名方法页:<https://db-engines.com/en/ranking_definition>(修订新增,"分"的口径依据,检索摘要核实 ⚠);Redgate 转载:<https://www.red-gate.com/>(首页级弱指针 ⚠)
其他
- NoSQL 背景综述(O'Reilly):<https://www.oreilly.com/library/view/building-on-multi-model/9781492096236/ch02.html>
- AWS DocumentDB 发布讨论(2019-01-09):<https://www.reddit.com/r/aws/comments/aecudf/amazon_documentdb_with_mongodb_compatibility>
- SUSE:CVE-2025-70873(修订新增):<https://www.suse.com/security/cve/CVE-2025-70873.html>(检索摘要 ⚠)
- ORM 对 SQLite JSONB 的跟进:<https://github.com/drizzle-team/drizzle-orm/issues/1977> ;<https://github.com/sqlalchemy/sqlalchemy/issues/13260>
本文继承自两章的未决事项:DB-Engines 排名页直读失败(证书错误,本文复试同样失败);MongoDB 精确小版本号未逐一核实,以大版本线表述;Atlas Flex/专用档价格区间可能浮动,下单前以官方 Pricing 页为准;PG 19 推迟原因未见官方公告原文;DuckDB、Redis 仅作定性提及、未展开核实。另:横轴章中一处指向本系列向量数据库报告的链接为占位符(example.local),本文未采用。
最终稿新增未决事项:MongoDB 9.0 新闻稿页面直读失败(403),Search/Vector Search 的可用范围以 2025-09-17 自托管公告与 Community Edition 产品页(均为检索摘要)交叉核实;SO 2026 的"最受喜爱数据库"与"Supabase 第 11(8%)"两项未能在调查页复核;CVE-2025-70873 的修复版本归属(随被撤回的 3.52.0)未在一手页面核实。