适用版本
OceanBase 数据库所有版本。
问题现象
导数的时候所有数据都会转储为 mini/minor sstable,随着数据的导入,mini/minor sstable 里的数据会越来越多,像滚雪球一样。
SSTable 数量会变多,参加 minor compaction 的数据也会越来越多,所以会越来越慢,可能会有两个影响:
mini sstable 数量多导致查询变慢。
mini sstable 数量多,直接把 table store 打爆,导致不能转储,影响写入。
解决方法
推荐在导数的时候适时发起合并,让数据尽快合入 major sstable,可以通过合理设置 major_compact_trigger 参数来指定租户转储多少次就自动触发一次租户合并。
合并的好处:
让增量数据快速合到 major sstable 中,减少 mini/minor sstable 数据量,可以加速 minor compaction。
查询链路变短,可以加速查询。