作者:公祺,一个专注于 OBKV 的程序员;海芊,一个致力于当网红的 OceanBase 文档工程师。个人频道:Amber loves OB1. 微块和宏块的关系OceanBase 数据库的存储引擎采用了基于 LSM-Tree 的架构,把基线数据和增量数据分别保存在磁盘(SSTable)和内存(Me
作者:公祺,一个专注于 OBKV 的程序员1.宏块的概述在上一篇微块的存储格式中已经介绍了微块和宏块的关系,宏块是处于 SSTable 和微块之间的数据结构,OceanBase 中的宏块为2MB的定长数据块。众所周知,OceanBase 中微块是读 IO 最小单元,这是因为微块读处在用户请求的关键路
在上一篇文章,我们通过走读OceanBase宏块的代码,对其存储格式有了初步的了解,我们知道微块作为读I/O最小单元,宏块是写I/O的最小单元。那我要考考你了,OceanBase的垃圾回收(GC)和坏块检查是以微块还是宏块作为单位呢?答案很明显,就是宏块。因为既然是以宏块为单位写,所以肯定是以宏块为