#JAVA破局之路#分布式事务解决方案),分布式事务详解(mysql事务如何实现的( 二 )
1.2.4持久性一旦事务提交 , 则其所做的修改就会永久保存到数据库中 。 此时即使系统崩溃 , 修改的数据也不会丢失 。 具体实现原理就是在事务commit之前会将 , redologbuffer中的数据持久化到硬盘中的redologfile , 这样在commit的时候 , 硬盘中已经有了我们修改或新增的数据 , 由此做到持久化 。
Mysql利用Innodb的redolog做到持久化
Mysql修改数据的大概流程是先把磁盘上的数据加载到内存中 , 在内存中对数据进行修改 , 再刷回磁盘上 。 如果此时突然宕机 , 内存中的数据就会丢失 。 如何解决该问题
最直观的想法 , 事务提交前直接把数据写入磁盘
这么做有什么问题
浪费资源 , 只修改一个页面里的一个字节 , 就要将整个页面刷入磁盘(一个页面16kb , 每次改动都需要将16kb的内容刷入磁盘)
速度慢 , 每个事务里可能涉及到多个数据页的修改 , 而这些数据可能是不相邻的 , 属于随机操作IO
于是 , 决定采用redolog解决上面的问题 。 当做数据修改的时候 , 不仅在内存中操作 , 还会在redolog中记录这次操作 。 当事务提交的时候 , 会将redolog日志进行刷盘(redolog一部分在内存中 , 一部分在磁盘上) 。 当数据库宕机重启的时候 , 会将redolog中的内容恢复到数据库中 , 再根据undolog和binlog内容决定回滚数据还是提交数据 。
采用redolog的优点
redolog进行刷盘的效率要远高于数据页刷盘 , 具体表现如下
redolog体积小 , 只记录了哪一页修改的内容 , 因此体积小 , 刷盘快
redolog是一直往末尾进行追加 , 属于顺序IO 。 效率显然比随机IO来的快
1.3事务原理与锁1.3.1锁的问题场景:多对一问题 , 多个操作者同时操作一个资源 , 而资源的状态变化是非原子的(有中间态) , 哄抢会导致资源状态混乱
1.3.2事务的问题场景:一对多的问题 , 一个操作者需要绑定操作一系列资源(比如多条sql) , 若任何一条操作失败 , 都会导致整个操作失去意义;
1.3.3事务的实现:1.redolog
redolog叫做重做日志 , 是用来实现事务的持久性 。 该日志文件由两部分组成:重做日志缓冲(redologbuffer)以及重做日志文件(redolog),前者是在内存中 , 后者在磁盘中 。 当事务提交之后会把所有修改信息都会存到该日志中 。
PS:mysql为了提升性能不会把每次的数据修改都实时同步到磁盘 , 而是会先存到BofferPool(缓冲池)里头把这个当作缓存来用 。 然后使用后台线程去做缓冲池和磁盘之间的同步 。
redolog主要用来恢复数据 , 用于保障 , 已提交事务的持久化特性(宕机时 , redolog的信息是全的)
2.undolog
undolog叫做回滚日志 , 用于记录数据被修改前的信息 。
他正好跟前面所说的重做日志所记录的相反 , 重做日志记录数据被修改后的信息 。 undolog主要记录的是数据的逻辑变化 , 为了在发生错误时回滚之前的操作 , 需要将之前的操作都记录下来 , 然后在发生错误时才可以回滚 。
PS:mysql每次写入数据或者修改数据之前都会把修改前的信息记录到undolog , undolog是用来回滚数据 , 用于保障未提交事务的原子性
3.mysql锁技术
当多个请求同时来临时 , mysql要控制读读可并行 , 而写读 , 写写不能并行
4.MVCC技术
MVCC(MultiVersionConcurrencyControl)叫做多版本并发控制 。
InnoDB的MVCC , 是通过在每行记录的后面保存两个隐藏的列来实现的 。 这两个列 , 一个保存了行的创建时间 , 一个保存了行的过期时间 , 当然存储的并不是实际的时间值 , 而是系统版本号 。
他的主要实现思想是通过数据多版本来做到读写分离 。 从而实现不加锁读进而做到读写并行 。
事务的原子性是通过undolog来实现的
事务的持久性是通过redolog来实现的
- 猎云网不盲目叫苦,想办法破局,疫情下的餐饮创业者
- 手机大魔王iQOO Z1或六月发布,vivo开启芯片定制之路,红米刷新5G手机价格
- 210数码圈华为手机的成“神”之路,一个励志故事
- 愉见财经贵州银行如何风雨兼程?,又见文采斐然董事长致辞:转型之路道阻且长
- 热点科技咨询感知“大咖”秀之一:创业超女“洞见”网络安全之路
- 乐云宝宝复合材料破局之路!软实力与硬科技哪个更关键?
- 美股研究社未来的云服务之路真的一路顺风吗?,金山云上市首日股价暴涨40%
- 云之家报表秀秀数据护航广东火电“出海”之路
- 奔涌吧 后浪 | 智媒物联引领商显未来创新之路
- “新基建”大潮已至 风口下的网络安全从漏洞破局