第2章 单机存储系统
- 2.1 硬件基础
- 2.1.1 CPU架构
- CMP & NUMA
- 2.1.2 IO总线
- 主板的南北桥架构
- 2.1.3 网络拓扑
- 三层结构:接入层/汇聚层/核心层
- 三级CLOS网络(扁平化结构)
- 2.1.4 性能参数
- 2.1.5 存储层次架构
- 集群->机架->单机
- 存储系统的性能维度:吞吐量,访问延时。
- 2.2 单机存储引擎
- 2.2.1 哈希存储引擎
- 2.2.2 B树存储引擎
- 2.4 事务与并发控制
- 事务的并发通过锁来实现
- 提高读事务性能
- 写时复制(copy on write)
- 多版本并发控制 (Multi-version concurrency control)
- 2.4.1 事务
- 2.4.2 并发控制
- 数据库锁
- 发散课题 -> read committed & read committed snapshot & repeated read & MVCC的区别与实现
- 解决死锁的思路
- 为事务设置超时回滚
- 死锁检测,检测到死锁后回滚
- 写时复制,无锁
- 用SNAPSHOT代替锁
- 无锁,写不影响读
- snapshot的生成成本高
- 写互斥
写时复制B+树
- 用SNAPSHOT代替锁
- 多版本并发控制,无锁
- 两个隐藏列
- 行被修改时的版本
- 行被删除时的版本
- 两个隐藏列
- 数据库锁