暂无图片
暂无图片
8
暂无图片
暂无图片
暂无图片

OceanBase自动触发合并

2023-03-01
1066

本节主要介绍自动转储的触发机制。

租户在创建时指定了租户的内存大小,租户的内存分为动态可伸缩内存和 MemTable。当一个租户的 MemTable 内存的使用量达到 memstore_limit_percentage * freeze_trigger_percentage 所限制使用的值时,就会自动触发冻结(转储的前置动作),然后系统内部会再调度转储。当转储达到一定的条件时就会触发自动合并。

合并可以通过自动触发来完成。

前提条件

触发合并前,需要确保全局合并开关已开启,全局合并开关由集群级配置项 enable_major_freeze 控制,默认值为 True ,表示开启合并开关。

如果当前集群未开启全局合并开关,请参考以下操作开启全局合并开关。

  1. 使用 root 用户登录到数据库的 sys 租户。

  2. 确认全局合并开关是否已开启。

    obclient> SHOW PARAMETERS LIKE 'enable_major_freeze';
    
  3. 如果显示未开启,执行以下语句,开启合并开关。

    obclient> ALTER SYSTEM SET enable_major_freeze='True';
    

    关于配置项 enable_major_freeze 的更多信息,请参见 enable_major_freeze

自动合并的触发条件

开启全局合并开关后,自动触发合并的触发条件是,当一个租户的 MemTable 的内存使用达到了 freeze_trigger_percentage 设置的阈值,且转储次数已达到了 major_compact_trigger 设置的上限时,此时不会进行转储,而是直接进行合并。

更多freeze_trigger_percentage 、major_compact_trigger 等转储相关参数的说明及设置请参见 修改转储配置

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论