在计算机诞生的早期,查询数据的方式很像寄信。一封信要寄到某处,需要一层层的地址:国家、省份、城市、街道、门牌号。计算机最初处理数据也遵循类似的逻辑:程序员必须明确告诉系统,数据在哪个文件、哪一段记录、哪一个字段,系统再沿着这些路径一步步找到目标。
程序不仅要知道数据是什么,还必须知道数据存放在哪里。在这种体系中,数据内容与存储结构紧紧绑在一起,数据结构一旦变化,程序往往也得跟着修改。这种状态可以称为「物理绑定」:数据的逻辑关系依附于具体的存储路径。许多早期软件系统难以维护,原因正在于这种紧密的耦合。
文件柜里的数据世界
20世纪六七十年代,主流数据库系统大多采用层级结构或网状结构,组织数据的方式很像一排排文件柜:
公司
└─ 部门
└─ 员工
└─ 工资记录
要找到某个员工的工资,就必须沿着这条路径逐级向下查找。由于访问路径固定,这种方式效率很高,问题也很明显:系统结构一旦设计完成就很难改变。如果最初没有设计某条查询路径,后来想从另一个方向访问数据就非常困难。许多程序员回忆那个年代时说,写程序就像在城市里修路,路一旦铺好就很难再改。
一篇论文的改变
1970年,IBM 研究员 Edgar F. Codd 发表论文,提出关系模型(Relational Model),改变了数据库的格局。他的核心思想很简单:数据之间的关系应当依赖逻辑关系,不应依赖物理路径。在关系模型中,数据组织成表格,每一行是一条记录,每一列是一种属性。这种结构看似朴素,带来的变化却很大。
程序员从此只需描述「想得到什么数据」,不必再描述「如何查找数据」,具体如何执行由数据库系统自动选择最优方式。这就是 SQL 的基本思想。SQL 是一种声明式语言,程序员只描述目标,执行路径由数据库系统负责选择。
数据库由此获得了一项关键能力,即数据独立性:应用程序不再直接依赖底层存储结构。这是数据库历史上最重要的一次思想转变。
FoxBASE 的年代
数据库的普及是在个人电脑时代。上世纪八九十年代,许多企业第一次接触数据库,用的是桌面工具,其中最有代表性的是 dBase 和 FoxBASE。在不少程序员的记忆里,FoxBASE 几乎就等同于数据库开发环境本身。
打开一个表文件,定义字段,建立索引,再写几行查询语句,就能生成统计报表。库存管理、销售系统、财务统计,许多企业的信息化都是从这些工具起步的。今天回头看,这些系统非常简单,但它们让数据库第一次进入普通组织,使数据库从大型机时代的技术工具变成了办公室里的生产工具。
数据库成为基础设施
互联网兴起后,数据库的重要性迅速上升。网站、电子商务和在线服务都建立在数据库之上,系统不仅要存储数据,还要处理事务、控制并发、保证一致性,数据库承担的计算任务越来越多。
许多统计与分析直接在数据库中完成,例如汇总、分组、排名和时间序列计算。SQL 语言也在不断扩展,窗口函数等功能使数据库能够完成越来越复杂的分析任务。数据库由此从存储工具逐渐演变为数据计算引擎。
开源数据库的冲击
在很长一段时间里,数据库几乎是大型软件公司的领地。企业级数据库价格昂贵,需要专门的授权和技术支持,许多大型企业的信息系统都建立在这些商业数据库之上。这种格局到互联网时代开始松动。随着开源软件兴起,一批开源数据库逐渐成长起来,最有代表性的是 MySQL 和 PostgreSQL。
PostgreSQL 的技术传统比较特殊。它源自美国加州大学伯克利分校(UC Berkeley)的数据库研究项目,继承了学术界长期积累的研究传统,因此在设计上始终强调可扩展性和开放的数据类型体系。这种学术出身也代表了技术史上反复出现的一条路径:许多影响深远的数据工具都诞生在大学实验室。
统计软件 Stata 最早源于 MIT 经济学家的研究需求;国际贸易可视化平台 OEC(Observatory of Economic Complexity)起源于 MIT Media Lab;经济复杂度理论则是 MIT 与 Harvard 学者合作发展出来的研究成果。这些工具最初大多出于研究需要,起点是如何理解数据、如何发现结构、如何解释复杂系统这类问题,并没有从商业产品规划开始。
开源数据库的成长也离不开更大的技术生态。Linux 提供了稳定的运行基础,GitHub 让全球开发者能够协作改进软件,数据库技术因此第一次成为全球共同建设的基础设施。
JSON 的出现
互联网还带来了另一种变化:数据结构变得更加复杂。传统数据库习惯处理严格结构化的数据,即表、字段和记录,但现实世界的数据往往没有这样规整,网页内容、API 接口和应用日志都包含大量半结构化信息。
于是数据库开始支持一种新的数据格式:JSON。JSON 的结构更接近现实中数据的形态,允许嵌套和扩展,也不需要事先定义严格的表结构。
数据库因此获得了新的灵活性,既能管理传统的关系数据,也能处理文档式数据。在许多现代系统中,关系数据与 JSON 数据共存于同一个数据库,数据库也越来越像一个通用的数据平台。
数据形态的继续扩张
最近十几年,数据库的能力仍在扩展。地理信息可以直接存进数据库,全文搜索可以由数据库完成,人工智能应用所需的向量数据也开始进入数据库体系,实时数据流处理同样在与数据库结合。数据持续产生、持续计算,不再停留于静态存储,数据库的边界也随之不断扩大。
逻辑自由
把数据库技术的发展连起来看,可以看到一条清晰的轨迹:技术不断把开发者从底层细节中解放出来。早期程序员必须了解每一条数据路径,后来只需描述数据之间的逻辑关系,今天数据库甚至可以直接参与复杂的数据分析。
这是一场持续了半个多世纪的演进,从物理绑定走向逻辑抽象,再逐渐发展为数据平台。
数据库在技术体系中往往显得低调,实际上却是数字世界最重要的基础设施之一。将来数据库或许不只负责存储数据,还会参与理解数据、组织知识,甚至帮助人类发现新的规律,人与数据之间的关系也可能因此更加自由。

