数据库
数据库是用于长期、可靠、高效地管理数据的系统,不只是“存数据的地方”,而是应用中的核心事实层。
#type / concept
#status / growing
#tech / dev / backend
#resource / database
[!info] related notes
- 所属 MOC: 数据库 MOC
- 前置概念:
- 并列概念: 数据库管理系统, 关系型数据库
- 易混淆概念:
- 关系笔记: 关系型数据库学习路线
数据库
一句话定义
数据库是一套用于长期、可靠、高效地管理数据的系统,而不是单纯“把内容写进磁盘文件”的地方。
核心机制 / 工作原理
数据库要解决的不是“能不能存”,而是“能不能被正确地管理”:
- 持久化:程序退出或机器重启后,数据仍然存在
- 结构化:数据库知道数据有哪些字段、类型和关系
- 可查询:能回答业务问题,而不只是吐出原始字节
- 一致性:能用约束、事务和并发控制守住业务规则
- 可恢复:崩溃后能借助日志恢复到正确状态
- 可控制:能做权限、备份、复制和审计
换句话说,文件系统更关心“字节怎么放”,数据库更关心“业务事实怎么长期可靠地存在”。
最小例子 / 最小场景
电商系统里有用户、商品、订单和库存。
如果只用文本文件存这些内容,很快会遇到:
- 订单创建成功但库存没扣成功怎么办
- 两个人同时抢最后一件商品时如何避免超卖
- 宕机后已支付订单会不会丢
- 如何快速查某个用户过去一年的订单
这些问题本质上都不是“存不存得下”,而是“能不能可靠地管理数据”。数据库就是为这类问题存在的。
历史演进
数据库不是某一天被某个人突然“发明”出来的,而是随着数据处理规模、企业信息系统和计算机能力一起逐步形成的。
可以按这条主线理解:
- 19 世纪末:穿孔卡和机械制表机开始让大规模数据处理机器化,典型例子是 1890 年美国人口普查
- 1950s 到 1960s:计算机主要靠文件系统管理数据,程序和数据格式强绑定,数据共享、查询和一致性问题越来越明显
- 1960s:第一代数据库系统出现,代表包括 IBM 的层次型数据库
IMS和CODASYL网状模型,数据库开始从“文件集合”走向“数据管理系统” - 1970 年:Edgar F. Codd 提出关系模型,这是 关系型数据库 的理论起点
- 1970s:IBM
System R、伯克利Ingres等实验系统推动关系模型落地,SQL 逐渐成形 - 1970s 后期到 1980s:Oracle、DB2 等商用关系型数据库成熟,事务、索引、权限、备份和并发控制成为数据库系统的标准能力
- 1990s:数据库进入互联网应用核心位置,MySQL、PostgreSQL 这类开源数据库开始广泛普及
- 2000s:
NoSQL兴起,文档、键值、列族和图数据库开始补足关系型数据库不擅长的高扩展和灵活结构场景 - 2010s:云数据库、分布式数据库和大数据系统成熟,数据库从“本地安装的软件”演化为平台级基础设施
- 2020s:向量数据库和 AI 检索系统变热,数据库开始承载语义搜索、RAG 和相似度检索等新型工作负载
如果只问“现代数据库是什么时候被创造的”,一个比较稳妥的回答是:
- 现代数据库管理系统大约形成于 1960 年代
- 现代关系型数据库理论在 1970 年被正式提出
- 商用关系型数据库在 1970s 到 1980s 成为主流
这段历史说明,数据库的本质不是某一种具体产品,而是人类不断寻找更高效、更可靠、更灵活的数据管理方式的结果。