15-721 Chapter10 恢复协议

news2024/11/26 18:25:02

BackGround

为了在可能crash的情况下,确保事务和数据库状态的,一致性,原子性,持久性。恢复算法大体可以分为两个方面:1.在事务过程中要做哪些处理   2.崩溃后要做哪些处理。

与disk数据库的差异

1.恢复不需要跟踪dirty page

2.只要redo,不用undo

3.不需要记录index,直接重建index就好,如果从disk拿的话,代价挺高的。

各种方式

日志记录方式

日志冲到磁盘的方式

 

提交的事务,可以在持久化前提前释放锁,然后别的读取他们数据的事务,要等待之前的事务落盘

 

 

MVCC与log record

我们发现MVCC的版本和record有很大的相似性,我们可以做一些额外的操作,把两个一起做了。

 version store有两种选择:一种是就地存储,一种是单独拿一个表来存

恢复协议

 logic revert

 

 SLOR的日志记录:格式(table, key, value ) 每100 epoch创建一个新的file,并把旧的log file rename 成 max epoch(它记录的)。然后如果epoch更新的话,把logrecord写入到flushing buffer里面,然后可以继续读free buffer里面的buffer,如果没有的话,worker就wait住了。

 

恢复协议

 

restart 恢复(不是crash)

 

Summary

physicial logging是主流

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

独立IP服务器和共享IP服务器有什么区别

在选择一个合适的服务器时,最常见的选择是共享IP服务器和独立IP服务器。尽管两者看起来很相似,但它们有着很大的不同。本文将详细介绍共享IP服务器和独立IP服务器的不同之处,以及如何选择适合您需求的服务器。 一、什么是共享IP服务器? 共享…

PHPStudy hosts文件可能不存在或被阻止打开,同步hosts失败

在使用PHPStudy建站包时,有时会遇到同步hosts失败的问题,可能是因为hosts文件不存在或被阻止打开。这个问题通常可以通过以下几个步骤解决: 步骤一:检查hosts文件是否存在 首先,我们需要检查一下hosts文件是否存在。…

【漏洞复现】海康威视综合安防管理平台Fastjson远程命令执行漏洞复现

文章目录 前言声明一、海康威视综合安防管理平台简介二、漏洞描述三、影响版本四、漏洞复现五、修复方案 前言 ​海康威视综合安防管理平台存在Fastjson远程命令执行漏洞,攻击者可通过构造恶意Payload执行并获取服务器系统权限以及敏感数据信息。 声明 本篇文章仅…

计算机网络学习07(DNS域名系统详解)

DNS(Domain Name System)域名管理系统,是当用户使用浏览器访问网址之后,使用的第一个重要协议。DNS 要解决的是域名和 IP 地址的映射问题。 在实际使用中,有一种情况下,浏览器是可以不必动用 DNS 就可以获知…

【Java】SpringBoot中实现多数据源切换

前言 在日常项目开发中,某些需求会让不同的数据落实到不同的数据库,也或许是不同的页面需要不同数据库中的数据,在这种场景下,我们可以使用多数据源的配置来完成,通过在springboot中的yml文件配置多个数据源方式即可完…

一篇文章解决Mysql8

基于尚硅谷的Mysql8.0视频,修修改改。提取了一些精炼的内容。 首先需要在数据库内引入一张表。链接地址如下。 链接:https://pan.baidu.com/s/1DD83on3J1a2INI7vrqPe4A 提取码:68jy 会进行持续更新。。 1. Mysql目录结构 Mysql的目录结构…

时序预测相关技术分享

时序预测相关技术分享 时序预测是指对时间序列数据进行预测,以预测未来的趋势或行为。在实际生产和应用中,时序预测广泛应用于金融、电力、交通等领域。时序预测可以帮助人们更好地理解和掌握未来的趋势和规律,从而做出更明智的决策。 时序…

Go语言测试——【单元测试 | Mock测试 | 基准测试】

作者:非妃是公主 专栏:《Golang》 博客主页:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录 序一、单元测试1. 测试文件命名2. 测试函数3.…

【Linux脚本篇】什么是shell脚本,什么是shell变量

