Redo log(重做日志)和Binlog(二进制日志)有何不同

Redo log(重做日志)和Binlog(二进制日志)是MySQL中两种不同的日志机制,它们的功能和使用场景有所不同。

  1. Redo log(重做日志):

    • Redo log是InnoDB存储引擎特有的日志机制,用于确保数据库的事务持久性和一致性。
    • Redo log记录了对数据库所做的更改,包括插入、更新和删除等操作,以物理方式记录。
    • Redo log的写入是顺序的,并且是在事务进行过程中实时写入,以确保事务的持久性,即使数据库发生崩溃也能够恢复数据。
    • Redo log以固定大小的文件组(Redo log组)的形式存储,一般有多个文件,用于轮流写入。
  2. Binlog(二进制日志):

    • Binlog是MySQL的通用日志机制,记录了所有对数据库的更改操作,包括DDL语句和DML语句。
    • Binlog以逻辑格式记录,即记录了哪些数据被更改了,但不记录具体的更改细节。
    • Binlog的写入是异步的,会在事务提交后才写入,因此在数据库崩溃的情况下,可能会丢失一部分已提交但未写入Binlog的数据。
    • Binlog以二进制文件的形式存储,可以通过MySQL提供的工具进行查看和恢复。

尽管Redo log和Binlog都是MySQL中的日志机制,但它们的设计目的和使用方式不同。Redo log主要用于确保事务的持久性和恢复性,而Binlog主要用于数据库的备份和复制。

ps: 其中对于物理记录和逻辑记录的区别:

  1. 定义:

    • 逻辑记录:逻辑记录是对数据库中某个实体或关系的抽象描述,它包含了实体或关系的属性和关联关系。
    • 物理记录:物理记录是数据库中实际储存数据的单元,它是数据库在存储介质上的实际表示。
  2. 表示:

    • 逻辑记录:逻辑记录是以逻辑结构的方式来表示数据,可以是表格、图表、文本等形式。
    • 物理记录:物理记录是以物理结构的方式来表示数据,通常是以二进制的形式储存在磁盘或其他存储介质上。
  3. 储存:

    • 逻辑记录:逻辑记录不直接储存在物理介质上,而是通过数据库管理系统(DBMS)进行管理和操作。
    • 物理记录:物理记录直接储存在物理介质上,例如磁盘上的文件或数据块。
  4. 访问和操作:

    • 逻辑记录:逻辑记录是用户和应用程序与数据库进行交互的接口,通过逻辑记录可以查询、插入、更新和删除数据。
    • 物理记录:物理记录是数据库中实际储存数据的单位,用户和应用程序无法直接访问和操作物理记录,需要通过逻辑记录和DBMS来进行操作。

总结起来,逻辑记录是数据库中对实体或关系的抽象描述,以逻辑结构的方式表示数据,不直接储存在物理介质上;而物理记录是数据库中实际储存数据的单位,以物理结构的方式表示数据,直接储存在物理介质上。用户和应用程序通过逻辑记录进行数据的访问和操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值