一句话定义
数据库六十余年的主线是三次范式转移:1960s 导航式(网状/层次)→ 1970s Codd 关系革命 → 2000s NoSQL 运动 → 2010s 起的 NewSQL/云原生合流,每一代都是对上一代「痛点 + 硬件变化」的回应。
为什么重要
- 知道「关系模型为什么赢」,才能判断「NoSQL 会不会再赢一次」——历史的答案至今是 What Goes Around Comes Around(风水轮流转)。
- 今天争论的每个议题(Schema 约束、声明式查询、MVCC、分布式事务)都有一段被验证过的历史,避免重新发明轮子或重复踩坑。
- 面试与评审中,能讲清流派脉络的人对「新事物」有天然的分辨力。
前置知识
kp-001(DBMS 基本概念)。
核心概念
- 层次模型:IMS(IBM,1966,阿波罗计划)——树状记录,父子指针导航。
- 网状模型:CODASYL(1969)——图状记录集,程序员按「指针」逐条导航。
- 关系革命:Codd(1970)《A Relational Model of Data...》——数据即集合、用声明式代数查询,与实现解耦。
- System R 与 Ingres:1970s 两大原型,分别孵化出 DB2 系与 PostgreSQL 系;SEQUEL(1974)演化为 SQL。
- 对象数据库热潮(1990s):把对象塞进库,未成主流,但其思想留下「对象-关系扩展」。
- NoSQL 运动(2007~2012):Google Bigtable(2006)与 Amazon Dynamo(2007)两篇论文点燃,应对海量分布式负载。
- NewSQL 与云原生(2012~):Spanner(2012)证明全球强一致可行;存算分离、Serverless 改变部署形态。
原理与机制
每次转移的驱动公式是「负载 × 硬件 → 架构」。导航式模型对应内存稀缺、磁盘昂贵的年代——程序员手工导航以榨取性能,代价是应用与物理结构焊死。Codd 的洞察是「数据独立性可以外包给优化器」:声明式查询让系统按统计信息自选路径,硬件进步(大内存、缓存)使这一开销可接受,关系模型因此在 1980s 商业上全面胜出——Stonebraker 后来把这段总结为「市场奖励了正确抽象」。NoSQL 运动的驱动是 Web 规模:单机垂直扩展到达极限,Bigtable/Dynamo 用分区 + 弱一致换取水平扩展,暂时搁置了 SQL 与事务。随后 Spanner 用 GPS 原子钟 + Paxos 证明「扩展与强一致可以兼得」,行业重新拥抱 SQL——轮子转回来的原因不是怀旧,而是声明式查询与事务语义仍是人类管理数据的最优抽象。
实例或案例
三代系统的同一需求对比:「查询余额大于 1000 的客户」。IMS/CODASYL:程序员写导航代码,从客户根沿指针逐条访问,改存储结构代码作废。SQL:SELECT name FROM customers WHERE balance > 1000,索引有无、扫描方式全部交给优化器。Dynamo 风格 KV:甚至无法直接表达该查询,需维护二级索引或全量扫描——这解释了为什么 NoSQL 浪潮在分析需求面前撞墙、又转回 SQL。
常见误区
- 把 NoSQL 运动理解为「关系模型错了」:它是对特定负载(超大规模、弱一致可容忍)的领域特化,不是范式更替。
- 认为 SQL 语言古老所以落后:SQL 是被验证四十年的声明式接口,NewSQL 全面回归恰恰说明其抽象价值。
- 用「新=好」评估数据库:多数「新概念」能在历史上找到原型(如 1990s 对象库之于文档库)。
自测题
- 关系模型战胜网状模型的决定性优势是什么? 答:数据独立性——声明式查询 + 优化器把物理决策从应用剥离,应用不再随存储结构变化而重写。
- NoSQL 运动与 NewSQL 回潮各自回应了什么矛盾? 答:NoSQL 回应「单机到不了 Web 规模」,牺牲一致性与查询力换扩展;NewSQL 回应「扩展不该以放弃事务与 SQL 为代价」。
公式或模型
本节不适用:本知识点是思想史,定量模型属于各技术专题。
图示
直观类比
数据库演化像城市交通变迁:导航式模型是「背下每条小巷」的年代;关系模型是「画出地图 + 导航软件」——你只要说去哪,路线交给算法;NoSQL 像为外卖骑手专修的快速路(只优化一种走法);NewSQL 则是把导航算法装回快速路网。
与其他知识点的关系
kp-027 是本时间轴末段(NoSQL→NewSQL)的机制展开;kp-002、kp-013 分别对应 Codd 关系模型与 System R 优化器的遗产;kp-030 的选型观(按负载特化)正是历史给出的元结论。
延伸阅读
- Stonebraker & Hellerstein《What Goes Around Comes Around》(CIDR 2005)
- 《数据库系统概念》(Abraham Silberschatz 等)第 1 章历史沿革部分