下表为上述语法中各参数的取值格式:

示例 1

集群级别转储:

    示例 2

    Server 级别转储:

    示例 3

    租户级别转储:

    1. ALTER system minor freeze tenant = ('prod_tenant');

    示例 4

    Replica 级别转储:

    最常用的控制参数是 minor_freeze_times ,该参数控制在转储多少次后自动转化为合并。如果该参数设置为 0,表示关闭转储功能,每次租户 Memtable 内存使用达到阀值不会触发转储而是直接进行合并。通常根据具体的业务需求来进行配置。

    转储的动作可以通过系统表进行查看。通过查看转储的时间点,转储的触发和转储的次数可以观察集群内存的使用情况。同时可以调整租户内存的大小,可以配置转储次数进而满足不同的业务需求场景。

    示例 1

    下述示例语句展示了通过系统租户如何从 Root Service 角度查看最近 10 次的转储记录。

    1. select * from __all_rootservice_event_history where event like '%minor%' order by gmt_create limit 10;

    示例 2

    下述示例语句展示了通过系统租户如何查看具体的某台 OBServer 的转储情况。

    示例 3

    下述示例语句展示了通过系统租户如何查看转储后租户的 Active MemStore 是否释放,同时查看 的计数情况。

      上述示例语句中查询的内部表 __all_virtual_tenant_memstore_info 的参数说明如下所示:

      • __all_rootservice_event_history 表中保留7天内数据。 __all_server_event_history 表的记录保留2天。
      • 每次合并都需要先进行一次转储,因此在每天的合并 Duty Time 时间点(默认凌晨 2 点)可以看到转储动作。
      • __all_virtual_tenant_memstore_info 中的 freeze_cnt 的统计对应的是参数 minor_freeze_times 。当 freeze_cnt 计数达到 minor_freeze_times 这个阈值时,下次租户内存使用率达到阈值将触发合并而不是转储。手动触发的转储不会导致 freeze_cnt 的计数增加。合并会将 计数清零。