oceanbase 合并到底是集群级别还是租户级别

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】3.1.4
【问题描述】合并是集群级别还是租户级别?
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

根据文档库中的信息,在 OceanBase 数据库中,合并(Major Compaction)是按租户级别进行的。

OceanBase 的合并操作主要针对租户内的数据进行整理和优化,它是由每个租户的 Root Service (RS) 负责调度和执行的。当触发合并时,系统会在租户级别选取一个全局的快照点,然后对该租户下的所有分区基于这个快照点进行 Major Compaction。这意味着每次合并都是针对一个特定租户的所有分区进行的,而不是整个集群。

因此,可以明确地说,OceanBase 的合并操作是租户级别的,而不是集群级别的。每个租户可以独立地进行合并操作,而不会影响到其他租户。

如果您想要触发合并操作,可以通过系统租户执行 ALTER SYSTEM MAJOR FREEZE 命令来发起租户级别的合并。例如:

ALTER SYSTEM MAJOR FREEZE TENANT = tenant_name;

其中 tenant_name 是您想要触发合并的租户名称。您还可以使用 all_userall 参数来触发所有用户租户的合并,或者使用 all_meta 参数来触发所有 Meta 租户的合并。

综上所述,OceanBase 的合并操作是租户级别的。如果您还有其他关于合并的具体问题,欢迎继续提问。

具体信息可参考以下文档:

3.X是集群级别的,4.X是租户级别的

V3.X:
合并是集群上所有的分区在一个统一的快照点和全局静态数据进行合并的行为,是一个全局的操作,最终形成一个全局快照。

V4.X:
合并是租户在一个统一的快照点与其对应的静态数据进行合并的行为,最终会形成一个租户级的快照。

3.1.4版,租户的内存使用率超过一定比例,同时转储次数达到阈值会触发合并。但是obcp有道题,怎么理解第四个选项呢

3.x版本是集群级别的吧