当前位置: 首页 > news >正文

网站建设公司找哪家好如何软件网站优化公司

网站建设公司找哪家好,如何软件网站优化公司,纯css做的响应式网站,云南做网站哪家便宜redo log(重做日志)redo log 是什么redo log 的主要作用Redo 的组成redo如何保证 事务的持久性 undo log(撤销日志/回滚日志)undo log 是什么redo log 的主要作用undo的存储位置 如何区分 redo log和undo log感谢 💖参…

  • redo log(重做日志)
    • redo log 是什么
    • redo log 的主要作用
    • Redo 的组成
    • redo如何保证 事务的持久性
  • undo log(撤销日志/回滚日志)
    • undo log 是什么
    • redo log 的主要作用
    • undo的存储位置
  • 如何区分 redo log和undo log
  • 感谢 💖
  • 参考 🔎

首先,事务有四大特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。
一个事务,要么全部执行,要么全部不做。事务的隔离性由锁机制实现,原子性、一致性和持久性由事务的redo 日志和undo 日志来保证。

先来分别看看redo log和 undo log

redo log(重做日志)

redo log 是什么

redo log主要是物理Redo日志,记录的是数据页的物理变化。即对数据库的所有修改,包括插入、更新和删除操作。能够保证事务的持久性和一致性。

redo log 的主要作用

redo log的主要作用是用于数据库的崩溃恢复。可以根根据edo log中记录的信息进行重新应用,以恢复到故障点之前。

Redo 的组成

Redo log可以简单分为以下两个部分:

  • 一是在内存中会有一个重做日志缓冲 (redo log buffer),在修改完数据后将新的数据写入磁盘中之前,会现在内存中的redo log buffer中记录下来。不过它是是易失的
  • 二是磁盘中会有一个重做日志文件 (redo log file),当事务commit时。会将redo log buffer中的内容刷新到 redo log file。这里的数据是持久的

所以我们知道,在内存中修改完数据页之后,这个时候还没有将这个数据页刷如磁盘,这个页就叫脏页(dirty page)。这个时候,会在内存中的redo log buffer写入redo日志,记录的是数据被修改后的值。这里注意在内存中是先修改数据页再写日志。接着会将内存中的redo日志写会磁盘中的redo log file,之后再将脏页刷入磁盘。

redo如何保证 事务的持久性

1.写入磁盘的顺序和持久性:在事务执行期间,MySQL首先将事务的更改写入Redo log缓冲区,然后异步将Redo log缓冲区的内容定期刷新到磁盘上的Redo log文件中。这个过程是按顺序执行的,确保了Redo log的顺序性。即使在事务提交之前,Redo log的内容也已经被持久地写入磁盘。这确保了即使系统崩溃,已提交的事务的更改也可以被重放,从而维护数据库的一致性
2. Redo log文件的循环写入:Redo log文件是循环写入的,一旦一个Redo log文件写满,MySQL会开始写入下一个。如果系统运行足够长的时间,旧的Redo log文件可能被覆盖。然而,在写入新的Redo log文件之前,MySQL会确保将所有相关的更改写入磁盘,以保证已提交的事务的持久性
3. 恢复过程:如果MySQL发生故障,如崩溃或断电,系统会在重新启动时执行恢复过程。在这个过程中,MySQL会检查Redo log文件,找到最后一个已经提交的事务,然后从Redo log中重新执行这些事务的更改,以将数据库恢复到一致的状态。这确保了在故障后,数据库可以重新回到最后一个一致的状态

undo log(撤销日志/回滚日志)

undo log 是什么

undo log是逻辑日志,主要记录的是数据的逻辑变化,为了在发生错误时回滚之前的操作,需要将之前的操作都记录下来,然后在发生错误时才可以回滚。

redo log 的主要作用

undo日志只将数据库逻辑地恢复到原来的样子,在回滚的时候,它实际上是做的相反的工作,比如一条INSERT ,对应一条 DELETE,对于每个UPDATE,对应一条相反的 UPDATE,将修改前的行放回去。undo日志用于事务的回滚操作进而保障了事务的原子性

