转储合并问题,Mini SStable 可以同时存在多个,那 Minor SStable 和 Major SStable 能存在一个还是多个?

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】转储合并问题,Mini SStable 可以同时存在多个,那 Minor SStable 和 Major SStable 能存在一个还是多个?
小合并 是不是指 Mini SStable → Minor SStable的过程 ?
大合并 是不是指 Minor SStable → Major SStable的过程?
【复现路径】问题出现前后相关操作
【问题现象及影响】

【附件】

另外,还有问题
1、小合并的触发,只能是mini sstable 个数等于minor_compact_trigger 时才触发吗,还有其他什么可以触发小合并的机制吗?
2、在小合并期间,增量数据是写入 memtable,写入不受影响;但是如果有大的查询呢,此时正在做小合并,是不是会影响查询呢?

https://www.oceanbase.com/docs/community-observer-cn-10000000000901448
这里有转储触发的条件介绍

查询合并期间不会受到影响,合并后查询效率会更高。

假如要查询的数据存在 Minor sstable中,而此时正在做小合并,这种情况不影响查询吗?

不会,合并不会修改原有的数据

1.minor sstable和major sstable只存在一个。4.0以前是有配置项可以保留多个major。
2.小合并这个说法不是一个准确的说法。如果是说major_compact_trigger参数中提到的,那么指的是冻结。
3.大合并是指mini/minor sstable → major sstable(不单单选取minor sstable)

2 个赞

好的,多谢老师

好的,谢谢老师

1.如果你把mini sstable->minor sstable的过程称作小合并的话,那么只有这个条件可以触发。
2.不影响。对于正在“小合并”的sstable都是读操作,为什么会影响呢