RDBMS历史 | 青训营笔记

这是我参与「第五届青训营 」伴学笔记创作活动的第 10 天

RDBMS:关系型数据库管理系统

一、经典案例

1.RDBMS 事务 ACID

1.事务 (Transaction)

 是由一组 SQL 语句组成的一一一个程序执行单元 ( Unit);它需要满足 ACID 特性 。

2.ACID

  • 原子性(Atomicity)。事务是一个不可再分割的工作单元,事务中的操作要么都发生,要么都不发生。
  • 一致性(Consistency):数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。
  • 隔离性(Isolation):多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其它事务运行效果。
  • 持久性(Durability):在事务完成以后,该事务对数据库所作的更改持久的保存在数据库之中,并不会被回滚。

2.红包雨案例

image.png

红包雨需要进行如上两个操作,同时操作过程需要满足以下要求:

  • 两个操作要么同时成功,要么同时失败,不存在中间状态,符合事务原子性。
  • 每个操作都必须是合法的,账户信息应该从一个有效的状态变为另一个有效的状态,符合一致性。
  • 两个操作在对同一个账户并发进行操作时,应该是相互不影响,表现的像是串行操作,符合隔离性。
  • 操作更新成功之后,更新的结果应该永久性的保留下来,不会因为宕机等问题而丢失,符合持久性。
  • 全国 14 亿人,美妙能够同时支持千万级请求,可以高并发。
  • 响应及时,高可靠。

二、发展历史

1.前 DBMS 时代

1.人工管理

在现代计算机发明出来以前,通过人工的方式进行数据记录和管理。

image.png

2.文件系统

1950年代,现代计算机的雏形基本出现。1956 年 IBM 发布了第一个的磁盘驱动器 Model 305 RAMAC,从此数据存储进入磁盘时代。在这个阶段,数据管理直接通过文件系统来实现。

2.DBMS 数据模型

1960年代,传统的文件系统已经不能满足人们的需要,数据库管理系统(DBMS)应运而生。

DBMS 是按照某种数据模型来组织、存储和管理数据的仓库。所以通常按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。

image.png

1.网状模型

image.png

2.层次模型

image.png

3.关系模型

image.png

总结:

image.png

3.SQL 语言

1974 年 IBM 的 Ray Boyce 和 Don Chamberlin 将 Codd 关系数据厍的 12 条准则的数学定义以简单的关踺字语法表现出来,里程碑式地提出了 SQL(Structured Query Language)语言。SQL 的语法风格接近自然语言,并且高度非过程化,采用面向集合的操作方式,语言简洁,易学易用。

4.历史回顾

image.png

三、关键技术

从更全面宏观的角度可以看这篇 一条SQL语句从诞生至结束的多姿多彩历程!,作者的主页有更多详细的数据库技术内容。


从最古老的数据记录方式出发,回顾了数据记录的历史,发展到现在的关系型数据库,还有更多种类的数据库,现代的数据记录方式能够让记录的数据稳定可靠,并且有更好的访问方式。