这是我参与「第三届青训营 -后端场」笔记创作活动的第2篇笔记
应用分层
计算机应用领域最简洁的分层是三层分层,常见于后端单体架构应用。推荐阅读:github.com/bxcodec/go-…
| 层级 | 功能 |
|---|---|
| 控制层 | 调用服务层提供的服务处理外部的请求 |
| 服务层 | 处理各种业务逻辑,将业务数据通过存储层持久化 |
| 存储层 | 与数据库或微服务交互,管理数据仓库 |
网络分层
计算机网络领域虽然有很多种分层(一般七层指的是所有层,四层指的是应用层下面四层),但本质上表示的还是同一个东西,学习的关键在于打通整个链路,融会贯通。推荐阅读:《计算机网络:自顶向下方法》、《TCP/IP》
| OSI | 经典 | TCP/IP |
|---|---|---|
| 应用层 | 应用层 | 应用层 |
| 表示层 | 应用层 | 应用层 |
| 会话层 | 应用层 | 应用层 |
| 运输层 | 运输层 | 运输层 |
| 网络层 | 网络层 | 网际层 |
| 数据链路层 | 数据链路层 | 网络接口层 |
| 物理层 | 物理层 | 网络接口层 |
存储分层
计算机组成原理课上的内容,叫做memory hierarchy。推荐阅读:en.wikipedia.org/wiki/Memory…
![]()
| 层级 | 特点 |
|---|---|
| 寄存器 | 容量小,速度快 |
| 缓存(快取) | 昂贵,可以有多级缓存 |
| 内存(RAM) | 临时存储,断电易失 |
| 硬盘(SSD) | 容量较大,速度较慢 |
| 磁带 | 廉价,少见 |
数据库管理系统分层
目前的数据库管理系统以关系数据库管理系统为主,常见的有Oracel,Mysql,PostgreSql,SQL server。以下查询引擎、优化引擎和执行引擎可以统称为SQL引擎,查询引擎和优化引擎也可以叫做查询优化器。推荐阅读:dev.mysql.com/doc/refman/…
| 查询引擎 | 对SQL进行词法分析、语法分析、语义分析,生成语法树 |
| 优化引擎 | 根据查询引擎生成的语法树,基于规则或基于代价生成执行计划 |
| 执行引擎 | 用火山模型迭代运行执行计划 |
| 存储引擎 | 数据的存储、管理和访问 |
| 事务引擎 | 用Undo log保证原子性;用约束保证一致性;用共享锁和互斥锁和MVCC保证隔离性;用Redo log保证持久性 |
计算机系统分层
推荐阅读:《深入理解计算机系统》
| 用户态 | 应用、标准库、编译器、解释器 |
| 内核态 | 驱动、文件系统、操作系统 |
| 硬件 | 内存、硬盘、设备 |