文件的逻辑结构和物理结构各有哪些基本形式

2025-03-23 07:14:11
推荐回答(3个)
回答1:

Log File物理结构

从 ib_logfile0和 ib_logfile1这两个文件的物理结构可以看出,在Log Header部分还是有些许差异的, ib_logfile0会多一些额外的信息,主要是checkpoint信息。

并且每个Block的单位是512字节,对应到磁盘每个扇区也是512字节,因此redo log写磁盘是原子写,保证能够写成功,而不像index page一样需要double write来保证安全写入。

我们依次从上到下来看每个Block的结构

Log File Header Block

  • Log Goup ID,可能会配置多个redo组,每个组对应一个id,当前都是0,占用4字节

  • Start LSN,这个redo log文件开始日志的lsn,占用8字节

  • Log File Number,总是为0,占用4字节

  • Created By,备份程序所占用的字节数,占用32字节

  • 另外在ib_logfile0中会有两个checkpoint block,分别是 LOG_CHECKPOINT_1/ LOG_CHECKPOINT_2,两个记录InnoDB Checkpoint信息的字段,分别从文件头的第二个和第四个block开始记录,并且只在每组log的第一个文件中存在,组内其他文件虽然没有checkpoint相关信息,但是也会预留相应的空间出来。这里为什么有两个checkpoint的呢?原因是设计为交替写入,避免因为介质失败而导致无法找到可用的checkpoint的情况。

    Log blocks

    请点击输入图片描述

    log block结构分为日志头段、日志记录、日志尾部

  • Block Header,占用12字节

  • Data部分

  • Block tailer,占用4字节

  • Block Header

    这个部分是每个Block的头部,主要记录的块的信息

  • Block Number,表示这是第几个block,占用4字节,是通过LSN计算得来的,占用4字节

  • Block data len,表示该block中有多少字节已经被使用了,占用2字节

  • First Rec offet,表示该block中作为第一个新的mtr开始的偏移量,占用2字节

  • Checkpoint number,表示该log block最后被写入时的检查点的值,占用4字节

回答2:

逻辑结构:指一个文件在用户面前所呈现的形式.物理结构:指文件在文件存储器上的存储形式.
  逻辑结构有两种形式:①记录式文件(有结构式文件).②字符流式文件(无结构式文件),也称流式文件.
  物理结构:所谓文件系统的物理结构是指数据存放在硬盘上时硬盘磁粉的排列形状.
物理结构的形式:①连续文件结构②串联文件结构③索引文件结构④散列文件结构.

回答3:

逻辑结构:指一个文件在用户面前所呈现的形式。物理结构:指文件在文件存储器上的存储形式。
  逻辑结构有两种形式:①记录式文件(有结构式文件)。②字符流式文件(无结构式文件),也称流式文件。
  物理结构:所谓文件系统的物理结构是指数据存放在硬盘上时硬盘磁粉的排列形状。
物理结构的形式:①连续文件结构②串联文件结构③索引文件结构④散列文件结构。