转储的触发分为自动触发和手动触发两种。
自动触发
租户的 MemTable 内存使用达到触发条件即触发转储。租户在创建时指定了租户的内存大小,租户的内存分为动态可伸缩内存和 MemTable。OceanBase 数据库会根据 MemTable 的内存使用比例决定何时进行转储或者合并释放 MemTable 的内存。该比例由配置项 freeze_trigger_percentage
控制,表示当 MemStore 内存占用到达其上限的百分比后就进行冻结 freeze(转储和合并的前置动作),通过 minor_freeze_times
参数来判断当 MemStore 内存使用达到 freeze_trigger_percentage
时进行转储还是合并。 通过设定 minor_freeze_times
的值为 0 可以关闭转储,进而每次当 MemStore 内存使用达到 freeze_trigger_percentage
时进行合并。由于合并带来的影响比转储大,通常不建议关闭转储功能。
手动触发
关于手动触发转储的具体信息请参见 转储操作 。