From d1e4dbeb7257938825feff035dda5a9d97c9701a Mon Sep 17 00:00:00 2001 From: liuyiwei <709224218@qq.com> Date: Wed, 8 Mar 2023 15:37:01 +0800 Subject: [PATCH] vault backup: 2023-03-08 15:37:01 Affected files: notes/programming/redolog.md --- notes/programming/redolog.md | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/notes/programming/redolog.md b/notes/programming/redolog.md index 5d4e7c9..67b1ab9 100644 --- a/notes/programming/redolog.md +++ b/notes/programming/redolog.md @@ -15,17 +15,9 @@ date modified: 2022-07-28, 23:31:25 --- -解释了这几个问题: - -- 形象理解 -- 是什么 -- 什么时候写入内存 -- 什么时候持久化到磁盘(或文件) -- 以什么方式写入文件 - # 作用 -更新记录不是立马写入磁盘,而是更新缓存在 [[Buffer Pool]] 中的页面,标记为脏页,等到一个合适的时机由后台线程把脏页写回磁盘。因为 [[事务]] 的持久性,只要事务一提交对数据库的修改是永久的,但此时其实还没有真正刷盘,故需要一种机制来实现只要事务一提交,即使系统崩溃或断电也能保证系统恢复后事务提交的影响已生效。 +更新记录不是立马写入磁盘,而是更新在 [[Buffer Pool]] 中缓存的页面,标记为脏页,等到一个合适的时机由后台线程把脏页写回磁盘。因为 [[事务]] 的持久性,只要事务一提交对数据库的修改是永久的,但此时其实还没有真正刷盘,故需要一种机制来实现只要事务一提交,即使系统崩溃或断电也能保证系统恢复后事务提交的影响已生效。 在事务执行过程中,对数据库的每处修改记录成一条条顺序的 redo 日志,**在事务提交时顺序写入磁盘对应的 redo log 文件**。 @@ -37,7 +29,7 @@ date modified: 2022-07-28, 23:31:25 # redo 日志写入过程 -redo 日志是物理日志,记录了物理级别页面修改(页面的某偏移量位置修改了哪些字节)。 +redo 日志是**物理日志**,记录了物理级别页面修改(页面的某偏移量位置修改了哪些字节)。 - Mini-Transaction 概念 - 含义:对页面的一次原子操作,简称 `mtr`