下列哪些操作会触发 OceanBase 小规模增量合并(Minor Merge)

下列哪些操作会触发 OceanBase 小规模增量合并(Minor Merge)?
A. MemTable 写满触发转储,增量文件数量达到阈值
B. 配置定时合并任务,到达调度窗口自动执行
C. 手动执行 ALTER SYSTEM MINOR FREEZE
D. 客户端新建数据库连接会话
选哪个

1 个赞

AAAA

A. MemTable 写满触发转储,增量文件数量达到阈值

选A

https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000819429
Compaction 类型

LSM-Tree 的 Compaction 操作是对数据的一次重新整合,其实质是多路归并排序,将若干个 SSTable 按照 Rowkey 递增排序,最后输出为一个 SSTable。

在 OceanBase 数据库中,Compaction 有以下几种类型:

Mini Compaction:将 MemTable 转变成 Mini SSTable。可以通过自动或手动方式触发。

Minor Compaction:将多个 Mini SSTable 合成一个新的 Mini SSTable 或者多个 Mini SSTable 与一个 Minor SSTable 合成一个新的 Minor SSTable。由后台调度线程触发,不可手动触发。

Medium Compaction:将指定分区原来的基线 SSTable(Major SSTable)与该分区所有的 Mini SSTable/Minor SSTable 整体合并为一个新的 Major SSTable。可以通过自动或手动方式触发。

Major Compaction:将租户下的所有分区原来的基线 SSTable(Major SSTable)与所有的 Mini SSTable/Minor SSTable 整体合并为一个新的 Major SSTable。可以通过自动或手动方式触发。

Meta Major Compaction:一种特殊的 Compaction 类型,将某个指定时间点之前的数据合成一个 Meta Major SSTable,其数据格式与 Major SSTable 一样,不包含多版本数据和未提交事务数据。由后台调度线程触发,不可手动触发。

转储与合并

转储包含两个过程:Mini Compaction 和 Minor Compaction。当 MemTable 的大小超过一定的阈值时,需要将 MemTable 中的数据转存到 Mini SSTable 中以释放内存,该过程称为 Mini Compaction。随着用户数据的写入,Mini SSTable 的数量越来越多,当 Mini SSTable 的数量超过一定的阈值时,后台会自动触发 Minor Compaction。转储(Mini Compaction)会生成新的 Mini SSTable。当转储(Mini Compaction)的次数超过一定阈值时,或者在每天的业务低峰期,系统会将基线 SSTable(Major SSTable)与之后转储的增量 SSTable(Mini/Minor SSTable)合并为一个新的 Major SSTable,该过程称为 合并。