关键字
KingbaseFlySync、KFS、金仓数据同步管理平台、KFSMC、大对象
问题描述
一、大对象数据类型介绍
大对象数据类型(LOB)是一种用来存储大量数据的数据类型,主要包括text、blob、json等。这些数据类型用于存储大量的二进制数据(如图像、视频、音频等)或超长的文本数据。
二、问题来源(本手册以大对象中的text数据类型为例)
1.环境如下,并开启同步服务:

2.在源端创建带有int型和text型的表格,并检查目标端是否同步。创表sql语句如下:
create table table_column_text(id int ,a text);
3.在源端上述表格中插入数据,并检查目标端是否同步。插入数据sql语句如下:
insert into table_column_text values(1,'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
insert into table_column_text values(2,'');
insert into table_column_text values(3,'测试汉字~!@#¥%……&*()——+\\\t\n\0');
insert into table_column_text values(4,NULL);
insert into table_column_text values(5,repeat('仓',547));
insert into table_column_text values(6,' 前有空格');
insert into table_column_text values(7,'后有空格 ');
insert into table_column_text values(8,' 前后有空格 ');
insert into table_column_text values(9,' 前后有多个空格 ');
insert into table_column_text values(10,'😱') ;
insert into table_column_text values(11, char(0x00));
insert into table_column_text values(12,'癇癈癉癊癋癎癏癐癑癒癓癕癗癘癙癚癛癝癟癠癡癢癤癥癦癧癨癩癪癬');
4.在KFSMC创建详细校验任务,对象为上述表格及数据,并在高级参数中设置为展示所有数据。


5.校验结果显示一致,如图:

6.点击查看详情,如图:

7.问题出处:点击查看数据,发现仅有int类型列校验结果,未校验text类型列,如图

问题分析
text类型属于大对象数据类型,然而,KFSMC默认是未开启大对象校验。故在上述环境中,开启详细校验后,KFSMC仅校验int类型,而没有校验text类型。
解决方案
1.在KFSMC开启大对象校验,具体步骤如下:
(1)点击数据校验模块中的校验配置,如图:

(2)点击是否校验大对象

(3)点击大对象校验阈值,阈值最大可取5000000

- 大对象校验阈值的作用:
为防止大对象过大,通过数据库LENGTH()函数计算长度是否超过设置的阈值。超过时,取值的数据为一个特殊字符;不超过时为原数据,默认值为5000000长度。
(4)点击右下角保存

2.进行二次校验,校验结果如下:



「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




