当前位置:网站首页>数据库日志
数据库日志
2022-06-27 18:05:00 【无敌的神龙战士】
redo log
redo log:重做日志,用于记录事务操作的变化,确保事务的持久性。redo log是在事务开始后就开始记录(并不是事务commit时才记录,因为整个事务改的可能有很多,如果在commit的时候才写redo log的话,可能花的时间特别长了。而是事务begin开始后就记录了,随着事务执行过程中对数据的修改,实时写redo log),不管事务是否提交都会记录下来,在异常发生时(如数据持久化过程中掉电),InnoDB会使用redo log恢复到掉电前的时刻,保证数据的完整性。

innodb_log_buffer_size默认是16M,就是redo log缓冲区的大小,它随着事务开始,就开始写redolog,如果事务比较大,为了避免事务执行过程中花费过多磁盘IO,可以设置比较大的redo log缓存,节省磁盘IO。往磁盘上刷是有刷新的时机。达到时机就花费磁盘IO,如果buffer比较大,会更慢的达到刷新的时机,效率更快。
InnoDB修改操作数据,不是直接修改磁盘上的数据,实际只是修改Buffer Pool中的数据。InnoDB总是先把Buffer Pool中的数据改变记录到redo log中,用来进行崩溃后的数据恢复。 优先记录redo log,然后再找时机慢慢的将Buffer Pool中的脏数据刷新到磁盘上。
innodb_log_group_home_dir指定的目录下的两个文件:ib_logfile0,ib_logfile1,该文件被称作重做日志。
buffer pool缓存池:(B+树索引,自适应哈希)
作用:加速读和加速写,直接操作data page,写redo log修改就算完成,有专门的线程去做把buffer pool中的dirty page写入磁盘。
undo log回滚日志
undo log:回滚日志,保存了事务发生之前的数据的一个版本,用于事务执行时的回滚操作,同时也是实现多版本并发控制(MVCC)下读操作的关键技术。
undolog回滚日志的主要作用:
- 1.事务发生错误时侯回滚rollback,回滚日志(数据在更新的时候,把改之前的数据存下来在回滚日志中,目的是为了事务万一出错回滚了或者我们手动回滚的时候,能够把最初的数据在回滚日志中找到)
- 2.提供了MVCC的非锁定读(快照读)
边栏推荐
猜你喜欢

Blink SQL built in functions

带你认识图数据库性能和场景测试利器LDBC SNB

可观测,才可靠:云上自动化运维CloudOps系列沙龙 第一弹

数智化进入“深水区”,数据治理是关键

binder hwbinder vndbinder

Observable, reliable: the first shot of cloudops series Salon of cloud automation operation and maintenance

GIS遥感R语言学习看这里

308. 二维区域和检索 - 可变 线段树/哈希

華大單片機KEIL報錯_WEAK的解决方案

Bit. Store: long bear market, stable stacking products may become the main theme
随机推荐
429-二叉树(108. 将有序数组转换为二叉搜索树、538. 把二叉搜索树转换为累加树、 106.从中序与后序遍历序列构造二叉树、235. 二叉搜索树的最近公共祖先)
UE4随笔:FString、FName 与 FText
Connection integration development theme month | drivers of enterprise master data governance
Golang map 并发读写问题源码分析
Character interception triplets of data warehouse: substrb, substr, substring
经纬度分析
On thread safety
Erreur Keil de Huada Single Chip Computer La solution de Weak
shell脚本常用命令(四)
Photoshop layer related concepts layercomp layers move rotate duplicate layer compound layer
1028 List Sorting
openssl客户端编程:一个不起眼的函数导致的SSL会话失败问题
Common shell script commands (III)
Seven phases of CMS implementation
C# 二维码生成、识别,去除白边、任意颜色
redis集群系列三
GIS remote sensing R language learning see here
形参的默认值-及return的注意事项-及this的使用-和箭头函数的知识
Function key input experiment based on stm32f103zet6 Library
External interrupt experiment based on stm32f103zet6 library function