OceanBase 的数据文件以宏块(Macro Block)为单位组织数据,每个宏块大小为 2MB。宏块内部又划分出很多个16K(压缩前的大小)大小的微块(Micro Block),而每个微块里面包含多个行(Row)。OceanBase 内部 IO 的最小单位是微块。

    宏块可以合并和分裂。由于删除数据,相邻的几个宏块中的所有行可以在一个宏块中存放时,相邻的多个宏块会合并成一个宏块;由于宏块内插入和更新数据导致空间不足,需要将数据存放到多个宏块中时,宏块会进行分裂。