• MySQL++:binlog edolog ndolog区别


    binlog       :二进制日志是mysql-server层的,主要是做主从复制,时间点恢复使用。

    redo log   :重做日志是InnoDB存储引擎层的,用来保证事务安全。

    undo log  : 回滚日志保存了事务发生之前的数据的一个版本,可以用于回滚,同时可以提供多版本并发控制下的读(MVCC),也即非锁定读。redo log。

    redo log在事务没有提交前,每一个修改操作都会记录变更后的数据,保存的是物理日志->数据。


    binlog 是一个二进制格式的文件,用于记录用户对数据库更新的SQL语句信息,但对库表等内容的查询不会记录由于是二进制文件,

    需使用mysqlbinlog解析查看主要作用:

    用于数据库的主从复制及数据的增量恢复ROW (行模式) :

    记录哪条数据修改了记录的是修改的那条记录的全部数据,即使只更新了-个字段, binlog 里也会记录所有字段的数据Statement (语句模式) :

    每一条会修改数据的sq都会记录在binlog中作用:用于复制,在主从复制中,从库利用主库上的binlog进行重播,实现主从同步。


    undo log有两个作用:

      提供回滚和多个行版本控制(MVCC)。

      在数据修改的时候,不仅记录了redo,还记录了相对应的undo,如果因为某些原因导致事务失败或回滚了,可以借助该undo进行回滚。

      undo log是采用段(segment)的方式来记录的,每个undo操作在记录的时候占用一个undo log segment。

    作用:保存了事务发生之前的数据的一个版本,可以用于回滚,同时可以提供多版本并发控制下的读(MVCC),也即非锁定读


    redo log作用:

      确保事务的持久性。

      防止在发生故障的时间点,尚有脏页未写入磁盘,在重启mysql服务的时候,根据redo log进行重做,从而达到事务的持久性这一特性。

    内容:物理格式的日志,记录的是物理数据页面的修改的信息,其redo log是顺序写入redo log file的物理文件中去的。

     

     

  • 相关阅读:
    python爬虫之urllib库(三)
    python爬虫之urllib库(二)
    认识CSS中css引入方式、选择器、文本样式设置以及显示模式
    认识CSS中盒子模型
    python爬虫之urllib库(一)
    认识CSS中css背景样式设置
    python爬虫之认识爬虫和爬虫原理
    认识CSS中css的三大特性:层叠性、继承性以及优先级
    认识HTML中表格、列表标签以及表单控件
    python-基础学习篇(八)
  • 原文地址:https://www.cnblogs.com/codingmode/p/16037081.html
Copyright © 2020-2023  润新知