本页面为您介绍数据合并的操作步骤。
背景信息
OceanBase 数据库的存储引擎基于 LSM-Tree 架构,将数据分为静态基线数据(放在 SSTable 中)和动态增量数据(放在 MemTable 中)两部分,其中 SSTable 是只读的,一旦生成就不再被修改,存储于磁盘;MemTable 支持读写,存储于内存。数据库 DML 操作插入、更新、删除等首先写入 MemTable,等到 MemTable 达到一定大小时转储到磁盘成为 SSTable。更多信息请参见 存储架构概述。
当 MemTable 的大小超过一定阈值时,就需要将 MemTable 中的数据转存到 SSTable 中以释放内存,我们将这一过程称之为转储。有关转储的详细介绍,请参见 转储。
转储会生成新的 SSTable,当转储的次数超过一定阈值时,或者在每天的业务低峰期,系统会将基线 SSTable 与之后转储的增量 SSTable 给合并为一个 SSTable,这一过程称之为合并。有关合并的详细介绍,请参见 合并。
使用场景
定时合并:不需要用户主动调度,根据实际业务峰值情况,可以选择在业务低峰期时间点让系统自动执行合并操作。
手动合并:可以根据实际业务情况随时发起数据合并。
说明数据合并操作会导致业务性能的下降,为保障您的业务稳定运行,建议您在业务低峰期进行此操作。
操作步骤
登录 OceanBase 管理控制台。
在左侧导航栏中,单击 实例列表。
在实例列表中找到目标实例,单击实例名称,进入 集群实例工作台。
在 集群工作台 页面,单击 操作,并选择 发起合并。
在弹窗上再次单击 发起合并,即可立即发起数据合并。
说明如有进行中的备份任务,执行数据合并操作将导致备份过程延迟。
合并数据可能对数据库性能造成一定影响,建议避开流量高峰期进行操作。