oceanbase 4.4.2版本major compaction方案:每日凌晨触发一次 vs 冻结次数达到阈值自动触发,帮我评估一下两种方案的优缺点,并给出配置方式
@论坛小助手 坛
根据您提出的需求,OceanBase提供了两种主要的方式来触发Major Compaction(合并):每日凌晨自动触发一次和当冻结次数达到特定阈值时自动触发。这两种方式各有优势与劣势,具体如下:
优点:
缺点:
优点:
缺点:
针对上述两种方案,在OceanBase 4.4.2版本中,您可以使用租户级别的配置项major_compact_trigger来进行设置。该参数用于控制转储多少次后会触发一次Major Compaction。关于major_compact_trigger的具体说明,请参考文档片段1: minor_freeze_times(尽管标题提到的是minor_freeze_times,但内容中提到了如何通过major_compact_trigger来代替旧版本中的minor_freeze_times功能)。
若选择按日定时触发:
MAJOR FREEZE命令的方式间接达到目的。详情请见文档片段3: 手动控制合并。若选择按冻结次数触发:
major_compact_trigger为你期望的值即可。例如,如果你希望每累积100次转储后触发一次合并,那么就将major_compact_trigger设为100。设置方法通常是在创建租户时指定或者后续通过修改租户配置来完成。综上所述,选择哪种方案取决于您的具体需求以及系统的工作负载特性。如果您更倾向于稳定性和可预见性,推荐采用每日凌晨定时触发的方式;若您追求更高的效率及自适应能力,则依据冻结次数触发可能更为合适。无论采取哪种策略,都建议密切关注系统性能变化,并据此做出相应调整。
详情请参考:
这个确实需要具体问题具体分析,跟业务量和业务形式有关系吧
先赞后看
学习了学习一下
不管咋样 总是可能遇到问题。没有一种业务是有一定的完全性规律性
如果是怕业务任务失败那不简单,等结束了或自行停了再弄,毕竟业务更重要
学习
两种模式的选择应该还是取决于业务特性,我们目前是定时
结合起来。
对于compact问题,除了文中提到的方法,还可以考虑freeze和minor的结合使用。
这篇文章对oceanbas的讲解非常到位。
干货满满,收藏起来慢慢消化。
学习
打卡打卡
4.6版本有窗口合并,这个特性应该挺好用的
有的业务不能停,比如说安全类业务,要随时能响应,黑客就喜欢挑你脆弱的时候搞事情