mysql事务日志和MVCC

1.mysql的redolog日志和undolog日志的作用?

A redolog主要作用是保证提交commit的数据的成功

将修改的数据在正式提交commit前进行记录

记录的方式,将日志从内存刷新给文件缓存,文件缓存什么时候落盘由操作系统自行决定(2)

redolog日志的主要作用保证commit行为的安全性

B undolog主要作用是保证回滚rolleback的数据的成功?

将修改的数据的旧值在修改时进行记录

记录方式,每次修改都保存旧值,旧值之间会形成一个undolog链

Undolog日志的主要作用保证rolleback回滚操作的安全性

2 .在解决多线程隔离问题上mvcc机制主要原理?

A Mvcc多版本并发控制机制

对mysql数据的写并发的控制,给要到具体什么内容的控制,Readview快照读

B 工作过程

当一个事务需要读取数据的时候,会产生一个Readview

Readview中主要记录的字段:

trx_id当前生成Readview的这个事务的id

M_ids访问当前数据资源的所有未提交的事务集合,活跃事务id

Min_trx_id记录活跃事务id集合中的最小值

Max_trx_id数据库引擎即将分配给下一个事务的id

以上四个值和具体的当前(当前行)数据事务id进行比较,根据它们的大小干系对情况判断

最终的目的是未来保证当前的readview这个事务在读取数据时的可重复读的隔离级别(RR)

1.mysql索引算法

2. mysq索引优化,多表优化

3.事务特性和隔离级别的底层原理,锁和mvcc,redolog和undolog

4. mysql分布式操作

A 读写分离

Mysql主从复制读写分离

Sharding-jdbc

B 数据分片(sharding)

Sharding-jdbc+多数据库

库分片和表分片

你可能感兴趣的:(mysql)