应用与数据集成平台 ROMA CONNECT-约束与限制:数据集成

时间:2024-09-04 10:21:58

数据集成

表1 FDI约束与限制

功能模块

约束与限制

数据同步

  • 支持同步的单条数据最大为8M。
  • 时间格式的字段支持的最大精度为秒级别。
  • 表名不支持“-”、“#”等特殊字符。
  • 任务启动后修改表结构会导致任务异常,需要重新启动执行任务。
  • 目标端不支持映射字段全部为主键的表。
  • 仅支持至少一次(at least once)交付,不支持精确一次(exactly once)交付,即无法保证数据不会重复,因此需依赖主键及目标系统的能力来确保数据一致性。
  • 数据源采集文件时,并发任务支持的总文件大小不超过800M。
    说明:

    仅适用于OBS、FTP、 MRS HDFS数据源。例如,并发执行2个OBS任务,2个FTP任务,则4个任务累加起来的文件大小不能超过800M。

FTP数据源类型

FTP数据源解析模式下支持的最大文件大小为200M,超过200M的文件将自动跳过,不进行采集;解析的数据行数最大为1500000;不解析模式下,支持的最大文件大小为6M,最大文件数量为20000。

说明:

FTP数据源之间多个文件同步统计,代表的是本次同步的文件的数量。

OBS数据源类型

OBS数据源解析模式下支持的最大文件大小为200M,超过200M的文件将自动跳过,不进行采集;不解析模式下支持的最大大小不超过10M。

MRS数据源类型

  • 只支持对接开启了kerberos认证的MRS集群。
  • 只支持结构化数据。

MRS Hive数据源类型

  • Hive读写文件格式只支持rcfile和textfile类型。
  • MRS Hive作为源端最大只支持100万数据量表的同步。

API数据源类型

  • 超时时间为60秒,服务端响应时间若超过60秒会触发任务执行报错。
  • API作为源端,单次请求最大支持读取的数据大小为20M,超过此大小必须分页分批读取。
  • API作为源端,只支持常量参数,不支持动态传递参数。
  • API作为目标端,不支持将源端获取到的数据映射到目标端的Headers中。

kafka数据源类型

当前SASL连接方式只支持对接ROMAConnect自带的MQS服务,用户自建的kakfa服务只支持明文方式对接。

Oracle数据库类型

  • 只支持以下字段类型,不支持小写字段。

    CHAR、VARCHAR、DATE、NUMBER、FLOAT、LONG、NCHAR、NVARCHAR2、RAW、TIMESTAMP

  • Oracle系统与ROMA Connect服务器之间的系统时间差需要小于2分钟。

SQL Server数据库类型

只支持以下字段类型:

BIT、CHAR、DATE、DATETIME、DECIMAL、FLOAT、IMAGE、INT、MONEY、NUMERIC

MySQL数据库类型

只支持以下字段类型:

INT、BIGINT、TINYINT、MEDIUMINT、FLOAT、DOUBLE、DECIMAL、CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、DATETIME、TIMESTAMP、SMALLINT、YEAR、BINARY、JSON

PostgreSQL/DWS数据库类型

只支持以下字段类型:

BOOL、CIDR、CIRCLE、DATE、NUMERIC、FLOAT4、FLOAT8、MONEY、PATH、POINT、INT、TIMESTAMP、TIMETZ、UUID、VARBIT、VARCHAR

在FDI任务中为目标端时,为提升写入性能,默认不支持批次号选项以及常量设置。若用户对性能无特殊要求,需要支持批次号选项及常量设置功能,请联系技术支持处理。

Redis数据库类型

Redis数据源作为目标端时,源端为时间类型的字段,如datetime或者date,在写入目标端后,如果需要显示为“yyyy-MM-dd HH:mm:ss”格式,那么字段类型需要选择为string,然后选择相应的date或者datetime数据格式。

DIS数据库类型

源端进行数据采集时,一个通道只支持一个任务运行。

WebSocket数据库类型

创建数据集成任务时,“是否解析”选择“是”时,“元数据”中的“解析路径”必须配置,否则任务会失败。

关系型数据库类型

最大只支持1000万数据量的表同步。

组合任务(CDC)

  • 源端:

    定时:支持MySQL、Oracle、SQL Server、PostgreSQL、Hana。

    实时:支持MySQL、Oracle、SQL Server。

  • 目标端:

    定时:支持MySQL、Oracle、PostgreSQL、SQL Server、Hana。

    实时:支持MySQL、Oracle、PostgreSQL、SQL Server、Kafka。

  • 目标端的表必须要有主键,否则会影响数据同步一致性。
  • Oracle作为源端数据源时,仅支持表名、字段名都是大写的表。
  • Oracle作为目标端数据源时,不支持小写字段的表。
  • 在编辑已创建的组合任务并新增源表时,源表中必须有数据。
  • 组合任务支持的表名最大长度为64,若表名中有中文,则一个中文按3个长度计算。
  • 自动映射会读取源库和目标库中前2000张表的所有字段信息,读取总耗时受数据库性能、表字段数量以及网络速率影响,若总耗时超过了接口超时时间(1分钟),则会自动映射失败,此为产品正常使用约束,此情况下建议使用手动配置方式。
  • 组合实时任务定义中不支持二进制字段。
  • MySQL Schema任务最多支持十组Schema映射,总表数最多2000张。

编排任务

  • 目标端不支持每次执行任务时先清空目标表的功能。
  • 不支持设置常量,设置常量指的是目标端某些字段的值可以指定写入固定值,不依赖源端数据。
  • 创建编排任务时,如果有多个目标端,设置连线时“批次号格式”以第一个连线设置的为准,其他连线设置不同时,均以第一个连线为准。例如:第一个连线设置为UUID,第二个、第三个设置为yyyyMMddHHmmss时,最终均以UUID格式为准。
support.huaweicloud.com/productdesc-roma/constraints-limitations.html