redolog 和 binlog 的区别以及两阶段提交

最近在学习MySQL架构的时候,关于执行器,存储引擎的具体操作那里,有些地方不是很懂,我仔细思考了一下,发现我对两阶段提交这个过程比较模糊,所以我特意写一篇文章来说一下两阶段提交。

比如说一条更新语句,执行器执行完更新操作后,存储引擎会将这条更新后的语句放到buffer pool中,然后两阶段提交就开始了:存储引擎将更新的记录放到redolog里,redolog处于prepare状态;接着执行器会将这个操作的binlog放到磁盘中;redolog处于commit状态。至此,两阶段提交完成,一条数据的更新操作也完成了。

可能我讲的有点不太好懂,我找了一张图帮助理解(浅色框表示在InnoDB中执行,深色框表示在执行器中执行)

为什么需要两阶段提交呢?目的是保持redolog和binlog的状态一致,即一条redolog物理日志对应一条binlog逻辑日志。

最后来说一下redolog和binlog的区别。

redolog是InnoDB存储引擎特有的,记录的是物理日志,写满后会刷新脏页。

binlog在server层中,是所有引擎共享的,记录的是逻辑日志,写满后可以追加写。

这块关于redolog和binlog的比较不算难,但是关于两阶段提交有点难,难就难在要想明白为什么需要两阶段提交。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/293684.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

接口自动化框架搭建(九):接入钉钉消息通知

1,jenkins安装钉钉插件 2,在钉钉群聊设置机器人 3,jenkins配置钉钉 根据情况选择: 除了这些,其他不用配置,配置完成点击确认 4,项目配置 添加后保存 5,测试下效果 构建完成后&a…

免费开源的 AI 绘图工具 ImgPilot

免费开源的 AI 绘图工具 ImgPilot 分类 开源分享 项目名: ImgPilot -- 通过提示词及涂鸦生成图片 Github 开源地址: GitHub - leptonai/imgpilot: Turn the draft into amazing artwork with the power of Real-Time Latent Consistency Model 在线地址&#xff…

Go语言学习Day6:数组与切片

名人说:莫愁千里路,自有到来风。 ——钱珝 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 1. 数组① 什么是数组② 数组的声明③ 初始化数组的几种方式④ 遍历数组元素⑤ 数组为值类型⑥ 数…

Excel 粘贴回筛选后的单元格不能完全粘老是少数据 ,有些单元格还是空的

环境: excel2021 Win10专业版 问题描述: excel 粘贴回筛选后的单元格不能完全粘老是少数据 有些单元格还是空的 复制选择筛选后A1-A10单元格 ,定位条件)(仅可见单元格)来访问,或者你可以使用…

牛角工具箱源码 轻松打造个性化在线工具箱

🎉 Whats this? 这是一款在线工具箱程序,您可以通过安装扩展增强她的功能 通过插件模板的功能,您也可以把她当做网页导航来使用~ 觉得该项目不错的可以给个Star~ 😺 演示地址 https://tool.aoaostar.com &#x1f…

MySQL 高级语句(一)

一、MySQL查询 1.1 排序 1.1.1 排序语法 1.1.2 order by案例 1.2 区间判断及查询不重复记录 1.2.1 区间判断 1.2.2 查询不重复记录 1.3 对结果进行分组 1.3.1 group by 语法 1.3.2 group by 案例 1.4 限制结果条目 1.4.1 LIMIT 语法 1.4.2 LIMIT 案例 1.5 设置别名…

分治——归并排序算法

例题一 解法(归并排序): 算法思路: 归并排序的流程充分的体现了「分⽽治之」的思想,⼤体过程分为两步: ◦ 分:将数组⼀分为⼆为两部分,⼀直分解到数组的⻓度为 1 ,使…

网络游戏推广利器:Xinstall一站式解决方案

随着网络游戏的飞速发展,游戏推广已成为游戏公司不可或缺的一环。然而,面对渠道繁多、效果评估困难、用户获取成本高昂等问题,许多游戏公司在推广过程中感到力不从心。今天,我们要为大家介绍一款强大的游戏推广利器——Xinstall。…

