请使用支持现代 CSS 与 JavaScript 的浏览器播放课件
DBPA · 14.1

数据库发展动力与发展简史

应用需求、数据模型和计算机技术共同推动数据库演进

VER. 2608.3 Built with impress.js

学习目标

数据库历史可以从问题、模型和系统技术的演进来理解

  1. 01说明传统文件系统为何难以支撑大型共享数据管理
  2. 02用应用需求、数据模型和计算机技术三个维度描述数据库发展
  3. 03比较第一代层次/网状数据库与第二代关系数据库的核心差异
  4. 04解释关系模型与 SQL 如何降低应用对物理访问路径的依赖
  5. 05说明 OLTP、OLAP 和数据模型扩展如何推动后续系统演进
  6. 06用“问题—模型—系统技术”框架阅读技术历史
2/11
LEARNING OBJECTIVES

传统应用文件分散维护同一项共享数据

以零部件管理为例,采购文件和库存文件分别维护同一项信息

01

分散

采购文件和库存文件各自保存零部件信息

02

重复

同一项共享事实需要在多个文件中维护

03

漂移

一处更新而另一处未改,两个文件出现不一致

04

集中

数据库统一组织共享事实并控制更新

Takeaway

数据库把共享事实统一管理,并用约束、事务和恢复机制降低人工同步失效的风险

3/11
WHY DATABASES

数据库历史可以沿三个维度阅读

同一项数据库技术通常同时回应应用负载、数据模型和计算机技术的变化

应用需求、数据模型和计算机技术共同推动数据库历史
三维关系示意,不是严格年表

应用需求

存取、事务与分析负载不断扩展到 OLTP、OLAP、HTAP 和海量并发

数据模型

从层次/网状发展到关系,再扩展到复杂和多模型数据

计算机技术

硬件、网络、并行、内存和云平台扩大数据库系统的可行边界

4/11
THREE DIMENSIONS

第一代数据库集中管理,但仍依赖访问路径

层次/网状模型集中组织数据与联系,却把物理存取路径带进用户的访问方式

方面第一代系统提供什么仍然存在的边界
数据模型层次/网状结构集中描述数据与联系结构与联系紧密绑定访问路径
模式结构DBTG 三级模式和映像提供一定的数据与程序独立性
操作方式定义语言与导航式操纵语言检索仍要沿预设存取路径
系统意义IMS、IDS 把数据管理从应用逻辑中分离数据中心化不等于完全隐藏物理路径
Takeaway

第一代系统解决了文件分散和共享管理问题,但路径依赖成为关系模型要解决的新痛点

5/11
FIRST GENERATION

关系模型让用户直接表达查询目标

同一项零部件查询不再要求用户沿文件路径检索,系统负责选择执行方案

路径由设计者或管理员维护;优化器只在已有路径中比较和选路,不负责创建索引

6/11
SECOND GENERATION

关系数据库普及依赖四方面基础

理论、语言、系统和产业共同支撑关系数据库普及

理论

关系模型与关系代数提供可推理、可组合的基础,使数据与查询获得统一解释

语言

SQL 提供共同接口,使应用表达目标并获得系统间互操作基础

系统

优化、事务、并发控制和恢复把抽象模型变成高效且可靠的执行

产业

标准、产品、工具和性能基准与测试降低开发、迁移和采用成本

7/11
RELATIONAL ECOSYSTEM

关系系统沿着多个方向扩展

这些扩展分别回应分析、复杂数据和多模型负载

  • 数据仓库:把面向日常事务的 OLTP 与面向历史分析的 OLAP 分开
  • 对象关系:在关系与 SQL 基础上吸收复杂对象和用户定义类型
  • XML:为半结构化数据交换提供树形表示
  • 多模型与多系统:让键值、文档、图和时序模型在不同负载中与 SQL 系统并存组合
8/11
EXPANSION

本节回顾

数据库演进通过模型和系统的扩展组合回应新需求

痛点与第一代

应用各自维护文件,重复存储带来冗余和更新不一致;第一代集中管理数据但仍依赖导航路径

转折

关系模型与 SQL 表达目标,优化和事务技术负责可执行与正确

延展

分析、复杂数据和新模型推动系统继续扩展,而不是简单替代基础能力

Takeaway

零部件案例显示:文件冗余促成集中管理,路径依赖推动关系模型,分析与复杂数据又推动后续扩展

9/11
RECAP

本节知识地图

10/11
KNOWLEDGE MAP

本节问题

  1. 01采购与库存文件中的零部件数据不一致,暴露了文件系统的什么问题?
  2. 02在线下单、月度报表、新数据类型分别体现哪个发展维度?
  3. 03第一代层次/网状系统为何集中管理仍依赖访问路径?
  4. 04查找零部件库存时,用户表达什么,系统决定什么?
  5. 05关系数据库为何需要理论、SQL、优化、事务和产业生态?
  6. 06交易扩展到分析与复杂数据时,为何形成扩展与组合,而不是单线替代?
11/11
CHECK YOUR UNDERSTANDING