SQL Life

Oceanbase的转储与合并

时间:2021/6/4 19:57:31  作者:枫叶  来源:solgle.com  查看:1623  评论:0
内容摘要:OB转储与合并一:基于 LSM Tree 的实践:分层转储 为了优化转储越来越慢的问题,引入了“分层转储”机制: 1. 多层compaction策略:新增 L0 层:被冻结的 MemTable 会直接 flush 为 Mini SSTable,可同时存在多个Mini SSTabl...
OB转储与合并
 
一:基于 LSM Tree 的实践:分层转储
 为了优化转储越来越慢的问题,引入了“分层转储”机制:
 1. 多层compaction策略:新增 L0 层:被冻结的 MemTable 会直接 flush 为 Mini SSTable,可同时存在多个Mini SSTable。
 2. 架构变化: 3层 Vs 4层
   1. 3层架构:
 memtable             + minor sstable(L1) + major sstable (L2)
   2. 4层架构:
 memtable + mini sstable(L0) + minor sstable(L1) + major sstable (L2)
 3. 参数 minor_compact_trigger 控制L0层 Mini SSTable 总数
 4. 参数 major_compact_trigger 控制 memtable dump flush 次数达到时触发 major compaction
 
二:定时合并
 由major_freeze_duty_time参数控制定时合并时间,默认值晚上凌晨两点。
 可以修改参数控制合并时间:
  alter system set major_freeze_duty_time='02:00'
 
三:自动触发合并
 当租户的 MemStore内存使用率达到freeze_trigger_percentage参数的值, 
 并且转储的次数已经达到了minor_freeze_times参数的值,会自动触发合并。
 
四:手动合并
 可以在"root@sys"用户下,通过以下命令发起手动合并(忽略当前MemStore的使用率)
  alter system major freeze;
 
五:轮转合并
 通过参数 enable_merge_by_turn 开启或者关闭轮转合并。
 以ZONE为单位轮转合并,只有一个ZONE合并完成后才开始下一个ZONE的合并;合并整体时间变长。
 某一个ZONE的合并开始之前,会将这个ZONE上的Leader服务切换到其它ZONE;切换动作对长事务有影响。
 
六:可通过以下几项控制每日合并的策略:
 eg:
  alter system set enable_manual_merge = false;  -- 关闭手动合并
  alter system set enable_merge_by_turn = true;  -- 开启轮转合并
  alter system set zone_merge_order = 'z1,z2,z3';  -- 设置合并顺序,只对轮转合并有效。
  alter system set zone_merge_order = '';    -- 取消自定义合并顺序
 
 eg:
  alter system set enable_manual_merge = true;  -- 打开手动合并
  alter system start merge zone='z1';    --手动调度z1开始合并
  
由参数zone_merge_timeout定义超时合并时间阈值;默认值为'3h'(3个小时)。

七:手动触发转储
ALTER SYSTEM MINOR FREEZE;   --当什么选项都不指定时,默认对所有observer上的所有租户执行转储。
手动触发的转储次数不受参数minor_freeze_times的限制,即手动触发的转储次数即使超过设置的次数,也不会触发合并(Major Freeze)。
 
八:转储场景的常用配置方法
1. 减小freeze_trigger_percentage的值(比如40),使MemStore尽早释放,进一步降低MemStore写满的概率。
2. 增大minor_freeze_times的值,尽量避免峰值交易时段触发合并(Major Freeze),将合并的时机延后到交易低谷时段的每日合并(major_freeze_duty_time)。
 

标签:Oceanbase转储与合并 
相关文章
    相关评论
     img1 img2 img3 img4 img5 img6 img7 img8 img9 img10
    评论者:      验证码:  点击获取验证码
       Copyright © 2013-2028 solgle.com,All rights reserved.[solgle.com] 公安机关备案号:51010802000219
    Email:solgle@solgle.com; weixin:cd1008610000 ICP:蜀ICP备14011070号-1