OceanBase 存储层代码解读(二)微块存储格式 作者:公祺,一个专注于 OBKV 的程序员;海芊,一个致力于当网红的 OceanBase 文档工程师。个人频道:Amber loves OB 1. 微块和宏块的关系 OceanBase 数据库的存储引擎采用了基于 LSM-Tree 的架构,把基线数据和增量数据分别保存在磁盘(SSTable)和内存(MemTable)中,其中 SSTable 以宏块(Macro Block)为单位组织数据,每个宏块 数据运维 2024-05-07 LOVEHL^ˇ^
OceanBase 存储层代码解读(三)宏块存储格式 作者:公祺,一个专注于 OBKV 的程序员 1.宏块的概述 在上一篇微块的存储格式中已经介绍了微块和宏块的关系,宏块是处于 SSTable 和微块之间的数据结构,OceanBase 中的宏块为2MB的定长数据块。众所周知,OceanBase 中微块是读 IO 最小单元,这是因为微块读处在用户请求的关键路径上,为保证快速响应用户的请求,微块不能过大,所以微块的默认大小一般不超过16KB;而宏块作为写 数据运维 2024-05-07 剑圣无痕
OceanBase存储层代码解读(四):宏块的垃圾回收和坏块检查 在上一篇文章,我们通过走读OceanBase宏块的代码,对其存储格式有了初步的了解,我们知道微块作为读I/O最小单元,宏块是写I/O的最小单元。那我要考考你了,OceanBase的垃圾回收(GC)和坏块检查是以微块还是宏块作为单位呢?答案很明显,就是宏块。因为既然是以宏块为单位写,所以肯定是以宏块为单位进行清理和检查的。和本专题前几篇文章类似,本文主要通过走读相关代码,了解宏块垃圾回收和坏块检查的 数据运维 2024-05-07 大猫