⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠ You can decompress Drawing data with the command palette: ‘Decompress current Excalidraw file’. For more info check in plugin settings under ‘Saving’

Excalidraw Data

Text Elements

XLogRecData

hdr_rdt

  1. 首先WAL记录是以XLogRecData链的结构组装的, 其中第一个节点为XLogRecord,即WAL记录的头部部分

WAL header结构

固定头部

可变头部

xl_tot_len:记录的总长度

xl_xid:事务id

xl_prev:指向前一个记录的指针

xl_info:一些标志位 xl_rmid:记录的资源管理器 xl_crc:记录的CRC校验和

很明显,虽然是头部, 但是很多信息是需要在数据写完之后才能填充的

可变头部就得详细说明了,毕竟数据部分的元数据就是组织在这里的

XLogRecordBlockHeader

固定

XLogRecordBlockHeader

XLogRecordBlockHeader

根据是否做full-page image,有一个可选的XLogRecordBlockImageHeader头

根据是否做了压缩,有一个可选的XLogRecordBlockCompressHeader头

虽然是有逻辑上的层级关系, 但是在内存当中是连续的

头部与XLogRecData中的节点基本上是对应的,虽然不是一对一的关系

Embedded Files

d9bfd3b48af8da0683ff65eda97b4ffb26b929f5: Pasted Image 20240620204611_486.png