写数据流程
// todo 待完善
bin Log
用于做主从复制、数据恢复
格式有:
row
statement
mixed
过程:
主节点写bin log
从节点监听到,拉取binlog,到本地的relaylog中
再异步去执行 relay log,使数据到一致状态
Redo Log
用于保存事务的重做日志,用于事务、崩溃恢复
内部有两阶段提交的过程
P1:写redolog 预提交
然后 写bin log
P2:写redo log ,最终提交
Undo Log
用于保存事务的回滚日志,和mvcc相关
日志版本链
MVCC
隐藏字段
undo log 中 ,有隐藏字段:
- 事务 id :递增的
- roll 指:即 undo log 记录的指针,串联起来,形成版本记录链
Read View 视图
形成可见的版本快照
实现可重复读、读未提交的不同级别