IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Bin log & Redo log 实现Crash Safe -> 正文阅读

[大数据]Bin log & Redo log 实现Crash Safe

Redo log 和 Bin log实现Crash safe

全部笔记🔗

redo log

redo log 用于保证事务的持久性,同样也是可以实现crash safe

WAL(Write-Ahead Logging): 先写日志再写磁盘。

  • 事务为什么不直接写到磁盘中?因为每次写入都会磁盘随机IO访问,耗时,不如暂时写到redo log中,然后再找合适的时间刷到磁盘上。
  • 能够实现crash safe:如果服务器宕机了,那么重启的时候会查找redo log进行数据的恢复

redo log存储的页是物理日志,采用循环写的方式,也就是我们可以写到redo log上面,我们也可以在合适的时间刷盘

请添加图片描述

上图来源于《MySQL45讲》

  • write pos:当前记录的位置
  • checkpoint:当前要擦除的位置
  • 中间的深色区域:还可供书写的区域,如果write pos追上了 checkpoint那么就需要先停止更新,进行刷盘空闲出来一片区域再写

Crash Safe

有了redo log, InnoDB就可以保证即使数据库发生了一场重启之前提交的记录都是会存在于redo log中,不会丢失,这个能力叫做crash safe

Crash Safe – 恢复数据

LSN:日志序列号。通过对比LSN我们就能够知道怎么恢复数据

LSN指示了checkpoint的位置,每个数据页同样也是有LSN的,当数据库发生异常重启的时候,系统自动定位到check point,通过对比LSN就能判断是否是需要恢复 & 怎么恢复

请添加图片描述

图片来源

bin log

bin logserver层的日志,用于数据误删后的恢复以及主从复制

两日志文件对比:

  • redo log是InnoDB引擎特有的,bin log是所有引擎都可以实现
  • redo log是物理日志,bin log是逻辑日志
  • redo log是循环写的,bin log是追加写的

两阶段提交

请添加图片描述

为什么需要两阶段提交?
  • 先写redo log再写bin log,如果写完redo log就宕机了,重启之后用redo log恢复的数据就比bin log多,造成数据不一致
  • 先写bin log再写redo log,写完bin log就宕机了,重启后redo log这个事务无效,但是写到了bin log中去了,数据不一致
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-11 16:30:44  更:2022-05-11 16:31:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:16:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码