目录 🍁什么是shell 🍂什么是shell脚本 🍂shell脚本能做什么 🍂学习shell需要哪些知识 🍂shell基本规范 🍂shell脚本五种运行方式 🍁shell变量 🍂变量命名规范 🍂shell变…

配置 RT-Thread 的工程目录

1. 前言 RT-Thread 基于 Scons 的包管理非常方便让我们使用 RT-Thread 进行开发,但在实际工程中将应用代码写到 RT-Thread 官方提供的 bsp 目录下面会非常不便于使用,无法使用自己 git 工具进行代码管理。 解决方式,可以是 fork 出一个基于特…

Python 依赖库管理:pipreqs、pigar、pip-tools、pipdeptree

在 Python 的项目中,如何管理所用的全部依赖库呢?最主流的做法是维护一份“requirements.txt”,记录下依赖库的名字及其版本号。 那么,如何来生成这份文件呢?一种常规的方法: pip freeze > requiremen…

从零开始学习Web自动化测试:如何使用Selenium和Python提高效率?

B站首推!2023最详细自动化测试合集,小白皆可掌握,让测试变得简单、快捷、可靠https://www.bilibili.com/video/BV1ua4y1V7Db 目录 引言: 一、了解Web自动化测试的基本概念 二、选择Web自动化测试工具 三、学习Web自动化测试的…

企业数据挖掘平台|道路运输安全大数据分析解决方案

TipDM大数据挖掘建模平台是由泰迪智能科技自主研发打造的可视化、一站式、高性能的数据挖掘与人工智能建模服务平台。目前已与民政、广电、电力、交通运输等多个行业的100客户达成及合作。 基于数据挖掘平台的道路运输安全大数据分析解决方案如下: 方案背景 …

U盘数据加密怎么设置?这个方法更快速、更安全!

U盘是目前使用率最高的移动储存设备,有时我们需要使用U盘存放非常重要的数据,那么就需要将其进行加密。常见的加密手段,如BitLocke驱动器加密,它的加密速度非常慢,当U盘中的数据稍微多一点的时候,我们就需要…

分不清信息化、数字化的区别?这篇文章让你全明白

前几天看到一篇讲数字化的文章,把信息化和数字化混为一谈,一些企业在实践转型的时候也分不清数字化和信息化之间的区别。 正好借这个问题尝试梳理一下数字化和信息化之间的本质区别。个人拙见,也欢迎大家评论区探讨。 01 业务侧重点不同 信…

上传了ipa但iTunes Connect没有构建版本问题

上传了ipa但iTunes Connect没有构建版本问题 转载:上传了ipa但iTunes Connect没有构建版本问题 AU上传ipa出现下图红框提示说明成功上传,如果App Store后台没有出现构建版本,请登录 apple账号对应的邮箱查看反馈,特别留意垃圾邮…

三角函数在js中的应用与二维空间绕另一个点旋转计算应用

开发中遇到一个问题,二维空间里正方形,按p点旋转90度后的点A2点的坐标是多少,这个设计到三角函数和矩阵的运算下面有公式。 由此翻了一遍三角函数相关的知识: A点绕p点旋转90度得A2点的坐标是多少,用三角函数解答&…

Java开发 - 不知道算不算详细的JUC详解

前言 大概有快两周没有发文了,这段时间不断的充实自己,算算时间,也到了该收获的时候,今天带来一篇JUC详解,但说实话,我也不敢自信它详不详细。JUC说白了就是多线程,学Java不久的人知道多线程&a…

openSUSE----openSUSE常用的软件包管理命令

【原文链接】openSUSE----openSUSE常用的软件包管理命令 zypper 是openSUSE操作系统软件包管理命令 repos源管理常用命令 zypper repos (或zypper lr) 列出所有定义的安装源zypper addrepo (或zypper ar) 添加一个新的安装源zypper removerepo (或zyp…

Java JDK下载安装环境变量配置

目录 一、下载安装 1.简介 2.JDK下载JDK 官网海外历史地址: 3.安装 二、环境变量配置 1.新建JAVA_HOME变量 2.PATH变量 3.CLASSPATH 变量 4.测试是否安装成功 一、下载安装 1.简介 JDK 是SUN公司提供的一套Java 语言的软件开发工具包,简称JDK(JavaDevelo…