今日学习,RDBMS | 青训营笔记

110 阅读1分钟

今日学习,RDBMS

存储系统:块存储、文件存储、对象存储、K-V存储

数据库系统:关系型、非关系型

分布式架构:

  • 数据分布策略
  • 数据复制协议
  • 分布式事务算法

例子:红包雨

RDBMS事务——A C I D

DBMS数据模型

  • 层次模型

image.png

是树状,非网状

  • 关系模型

二维表结构

image.png

RDBMS技术

image.png

Parser解析器

  • 词法解析、语法分析、语义分析
  • 词法分析,抓取SQL的关键词,分成不同类型
  • 语法分析,将关键词构建成一个语法树,机器能够识别的
  • 语义分析,类型校验,表和列是否存在校验

优化气Optimizer

  • 优化执行SQL路径

  • 基于规则的优化(RBO Rule Base Optimizer)

    • 条件简化

      • a = 5 and b > 5 ----> a = 5 and b > 5
      • a > 5 and a < b and b = 1 -----> false
    • 表连接优化

      • 总是小表先进行连接
    • Scan优化

      • 唯一索引
      • 普通索引
      • 全表扫描
    • 基于代价的优化(CBO Cost Base Optimizer)

    • 代价可以是时间,IO,CPU,NET,MEM等。考虑整体并发的代价,而不是单条SQL查询的代价

执行器Executor

  • 火山模型

image.png

每次操作计算都是批量数据,计算完成后想上层返回一个Batch

- 缺点
- 优点
  • 编译执行

image.png

- 动态编译`LLVM`:有了执行树,在动态生成执行路径

存储引擎

InnoDB

image.png

  • Buffer Pool
    • HasMap
    • LRU:最少使用淘汰策略,管理内存空间

image.png

  • Page页面

image.png

  • B+-Tree

image.png

- 点查
- 范围查

事务引擎

原子性、Undo Log

如何退回?

image.png

Isolation、锁

  • 读:Share Lock
  • 写:Exclusive Lock
  • 读写:MVCC

事务版本——MVCC

  • 读写互补阻塞
  • 减低死锁概率
  • 一致性读

事务版本——Durability、Redo Log

image.png