1. 概述
1.1 应用场景
企业在构建数仓和中间库时,由于业务数据量级较大,如果使用 数据同步 批量定时同步数据很难做到高性能的增量同步,若使用清空目标表再写入数据的方式时,还会面临目标表一段时间不可用、抽取耗时长等问题。
因此希望能在数据库数据量大或表结构规范的情况下,实现高性能的实时数据同步。
1.2 功能说明
支持对数据源进行单表、多表、整库、多对一数据的实时全量和增量同步,可以根据数据源适配情况,配置实时同步任务。如下图所示:
1.3 实现原理
FDL 监听数据管道来源端的数据库日志变化,利用 Kafka 作为数据同步中间件,暂存来源数据库的增量部分,进而实现向目标端实时写入数据的效果。
1.4 断点续传功能说明
若管道任务失败,支持断点续传:若全量同步未完成,会从头全量同步;若全量同步已完成,会从断点开始。
断点续传示例:
管道任务在 03-21 日读取了数据,03-23 日停掉,03-27 日启动,03-23 到 03-27 日的数据会同步过去。
1.5 数据管道与数据开发的区别
详情请参见:数据管道与数据开发区别
1.6 数据管道并发数说明
请参见:数据管道运维指导
2. 使用限制
管道任务仅支持在 独立部署 环境下使用。
管道任务不支持同步视图和索引。
3. 功能概述
功能 | 描述 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
数据源 | 实时同步支持多种数据源,可以将多种来源端及目标端数据源搭配组成同步链路进行数据实时同步。数据管道支持的数据源请参见:数据管道支持的数据源类型 | ||||||||||
同步场景 | 同步对象说明:
同步类型说明: 详情请参见:同步类型
| ||||||||||
任务配置 | 1)任务配置前,需要先准备数据库环境、管道任务环境。详情请参见:数据管道使用说明 文档的第二章、第三章内容 2)在 FDL 中配置管道任务时,步骤简单,无需编写代码;功能丰富。详细说明如下:
| ||||||||||
任务运维 | 详情请参见:管道任务运维
| ||||||||||
数据中心 | 4.1.6.1 及之后版本,可在 FDL 的 库表管理 功能中,查看、修改表数据(快速检查实时同步效果) 4.1.11.1 及之后版本,可查看管道任务中所使用数据表的血缘关系,详情请参见:血缘分析 | ||||||||||
其他 | 4.1.9.3 及之后的版本支持使用「回收站」进删除任务的还原、管理,详情请参见:回收站 4.1.6.3 及之后版本,管道任务禁止被多人同时编辑,详情请参见:任务禁止被多人同时编辑 |
4. 使用说明
1)数据管道功能使用说明请参见:数据管道使用说明
2)用户想了解某个管道任务是谁编辑的、编辑时间、断点相关信息等,FDL 工程内的管道任务运维无法满足需求,可参见解决方案:BI仪表板展示管道任务编辑信息
3)用户的管道任务实现上百张表的实时同步,且存在部分来源表和目标表的表名不同、多张来源表同步到一张目标表等情况,导致用户在管理来源表和目标表的对应关系时(例如重构任务)较为困难。可参见解决方案:导出管道任务中来源表及对应的目标表信息