《Advanced Database Systems: History of Databases》聚焦数据库系统发展脉络。本文先阐述研究背景,梳理课程核心要点;再系统追溯数据库历史演进,总结关键论文的理论突破与实践价值;最后列出参考文献。通过多维度梳理,呈现数据库从萌芽到成熟的历程,为理解现代数据库系统提供全景视角。
What Goes Around Comes Around
-
介绍了数据模型发展的 35年历史,一共有9种模型
-
网络模型、层次模型、关系模型这几个是主导的
-
实体关系、R++、语义模型、OO、对象关系,是对关系模型的一些补充
-
schema-last 是个很不错的补充
-
严格机构化、严格结构+半结构、半结构、文本数据
-
第1、第2都有很多场景,第4 用于文本信息检索
-
第3 种场景实际不多
历史的轮回
-
数据模型的发展历史,从复杂、到简单,简单模型最后获胜
-
可见简单模型、逻辑-物理结构、高层级API 是非常有用的
-
随后就是一系列的功能增强,但这些没能吸引市场,因为增加了很多复杂度,但却没能带来更多的好处
-
比如 XML 倡导者 vs关系模型,就很像 关系模型 vs CODASYL
-
只有 UDF,以及自定义访问方式 能吸引人注意
-
以及 code in data base、schema last 真正新的发明
-
大多数新发明则是对过去的模型的重新发明而已
总数据库的历史看
-
最初是有三种形态的数据模型,网络模型、层次模型、关系模型(出现更靠后)
-
网络模型和层次模型都有它的优点,相对于关系模型,这两个最大的问题是 逻辑数据、物理数据耦合
-
也没有提供一种高层级别 API
-
所以关系模型出现后,提供了一种更简单的数据结构、更高层级别API、更重要的是 物理、逻辑数据解耦
-
很快关系模型就占据市场主导地位了
-
商业市场的 IBM、Oracle,以及学术界的 PostGRE都相继出现,但这个时候还是商业主导
-
之后出现了各种对关系模型的补充
-
实体关系模型、R++模型、OO模型、对象关系模型,这些模型都不能算主导地位
2000年之后
-
互联网的出现,使的数据库并发大增,商业数据库显得太贵了,开源 + 自研就称为主导了
-
这时候出现了一批开源的 NoSQL数据库,他们只能解决一类问题,并对关系模型、事务做了减法
-
这些数据库都是互联网头部公司搞出的开源产品,加上MapReduce的出现,看起来在数据库之外可能要有一条新的路线
-
但是过了十年后,这些NoSQL还是缺乏一些基本保障、纯MapReduce 太底层了,跟最初的 CODASYL 一样是跟底层紧耦合的
-
所以从历史看,这就是一个错误的选择,高层级 API、尽可能的抽象是数据库发展的一个必经之路
2010年之后
-
NewSQL的出现,因为有更大的业务需求,所以一定要分布式,但是关系模型还是很好用的
-
一个大的趋势是单纯的自建Hadoop 集群成本太高,远不如云厂商的对象存储划算,在替代Hadoop 的同时,出现了存储计算分离
-
存储计算分离之后,就是各种云数据库,有云厂商的、有独立新兴公司、以及老牌公司转型的
-
此外基因数据库、流计算、图数据库、时序数据库、区块链数据库、向量数据库等等各种专业方向的数据库也出现了
-
随着业务规模的变大,各种更细分主题的主题的数据库也跟着出现,他们都用来解决一些特定场景的问题,而这些特定场景的市场也不小
可能以后会有更多的数据库,但是解耦、高层级 API 应该是一个不变的主题每种数据库都会各自的解决场景,但又会扩大自己的领域,都会支持SQL,所以边界也模糊了而关系模型,SQL这种声明式语言,则又进一步增强了
参考
-
Charles Bachman
-
Culliane Database Systems
-
Paper: Derivability, redundancy and consistency of relations stored in large data banks
-
Paper: A relational model of data for large shared data banks
-
The difference between God and Larry Ellison
-
Data Cube
-
The (sorry) State of Graph Database Systems
-
Duck PGQ: Efficient Property Graph Queries in an analytical RDBMS
-
Merkle Trees
相关文章
-
Column-Stores vs. Row-Stores: How Different Are They Really?
-
Lakehouse A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics
-
Building An Elastic Query Engine on Disaggregated Storage
-
Efficiently Compiling Efficient Query Plans for Modern Hardware
-
Generating code for holistic query evaluation