Recovery

news2024/12/27 15:21:05

Steal:允许未提交的事务写到磁盘上

Force:在事务提交之前该事务所有更新必须被写到磁盘上

No-Steal+Force

性能差,需要等待修改被写到磁盘上才能顺利commit

不需要undo,因为aborted事务不会被写到磁盘上

不需要redo,因为只有成功写入才能提交

Shadow Paging

将数据保存两份:master和shadow,事务在shadow上作修改,commit之后,shadow成为master

No-Steal+Force

Undo直接将root指向master,删掉shadow

不需要redo

Log-Based Recovery

Write-Ahead Logging (WAL)

DBMS must write to disk the log file records that correspond to changes made to a database object before it can flush that object to disk

Buffer Pool Policy: STEAL + NO-FORCE

<Ti  start>
<Ti, X,  V1,  V2>
Ti:Transaction ID
X: Data object ID or Data object address
V1: value of X  before the write (old value)
V2: value of X  after the write (new value)
<Ti  commit> / <Ti  abort> 
<Ti  End>

Group Commit

WAL Buffer写满了会直接刷盘

此情况下T2需要确认T1的commit被刷盘才能commit

image-20240622141513167

image-20240622141653043

Physical and Logical

Physical:记录物理地址信息,更新了哪个页,页内偏移是多少,值等

Logical:记录做了什么逻辑操作,例如update

Physiological:记录更新哪个页面,但记录slot而不是偏移

image-20240622142032426

Checkpoints

检查点之前所有的日志都被刷盘,所有被修改的数据块都被写入磁盘

对检查点之后commit的事务redo,对检查点之后没有commit的事务做undo。在检查点之前就完成的事务不做任何处理

Redo

image-20240623202306018

Undo

image-20240623202317746

image-20240623202351816

undo 忽略<Ti,Xj,V2>

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

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

相关文章

Ubuntu Apache2 搭建Gerrit 环境

一、前言 时隔多年&#xff0c;好久没有更新CSDN 博客了&#xff0c;主要原因有如下两点&#xff1a; 1、平时工作繁忙&#xff0c;无暇更新。 2、工作内容涉及信息安全&#xff0c;一些工作经验积累不便更新到互联网上。 最近一直在折腾搭建Gerrit 环境&#xff0c;最开始…

红酒邂逅时尚,品味生活的双重魅力,引领潮流新风尚

在繁华的都市中&#xff0c;红酒与时尚如同一对孪生姐妹&#xff0c;共同诠释着品味生活的双重魅力。红酒&#xff0c;那深邃的色泽中蕴藏着千年的历史与文化&#xff1b;时尚&#xff0c;那流转的光影中凝聚着时代的潮流与个性。当两者相遇&#xff0c;便碰撞出了特别的火花&a…

BEVDistill

摘要 将激光雷达检测器纳入多视图 3D 物体检测&#xff0c;在 BEV 空间中统一图像和激光雷达特征&#xff0c;让图像BEV特征自适应学习点云BEV特征。 背景 LiDAR 点可捕获精确的 3D 空间信息&#xff0c;为基于相机的目标检测提供自然指导。鉴于此&#xff0c;最近的相关工作…

Handling `nil` Values in `NSDictionary` in Objective-C

Handling nil Values in NSDictionary in Objective-C When working with Objective-C, particularly when dealing with data returned from a server, it’s crucial (至关重要的) to handle nil values appropriately (适当地) to prevent unexpected crashes. Here, we ex…

ModbusRTU协议报文解析

ModbusRTU协议报文解析 报文格式&#xff1a; 设备地址/从站地址&#xff1a; 1个字节 指定目标设备地址&#xff08;从站地址&#xff09; 功能码&#xff1a;1个字节 功能码在modbus协议用于表示信息帧的功能&#xff0c;例如读取线圈状态、读取寄存器等。 数据&#xff…

SSRF漏洞原理与案例分析

