从物理绑定到逻辑自由

From Physical Binding to Logical Freedom

——数据库演进的一点技术笔记

Notes on the Evolution of Databases

在计算机诞生的早期,数据查询的方式其实很像寄信。

一封信要寄到某个地方,需要一层层地址:国家、省份、城市、街道、门牌号。计算机最初处理数据时也遵循类似逻辑。程序员必须明确告诉系统:数据在哪个文件、哪一段记录、哪一个字段,系统再沿着这些路径一步步找到目标。

换句话说,程序不仅要知道数据是什么,还必须知道它 住在哪里

在这种体系中,数据内容与存储结构紧紧绑定。数据结构一旦变化,程序往往也必须跟着修改。这种状态可以理解为一种 物理绑定:数据的逻辑关系依附于具体的存储路径。

很多早期软件系统之所以难以维护,正是因为这种紧密耦合。


文件柜里的数据世界

20世纪六七十年代,主流数据库系统大多采用层级结构或网络结构。

它们组织数据的方式,很像一排排文件柜:

公司
└─ 部门
  └─ 员工
    └─ 工资记录

如果想找到某个员工的工资,就必须沿着这条路径逐级向下查找。

这种方式效率很高,因为访问路径是固定的。但问题也很明显:系统结构一旦设计完成,就很难改变。如果最初没有设计某条查询路径,那么后来想从另一个方向访问数据,就会变得非常困难。

很多程序员后来回忆那个时代时说,写程序就像在城市里修路——一旦铺好,就很难再改。


一篇论文的改变

1970年,一篇论文悄然改变了数据库世界。

IBM 研究员 Edgar F. Codd 提出了 关系模型(Relational Model)。他的核心思想其实非常简单:数据之间的关系不应该依赖物理路径,而应该依赖逻辑关系。

在这种模型中,数据被组织成表格形式,每一行是一条记录,每一列是一种属性。

这种结构看似朴素,却带来了深刻变化。

程序员不再需要描述“如何查找数据”,而只需要描述“想得到什么数据”。数据库系统会自动决定最优的执行方式。

这就是 SQL 的基本思想。

SQL 属于一种 声明式语言:程序员描述目标,而不是过程。数据库系统则负责选择具体的执行路径。

数据库因此获得了一个关键能力—— 数据独立性。应用程序不再直接依赖底层存储结构。

这是数据库历史上最重要的一次思想跃迁。


FoxBASE 的年代

数据库真正普及,是在个人电脑时代。

上世纪八九十年代,许多企业第一次接触数据库,是通过桌面工具完成的,其中最有代表性的就是 dBase 和 FoxBASE

在很多程序员的记忆里,FoxBASE 几乎就是数据库开发环境本身。

打开一个表文件,定义字段,建立索引,然后写几行查询语句,就可以生成统计报表。库存管理、销售系统、财务统计,许多企业的信息化都是从这些工具开始的。

今天回头看,这些系统其实非常简单,但它们让数据库第一次进入普通组织。

数据库从大型机时代的技术工具,变成了办公室里的生产工具。


数据库成为基础设施

随着互联网兴起,数据库的重要性迅速上升。

网站、电子商务和在线服务,都建立在数据库之上。系统不仅需要存储数据,还需要处理事务、控制并发并保证一致性。

数据库逐渐承担越来越多计算任务。

许多统计与分析直接在数据库中完成:汇总、分组、排名以及时间序列计算。SQL 语言也不断扩展,例如窗口函数,使数据库能够完成越来越复杂的数据分析任务。

数据库因此从一个存储工具,逐渐演变为一种 数据计算引擎


开源数据库的冲击

在很长一段时间里,数据库几乎是大型软件公司的领地。企业级数据库价格昂贵,需要专门授权与技术支持,许多大型企业的信息系统都建立在这些商业数据库之上。

这种格局在互联网时代开始松动。随着开源软件的兴起,一批开源数据库逐渐成长起来,其中最具代表性的便是 MySQLPostgreSQL

其中 PostgreSQL 的技术传统尤为特殊。它源自美国加州大学伯克利分校(UC Berkeley)的数据库研究项目,继承了学术界长期积累的数据库研究传统,因此在设计上始终强调可扩展性与开放的数据类型体系。

PostgreSQL 的这种学术传统,其实也代表了一条在技术史中反复出现的路径:许多真正影响深远的数据工具,都诞生在大学实验室。

统计软件 Stata 最早源于 MIT 经济学家的研究需求;国际贸易可视化平台 OEC(Observatory of Economic Complexity) 起源于 MIT Media Lab;而 经济复杂度理论 则是 MIT 与 Harvard 学者合作发展的研究成果。

这些工具往往并不是从商业产品规划开始,而是从研究问题出发:如何理解数据、如何发现结构、如何解释复杂系统。

开源数据库的成长,也离不开更大的技术生态:
Linux 提供稳定的运行基础,而 GitHub 让全球开发者能够协作改进软件。数据库技术因此第一次真正成为一种全球共同建设的基础设施。


JSON 的出现

互联网还带来了另一种变化:数据结构变得更加复杂。

传统数据库习惯处理严格结构化的数据:表、字段、记录。但现实世界的数据往往并没有如此规整。网页内容、API接口和应用日志都包含大量半结构化信息。

于是数据库开始支持一种新的数据格式: JSON

JSON 的结构更接近现实世界的数据形态,它允许嵌套、扩展,也不需要事先定义严格的表结构。

数据库因此获得新的灵活性:既可以管理传统关系数据,也可以处理文档式数据。在许多现代系统中,关系数据与 JSON 数据往往共存于同一个数据库之中。

数据库也因此越来越像一个通用的数据平台。


数据形态的继续扩张

最近十几年,数据库的能力仍在持续扩展。

地理信息可以直接存储在数据库中;全文搜索可以由数据库完成;人工智能应用所需要的向量数据也开始进入数据库体系。

与此同时,实时数据流处理也逐渐与数据库结合。

数据不再只是静态存储,而是持续产生、持续计算。数据库的边界因此不断扩展。


逻辑自由

如果把数据库技术的发展放在一起观察,会看到一条清晰的轨迹。

技术不断把开发者从底层细节中解放出来。

早期程序员必须了解每一条数据路径;
后来只需要描述数据之间的逻辑关系;
而今天,数据库甚至可以直接参与复杂的数据分析。

这是一次持续半个多世纪的演进:

物理绑定
逻辑抽象
再到逐渐形成的 数据平台

数据库在技术体系中往往显得低调,但它实际上是数字世界最重要的基础设施之一。

也许在未来,数据库不仅负责存储数据,还会参与理解数据、组织知识,甚至帮助人类发现新的规律。

那时,人类与数据之间的关系,可能会变得更加自由。