mysql事务日志和MVCC

这篇具有很好参考价值的文章主要介绍了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+多数据库

库分片和表分片文章来源地址https://www.toymoban.com/news/detail-814853.html

到了这里,关于mysql事务日志和MVCC的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一文带你了解MySQL之事务隔离级别和MVCC

    为了我们学习的顺利进行,我们这边创建一张 hero 表 这里需要注意的是,我们的 hero 表的主键是 number ,而不是 id ,主要是后边要用到的 事务id 做一下区别,然后我们给这个表里插入一条数据 现在我们表里的数据就是这样: 我们知道 MySQL 是 CS 架构的软件,若干个客户端与

    2024年02月08日
    浏览(68)
  • MySQL事务(4种事务隔离级别、脏写、脏读、不可重复读、幻读、当前读、快照读、MVCC、事务指标监控)

    显示事务: read write:读写事务,默认模式,表示当前事务可以读写数据。 read only:只读事务,很少用,表示当前事务不能修改数据。 with consistent snapshot:一致性快照,在数据库事务中确保事务在执行过程中能看到一个事务开始时的一致数据库状态,避免被其他并发操作影响

    2024年03月10日
    浏览(45)
  • ⑩⑧【MySQL】InnoDB架构、事务原理、MVCC多版本并发控制

    个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ InnoDB逻辑存储结构 : 🚀 表空间(idb文件) :一个MySQL实例可以对应多个表空间,用于存储记录、索引等数

    2024年02月04日
    浏览(43)
  • 【MySQL】根据MVCC和Read View分析事务的四种隔离级别在读写场景分别是如何体现其隔离性的

    需要云服务器等云产品来学习Linux的同学可以移步/--腾讯云--/--阿里云--/--华为云--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。   目录 一、数据库并发的三种场景 二、读写场景的MVCC  1、3个(4个)记录隐藏列字段 2、undo log(撤销日志) 3、模拟MVCC场景

    2024年02月12日
    浏览(44)
  • 第三十二章:MySQL事务日志

    事物有4种特性:原子性、一致性、隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢? 事物的隔离性有锁机制实现。 而事物的原子性、一致性和持久性由事物的 redo 日志和 undo 日志来保证。 REDO LOG 称为重做日志,提供再写入操作,恢复提交事物修改的页操作

    2024年02月15日
    浏览(49)
  • 【Sql】MVCC有关问题,以及锁,日志和主从复制原理

    目录 MVCC 解决什么问题? 实现原理 隐式字段 undo log Read View(读视图) InnoDB 对 MVCC 的实现 锁 分类 锁升级? InnoDB 的行锁? 死锁避免? 乐观锁和悲观锁 日志 主从复制原理 主从复制的作用 MySQL主从复制解决的问题 涉及3个线程 复制过程 读写分离 MVCC 一种多版本并发控制机制,用

    2024年03月14日
    浏览(44)
  • 【MySQL】MVCC详解与MVCC实现原理(MySQL专栏启动)

    📫作者简介: 小明java问道之路,专注于研究 Java/ Liunx内核/ C++及汇编/计算机底层原理/源码,就职于大型金融公司后端高级工程师,擅长交易领域的高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。 📫 热衷分享,喜欢原创~ 关注我会给你带来一些不一样的

    2023年04月09日
    浏览(36)
  • mysql之MVCC

    ​ 1、概念 mvcc作用在于解决并发条件下,读写冲突的问题。一般用于RC和RR隔离级别,解决脏读和不可重复读的问题。 (1)当前读 读取的是记录的最新版本,读取时还要保证其他事务不能修改当前记录,会对读取的记录进行加锁。对于我们日常的操作,如:select ... lock in

    2024年01月21日
    浏览(29)
  • MySQL — MVCC

    InnoDB是一个多版本的存储引擎。它保留有关已更改行的旧版本的信息,以支持并发和回滚等事务性特性。这些信息存储在undo表空间中的数据结构称为回滚段。InnoDB使用回滚段中的信息来执行事务回滚所需的undo操作。它还使用这些信息来构建数据行的早期版本,以实现一致的

    2024年02月13日
    浏览(22)
  • 《MySQL MVCC 》

    MVCC (Multi-Version Concurrency Control)是一种基于多版本的并发控制协议,只有在 InnoDB 引擎下存在。MVCC 是为了实现事务的隔离性,即通过版本号,避免同一数据在不同事务间的竞争,可以把它当成基于多版本号的一种乐观锁。当然,这种乐观锁只在事务级别读已提交(RC)和可重复读

    2024年02月22日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包