一、什么是SSRF漏洞 SSRF (Server-Side Request Forgery&#xff1a;服务器端请求伪造)是一种由攻击者构造请求&#xff0c;由服务端发起请求的安全漏洞。一般情况下&#xff0c;SSRF攻击的目标是外网无法访问的内部系统(正因为请求是由服务端发起的&#xff0c;所以服务端能请…

论文速递 | Management Science 4月文章合集(下)

编者按 在本系列文章中&#xff0c;我们梳理了运筹学顶刊Management Science在2024年4月份发布有关OR/OM以及相关应用的13篇文章的基本信息&#xff0c;旨在帮助读者快速洞察领域新动态。本文为第二部分&#xff08;2/2&#xff09;。 推荐文章1 ● 题目&#xff1a;Social Le…

HarmonyOS应用开发——Hello World

下载 HUAWEI DevEco Studio: https://developer.harmonyos.com/cn/develop/deveco-studio/#download 同意&#xff0c;进入配置页面&#xff1a; 配置下载源以及本地存放路径&#xff0c;包括nodejs和ohpm: 配置鸿蒙SDK路径&#xff1a; 接受协议&#xff1a; 确认无误后&#…

面试-细聊synchronized

1.线程安全问题的主要诱因&#xff1a; 存在多条共享数据(临界资源) 存在多条线程共同操作这些共享数据 解决问题的根本方法&#xff1a; 同一时刻有且仅有一个线程在操作共享数据&#xff0c;其他线程必须等到该线程处理完数据后在对共享数据进行操作。 2.synchroized锁 分…

边缘计算为企业解决数据问题,提升业务效率和竞争力-天拓四方

企业在当前数字化时代面临着一系列具体的问题和挑战&#xff0c;这些问题往往与数据处理、实时响应、安全性以及运营成本等方面密切相关。边缘计算作为一种新兴的计算模型&#xff0c;能够有效地帮助企业解决这些问题&#xff0c;提升业务效率和竞争力。 首先&#xff0c;企业…

清华、北大与微软推出Glyph-ByT5-v2,精准生成文字海报,支持10种语言,效果炸裂

前言 在 AI 领域&#xff0c;文生图技术已经取得了令人惊叹的进展&#xff0c;但如何将文字精准地融入图像&#xff0c;并支持多种语言&#xff0c;一直是研究人员面临的挑战。为了解决这一难题&#xff0c;清华大学、北京大学和微软亚洲研究院的研究人员合作推出了 Glyph-ByT…

网络安全等级保护测评

网络安全等级保护 《GB17859 计算机信息系统安全保护等级划分准则》 规定计算机信息系统安全保护等级共分五级 《中华人民共和国网络安全法》 “国家实行网络安全等级保护制度。 等级测评 测评机构依据国家网络安全等级保护制度规定&#xff0c;按照有关 管理规范和…

泰迪智能科技与成都文理学院人工智能与大数据学院开展校企合作交流

近日&#xff0c;在推动高等教育与产业深度融合的背景下&#xff0c;成都文理学院人工智能与大数据学院携手广东泰迪智能科技股份有限公司开展“专业建设交流会”。人工智能与大数据学院院长胡念青、院长助理陈坚、骨干教师刘超超、孙沛、赵杰、文运、胡斌、邹杰出席本次交流会…

二级web基础操作题练习

---------要求--------- 利用HTML和CSS实现如图所示页面&#xff1a; ---------代码示例--------- 分析&#xff1a;该页面包含一个标题、一个副标题、“姓名信息”的表格&#xff0c;并且有一段文字提示用户仔细填写&#xff0c;使用内联CSS来控制HTML页面的视觉外观&…

TiDB 资源管控的对撞测试以及最佳实践架构

作者&#xff1a; GreenGuan 原文来源&#xff1a; https://tidb.net/blog/bc405c21 引言 TiDB 是一个存算分离的架构&#xff0c;资源管控对这种分离的架构来说实现确实有非常大的难度&#xff0c;TiDB 从 7.1 版本开始引入资源管控的概念&#xff0c;在社区也有不少伙伴测…

SpringUtils.getBean 空指针异常问题

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 今天在新的jeecg-boot里加入下面的代码 /*** 部门经理处理类** author nbacheng* date 2023-08-06*/ AllArgsConstructor Component("DepManagerHandler") DependsOn({"Sp…

el-form重置后input无法输入问题

新增用户遇到的问题&#xff1a; 如果你没有为 formData 设置默认值&#xff0c;而只是将其初始化为空对象 {}&#xff0c;则在打开dialog时&#xff0c;正常输入&#xff0c; formdata会变成如下 但是&#xff0c;打开后&#xff0c;直接使用 resetFields 或直接清空表单&…

封装vuetify3中v-time-picker组件,并解决使用时分秒类型只能在修改秒之后v-model才会同步更新的问题

目前时间组件还属于实验室组件&#xff0c;要使用需要单独引入&#xff0c;具体使用方式查看官网 创建公共时间选择器组件 common-time-pickers.vue 子组件页面 <template><div><v-dialog v-model"props.timeItem.isShow" activator"parent&q…

vxe-list做列表虚拟滚动时,底部间距的优化

已知vxe-list在数据超出一定行时会自动启用纵向虚拟滚动配置&#xff0c;默认效果如图&#xff1a; 但是在滚动中我们发现有时列表底部间距不一致&#xff0c;而且会出现在感官上底部空白过多的情况&#xff1a; 这时候我们想让列表恰好显示完全应该怎么做呢&#xff0c;查看官…

DLS平台:GPT-5预计于2025年底至2026年初发布,将实现“博士水平”智能

摘要 OpenAI首席技术官Mira Murati近日透露&#xff0c;GPT-5可能推迟到2025年底或2026年初发布。这一消息打破了市场对GPT-5在2023年底或2024年夏季发布的预期。尽管推迟&#xff0c;但GPT-5将实现显著的性能飞跃&#xff0c;在特定任务中达到“博士水平”的智能。这标志着人…