数据传输服务DTS

使用数据稽查功能对比迁移项

2023-10-20 08:23:59

什么是数据稽查

数据稽查功能用于对比源库与目标库的数据差异,帮助用户及时发现数据不一致的问题。支持对源库和目标库的对象数目、数据行数、字段内容等多个维度的进行一致性对比。

数据稽查的类型

对象对比

  • 对象级对比任务,对源库和目标库的数据库、索引、表、视图等对象的数量进行对比,检查数据对象是否缺失。

  • 支持的数据链路:MySQL->MySQL、PostgreSQL->PostgreSQL。

行数对比

  • 通过对源和目标库中表的行数进行对比,检查表的数据是否缺失。

  • 支持的数据链路:MySQL->MySQL、PostgreSQL->PostgreSQL。

内容对比

  • 通过对源和目标库中表的行数据进行对比,检查表的行数据是否一致。

  • 支持的数据链路:MySQL->MySQL、PostgreSQL->PostgreSQL。

  • 支持设置数据块大小:用户可以自由控制内容对比的数据块大小,数据块的大小可设置在1000-10000范围内。

  • 支持抽样校验:如果迁移或同步的数据量非常大,对所有数据都进行校验会对源库和目标库造成高负荷。为此,内容对比提供抽样校验功能,用户可以通过设置抽样比例对数据进行抽样检验,以减小数据库的负担。可设置的抽样比例为10%、20%、30%、……、100%。

  • 支持设置任务超时时间:用户可以设定内容对比任务的最长运行时间,如果任务未能在最大期限内完成,则任务自行终止。可设置的时间长度为1-180分钟。

  • 支持查看不一致数据的所在范围:如果发现不一致的数据,用户可以查看不一致数据所在的范围,缩小了用户需要自行检查的数据范围。

操作步骤

  1. 在【数据迁移】实例列表页面选择相应的实例数据,并点击实例ID进入【实例管理】页面。

  2. 在【实例管理】页面点击“实例详情”进入详情页面。

  3. 在【实例管理】页面点击“实例详情”,在左侧菜单栏点击“数据稽查”,进入【数据稽查】页面。
    在【数据稽查】页面中,可分别在对象级对比、数据级对比、内容级对比页面创建不同级别的对比任务。

    数据稽查-对比.png

  4. 以内容级对比为例,介绍如何创建对比任务。

    在【数据稽查】页面点击内容级对比,点击“创建对比任务”。

  5. 在任务创建页面,用户可以选择该内容对比任务的参数:需要对比的表、对比的数据块大小、数据抽样对比的比例、任务的超时时间。

  6. 任务运行中或完成后,用户都可以点击对比任务进入详情页查看对比信息,包括任务状态、对比结论、对比的表的数量、不一致表数量、不一致的数据块数量。

注意
  1. 以下数据类型的字段不会参与对比:

    源数据库为MySQL:TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT;

    源数据库为PostgreSQL:用户自定义的DOMAIN或者TYPE类型。

  2. 内容对比会自动跳过以下特征的表:

    表为空表,无数据;

    不具有主键、唯一字段、唯一索引;

    主键、唯一字段、唯一索引组成字段为多字段的复合类型;

    源数据库为MySQL:TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)、BIGINT、CHAR、VARCHAR、FLOAT、DOUBLE、DECIMAL。

    源数据库为PostgreSQL:SMALLINT(INT2)、INT(INT4、INTEGER)、BIGINT(INT8)、CHAR、BPCHAR、VARCHAR、UUID、DECIMAL(NUMERIC)、FLOAT4(REAL)、FLOAT8(DOUBLE PRECISION)。

  3. 请在全量数据迁移完成后进行对比,如果任务在进行增量数据迁移/同步,建议在业务低峰期进行对比,得到更准确的对比结果。

  4. 如果有多张大表需要对比,建议在多个对比任务中分批对比,避免一次性对比多张大表对数据库造成巨大压力。


LtPVD5sywnJw