这是我参与「第五届青训营 」伴学笔记创作活动的第 10 天
RDBMS:关系型数据库管理系统
一、经典案例
1.RDBMS 事务 ACID
1.事务 (Transaction)
是由一组 SQL 语句组成的一一一个程序执行单元 ( Unit);它需要满足 ACID 特性 。
2.ACID
- 原子性(Atomicity)。事务是一个不可再分割的工作单元,事务中的操作要么都发生,要么都不发生。
- 一致性(Consistency):数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。
- 隔离性(Isolation):多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其它事务运行效果。
- 持久性(Durability):在事务完成以后,该事务对数据库所作的更改持久的保存在数据库之中,并不会被回滚。
2.红包雨案例
红包雨需要进行如上两个操作,同时操作过程需要满足以下要求:
- 两个操作要么同时成功,要么同时失败,不存在中间状态,符合事务原子性。
- 每个操作都必须是合法的,账户信息应该从一个有效的状态变为另一个有效的状态,符合一致性。
- 两个操作在对同一个账户并发进行操作时,应该是相互不影响,表现的像是串行操作,符合隔离性。
- 操作更新成功之后,更新的结果应该永久性的保留下来,不会因为宕机等问题而丢失,符合持久性。
- 全国 14 亿人,美妙能够同时支持千万级请求,可以高并发。
- 响应及时,高可靠。
二、发展历史
1.前 DBMS 时代
1.人工管理
在现代计算机发明出来以前,通过人工的方式进行数据记录和管理。
2.文件系统
1950年代,现代计算机的雏形基本出现。1956 年 IBM 发布了第一个的磁盘驱动器 Model 305 RAMAC,从此数据存储进入磁盘时代。在这个阶段,数据管理直接通过文件系统来实现。
2.DBMS 数据模型
1960年代,传统的文件系统已经不能满足人们的需要,数据库管理系统(DBMS)应运而生。
DBMS 是按照某种数据模型来组织、存储和管理数据的仓库。所以通常按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。
1.网状模型
2.层次模型
3.关系模型
总结:
3.SQL 语言
1974 年 IBM 的 Ray Boyce 和 Don Chamberlin 将 Codd 关系数据厍的 12 条准则的数学定义以简单的关踺字语法表现出来,里程碑式地提出了 SQL(Structured Query Language)语言。SQL 的语法风格接近自然语言,并且高度非过程化,采用面向集合的操作方式,语言简洁,易学易用。
4.历史回顾
三、关键技术
从更全面宏观的角度可以看这篇 一条SQL语句从诞生至结束的多姿多彩历程!,作者的主页有更多详细的数据库技术内容。
从最古老的数据记录方式出发,回顾了数据记录的历史,发展到现在的关系型数据库,还有更多种类的数据库,现代的数据记录方式能够让记录的数据稳定可靠,并且有更好的访问方式。