undo的存储位置

在InnoDB存储引擎中,undo存储在回滚段(Rollback Segment)中,每个回滚段记录了1024个undo log segment,而在每个undo log segment段中进行undo 页的申请,在5.6以前,Rollback Segment是在共享表空间里的,5.6.3之后,可通过 innodb_undo_tablespace设置undo存储的位置

如何区分 redo log和undo log

  • 目的和功能:

    • Redo Log (重做日志): 主要用于数据库的持久性和恢复,记录了对数据的实际更改,以便在系统崩溃时能够重新执行这些更改,确保数据的一致性和持久性。它是用于恢复的,以保证数据的可恢复性
    • Undo Log (撤销日志): 主要用于事务的隔离性、回滚和多版本并发控制 (MVCC),记录了对数据的逆操作,以便能够回滚事务或提供读一致性视图。它是用于维护事务的隔离性和一致性的
  • 存储位置和方式:

    • Redo Log: 存储在独立的redo log文件中,通常是多个文件,用于记录事务的持久性更改。这些文件是循环写入的,以便不断覆盖旧的redo log记录
    • Undo Log: 存储在表空间中,通常是InnoDB存储引擎的一部分,用于记录事务的逆操作,以便回滚或提供读一致性视图
  • 记录的内容:

    • Redo Log: 记录了对数据的实际更改,包括插入、更新和删除操作的详细信息,以便能够重放这些更改
    • Undo Log:主要记录了数据的逻辑变化,比如一条INSERT语句,对应一条DELETE的undo log,对于每个UPDATE语句,对应一条相反的UPDATE的undo log,这样在发生错误时,就能回滚到事务之前的数据状态
  • 使用场景:

    • Redo Log: 在数据库崩溃或故障时,用于恢复数据到最新一致状态
    • Undo Log: 用于事务的隔离性、回滚和MVCC实现,以确保事务之间的数据隔离和一致性

感谢 💖

好啦,这次的分享就到这里,感谢大家看到这里🤞

参考 🔎

https://www.jianshu.com/p/20e10ed721d0
https://zhuanlan.zhihu.com/p/190886874

http://www.ritt.cn/news/2162.html

相关文章:

  • 除了Joomla用什么做网站好淘宝优化
  • 单页网站怎么做竞价seo优化软件有哪些
  • 区块链软件开发seo优化名词解释
  • 网上做网站广告需要身份证吗电商网站建设步骤
  • 龙岗网站制作seo翻译
  • 做购物网站公司惠州关键词排名提升
  • 个人网站如何制作营销软文
  • 舟山新闻最新消息海外seo网站推广
  • 凡客网站规划与建设ppt网站网址查询工具
  • 免费建网站空间专业放心关键词优化参考价格
  • 青岛哪里有做网站的产品网络推广的方法
  • 男女做那个的网站汕头网站快速优化排名
  • 比较好的做外贸网站seo排名怎么样
  • vs2008 手机网站开发酒店如何进行网络营销
  • 海口自助建站系统杭州seo网站优化公司
  • 如何自己创造网站seo工具大全
  • 如何提高网站pr值今日最新消息新闻
  • 有pc网站网站优化排名怎么做
  • 网站建站素材连云港seo公司
  • 高校网站建设方案专门培训seo的网站
  • 网站建设的特点2022年明星百度指数排行
  • 自己如何免费做网站线上营销的优势
  • 长宁区网站建设网2022真实新闻作文400字
  • 用iis做的网站怎么更改端口山东建站
  • 小型网站运营合肥网站优化平台
  • 免费开源企业网站网络营销推广难做吗
  • 重庆品牌网站建设公司网站推广的概念
  • 怎样创建网站收益软文广告成功案例
  • 骏域网站建设品牌推广的三个阶段
  • 婚纱摄影团购网站模板站长工具查询域名