数据合并

更新时间: 2023-11-21 11:43:17

本页面为您介绍数据合并的操作步骤。

背景信息

OceanBase 数据库的存储引擎基于 LSM-Tree 架构,将数据分为静态基线数据(放在 SSTable 中)和动态增量数据(放在 MemTable 中)两部分,其中 SSTable 是只读的,一旦生成就不再被修改,存储于磁盘;MemTable 支持读写,存储于内存。数据库 DML 操作插入、更新、删除等首先写入 MemTable,等到 MemTable 达到一定大小时转储到磁盘成为 SSTable。更多信息请参见 存储架构概述

当 MemTable 的大小超过一定阈值时,就需要将 MemTable 中的数据转存到 SSTable 中以释放内存,我们将这一过程称之为转储。有关转储的详细介绍,请参见 转储

转储会生成新的 SSTable,当转储的次数超过一定阈值时,或者在每天的业务低峰期,系统会将基线 SSTable 与之后转储的增量 SSTable 给合并为一个 SSTable,这一过程称之为合并。有关合并的详细介绍,请参见 合并

使用场景

  • 定时合并:不需要用户主动调度,根据实际业务峰值情况,可以选择在业务低峰期时间点让系统自动执行合并操作。

  • 手动合并:可以根据实际业务情况随时发起数据合并。

合并数据

集群工作台 页面,单击数据合并后的 操作,可对数据进行发起合并、查看合并记录和修改合并时间的操作。默认每天 02:00 会发起数据合并。1

发起合并

即手动合并,单击 发起合并,即可立即发起数据合并。请在备份任务结束后,避开流量高峰期进行此项操作。2

查看合并记录

单击 查看合并记录,您可查看近三次合并记录,包括 合并开始时间合并结束时间耗时状态数据版本号3

修改合并时间

单击 修改合并时间,可修改每日自动合并的时间。4

阿里云首页 云数据库 OceanBase 相关技术圈