[leetcode] 100. 相同的树

给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入:p [1,2,3], q [1,2,3] 输出:true示例 2&a…

Linux 理解进程信号

目录 一、共享内存通信机制中的临界资源访问与同步控制 1、概念 2、生活角度理解信号机制 3、信号量的操作 二、信号 1、生活角度的信号 2、技术应用角度的信号 3、操作系统角度的信号 信号如何产生 理解组合键变为信号 理解信号如何被进程保存 时钟中断&#xff0…

基于《2023腾讯云容器和函数计算技术实践精选集》—探索腾讯云TKE的Docker容器、Serverless和微服务优势

重剑无锋,大巧不工。 ——金庸 腾讯云TKE,全称Tencent Kubernetes Engine,是一种完全托管式的容器服务。它可以帮助用户快速、高效地部署和管理Kubernetes集群,并提供一系列与之相关的云服务,如负载均衡、云硬盘、对象…

汇编语言第四版-第3章 寄存器(内访问)

al为ax的低字节,ax寄存器为累加器。

Vue element-plus 导航栏 [el-menu]

导航栏 [el-menu] Menu 菜单 | Element Plus el-menu有很多属性和子标签,为网站提供导航功能的菜单。 常用标签: 它里面有两个子标签。el-menu-item,它其实就是el-menu每一个里面的item,item就是真实匹配到路由的每个栏目&#…

Unity3d使用Jenkins自动化打包(Windows)(一)

文章目录 前言一、安装JDK二、安装Jenkins三、Jenkins插件安装和使用基础操作 实战一基础操作 实战二 四、离线安装总结 前言 本篇旨在介绍基础的安装和操作流程,只需完成一次即可。后面的篇章将深入探讨如何利用Jenkins为Unity项目进行打包。 一、安装JDK 1、进入…

机器学习优化算法(深度学习)

目录 预备知识 梯度 Hessian 矩阵(海森矩阵,或者黑塞矩阵) 拉格朗日中值定理 柯西中值定理 泰勒公式 黑塞矩阵(Hessian矩阵) Jacobi 矩阵 优化方法 梯度下降法(Gradient Descent) 随机…

Python问题列表

文章目录 1、使用pip安装的模块都存放到哪里了?2、安装fitz包报错,如何解决?3、python代码运行时,控制台输出乱码如何解决。4、vscode中第三方库不自动补齐 1、使用pip安装的模块都存放到哪里了? 答: pip是…

【OpenGL】使用 python + Qt + OpenGL 的现代渲染

伴随资源 目录 一、说明二、 关于PyQt6.x2.1 QOpenGLWidget详细说明2.2 绘画技巧 三、PyOpenGL四、OpenGL 管线五、Python集成开发环境5.1 Emacs配置5.2 pycharm环境 六、你好,OpenGL!七、QGL控件八、平截头体.svg九、定义几何9.1 立即模式与保留模式9…

如何在Portainer中创建Nginx服务并搭建静态站点实现公网访问本地网站

文章目录 前言1. 安装Portainer1.1 访问Portainer Web界面 2. 使用Portainer创建Nginx容器3. 将Web静态站点实现公网访问4. 配置Web站点公网访问地址4.1公网访问Web站点 5. 固定Web静态站点公网地址6. 固定公网地址访问Web静态站点 前言 Portainer是一个开源的Docker轻量级可视…

ES学习日记(一)-------单节点安装启动

基于ES7.4.1编写,其实一开始用的最新的8.1,但是问题太多了!!!!不稳定,降到7.4 下载好的安装包上传到服务器或虚拟机,创建ES目录,命令mkdir -p /路径xxxx 复制安装包到指定路径并解压: tar zxvf elasticsearch-8.1.0-linux-x86_64.tar.gz -C /usr/local/es/ 进入bin目录安装,命…

JAVA学习笔记21(访问修饰符)

1.访问修饰符 ​ *基本介绍 ​ java提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围) 1.公开级别:用public修饰,对外公开 2.受保护级别:用protected修饰,对子类和同一个包中的类公开 3.默…