周期性全量复制
NineData 数据复制功能支持两个数据源之间的周期性全量复制,根据预先配置的周期自动将源端的数据全量复制到目标端。
背景信息
为了有效保护企业的核心数据,企业通常需要采取有效的备份和同步方案,将核心业务库的数据完整地复制到目标系统中。由于业务库一直在不断更新,企业需要基于设置的周期,让复制任务定期循环执行,例如每天、每小时甚至每十分钟一次,使目标系统中的数据保持最新。
前提条件
操作步骤
本文以 MySQL 到 MySQL 的复制链路为例,介绍周期性全量复制的配置方法。
登录 NineData 控制台。
在左侧导航栏单击数据复制 > 数据复制。
在数据复制页面,单击创建复制。
在数据源与目标页签,按照下表进行配置,并单击下一步。
参数 说明 任务名称 输入数据同步任务的名称,为了方便后续查找和管理,请尽量使用有意义的名称。最多支持 64 个字符。 源数据源 同步对象所在的数据源。 目标数据源 接收同步对象的数据源。 复制方式 选择单向复制。 复制类型 勾选结构复制和全量复制,然后单击全量复制右侧的滑块开关,开启周期性全量复制。
注意:由于周期性全量复制无法与增量复制同时运行,因此请勿勾选增量复制。周期频率 周期性全量复制的执行频率,支持每天一次、每小时一次和每 10 分钟一次,请根据实际业务需求选择。 启动时间 选择周期性全量复制的开始时间点,您可以根据您的业务所在地域按需选择时区。 复制前数据处理策略 选择每次全量复制开始前,目标数据源中的数据处理策略。 - 删除表,重建并写入数据(选中结构复制时可选):删除(DROP TABLE)目标数据源中的目标表对象,然后基于源表的表结构重建并写入数据。
- 清空已有数据,重新写入(未选中结构复制时可选):清空(TRUNCATE TABLE)目标数据源中目标表的所有数据,然后基于源表的数据重新写入。
- 忽略已有数据,覆盖写入:基于源表数据直接覆盖(REPLACE)目标表的数据。
在选择复制对象页签,配置下列参数,然后单击下一步。
参数 说明 复制对象 选择需要复制的内容,您可以选择全部实例复制源库所有内容,也可以选择自定义对象,在源对象列表中选中需要复制的内容,单击>添加到右侧目标对象列表。 黑名单(可选) 单击添加增加一条黑名单记录,选择需要加入黑名单的库或对象,这些内容都不会被复制。用于在自定义对象的全库复制或全实例复制中排除某些库或对象。 - 左侧下拉框:选择需要加入黑名单的库名。
- 右侧下拉框:选择对应库中的对象,您可以单击多个对象进行多选,留空则将整个数据库加入黑名单。
在配置映射页签,根据所选的复制类型选择不同操作。
包含结构复制:配置目标表同步到目标数据源之后的表名,单击保存并预检查。
提示您可以单击页面右侧的映射与过滤,自定义列名同步到目标数据源之后的名称。除此之外,您还可以设置数据过滤条件,仅符合过滤条件的数据会同步到目标数据源。以测试数据 employees 表为例,将过滤条件设置为
emp_no>=10005,则 emp_no 列中小于 10005 的数据均不会同步到目标数据源。不包含结构复制:系统默认选择目标数据源中的同名数据库,如果不存在,则需要手动选择目标库。目标库中的表名、列名需要和同步对象一致。如果不一致,您也可以手动进行表名和列名的映射。
在预检查页签,等待系统完成预检查,预检查通过后,单击启动任务。
提示- 您可以勾选开启数据一致性对比。在同步任务完成后,自动开启基于源数据源的数据一致性对比,保证两端数据一致。根据您选择的复制类型,开启数据一致性对比的启动时机如下:
- 结构复制:结构复制完成后启动。
- 结构复制+全量复制、全量复制:全量复制完成后启动。
- 如果预检查未通过,需要单击目标检查项右侧操作列的详情,排查失败的原因,手动修复后单击重新检查重新执行预检查,直到通过。
- 检查结果为警告的检查项,可视具体情况修复或忽略。
- 您可以勾选开启数据一致性对比。在同步任务完成后,自动开启基于源数据源的数据一致性对比,保证两端数据一致。根据您选择的复制类型,开启数据一致性对比的启动时机如下:
在启动任务页面,提示启动成功,同步任务开始运行。此时您可以进行如下操作:
- 单击查看详情查看同步任务各个阶段的执行情况。
- 单击返回列表可以返回数据复制任务列表页面。