RDBMS初探 | 青训营笔记

121 阅读2分钟

这是我参与「第三届青训营 - 后端场」笔记创作活动的第5篇笔记

一、DBMS的发展历史

  • 前DBMS时代:人工管理、文件系统

    缺点:效率低

  • DBMS:database management system,即数据库管理系统,是按照某种数据模型来组织、存储和管理数据的仓库

    根据数据模型特点可分为三类:网状数据库、层次数据库、关系数据库

    1. 网状模型 网状数据模型是以记录类型为节点的网状结构,即一个节点可以有一个或多个下级节点,也可以有一个或多个上级节点,两个节点之间也可以有多种联系

    2. 层次模型 层次模型,即用树形结构来描述实体及其之间关系的数据模型。

    每棵树都有且仅有一个根节点,其余节点都是非根节点。每个节点表示一个记录类型,表示一个实体;记录类型的各个字段对应实体的各个属性

    1. 关系模型 使用表格表示实体和实体之间关系的数据模型称为关系数据模型,关系数据模型中,无论是实体还是实体之间的关系,都用一张二维表来表示
  • SQL,structured query language,即结构化查询语言,是一种数据库查询和程序设计语言。其语法风格接近自然语言,高度非过程化,简单易学。

二、SQL引擎

  • Parser 解析器

    解析器一般分为词法分析、语法分析、语义分析等步骤

  • Optimizer 优化器

    基于代价(如时间)优化SQL操作流程

  • Executor 执行器

    火山模型(每个operator操作一行数据)、向量化(每个operator操作一个batch)、编译执行(LLVM动态编译执行技术)

三、事务

  • 原子性:事务是一个不可再分割的工作单元,事务中的操作要么都发生,要么都不发生

    机制:Undo log(逻辑日志,记录了数据的增量变化,保证了事物的原子性,并且也实现了多版本并发控制MVCC)

  • 一致性:数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性

    一致性一般在业务层进行校验检查

  • 隔离性:多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其他事务运行效果

    机制:锁(共享锁与排他锁)& MVCC(多版本并发控制)

  • 持久性:在事务完成以后,该事务对数据库所做的更改便持久地保存在数据库之中

    机制:Redo log(物理日志,记录的是页面的变化;如果数据写入磁盘时发生故障,重启服务器后会根据其进行重做)


Ref:字节跳动青训营 - 深入理解RDBMS