数据集成是稳定高效、弹性伸缩的数据同步平台,致力于提供复杂网络环境下、丰富的异构数据源之间高速稳定的数据移动及同步能力。
使用限制
- 数据同步:
支持且仅支持结构化(例如RDS、DRDS等)、半结构化、无结构化(OSS、TXT等,要求具体同步数据必须抽象为结构化数据)的数据的同步。即数据集成仅支持传输能够抽象为逻辑二维表的数据同步,不支持同步OSS中存放完全非结构化的数据(例如一段MP3)至MaxCompute。
- 网络连通:
支持单地域内及部分跨地域的数据存储相互同步、交换的数据同步需求。 部分地域之间可以通过经典网络传输,但不能保证其连通性。如果测试经典网络不通,建议您使用公网方式进行连接。
- 数据传输:
数据集成仅完成数据同步(传输),本身不提供数据流的消费方式。
- 数据一致性:
数据集成同步仅支持at least once,不支持exact once,即不能保证数据重复,只能依赖主键+目的端能力来保证。
离线(批量)同步简介

实时同步简介
数据集成的实时同步包括实时读取、转换和写入三种基础插件,各插件之间通过内部定义的中间数据格式进行交互。

同步解决方案简介
实际业务场景下,数据同步通常不能通过一个或多个简单离线同步或者实时同步任务完成,而是由多个离线同步、实时同步和数据处理等任务组合完成,这就会导致数据同步场景下的配置复杂度非常高。以业务数据库数据同步到MaxCompute数据仓库为例,当有大量的数据存储在数据库系统里,需要将数据库中的全量及增量数据同步到MaxCompute进行数仓分析时,数据集成传统方式是通过全量同步或者依赖数据库表中的modify_time等字段进行增量同步。但实际生产场景下,数据库表中不一定存在modify_time等字段,因此不能使用传统的基于JDBC抽取的方式进行增量同步。而“一键实时同步至MaxCompute”功能实现了数据库全增量实时同步到MaxCompute以及在MaxCompute上进行自动的全增量合并,可以使整个同步场景化繁为简。
- 全量数据初始化。
- 增量数据实时写入。
- 增量数据和全量数据定时自动合并写入新的全量表分区。
复杂网络环境下的数据源同步
- 数据源与DataWorks工作空间在同一个阿里云主账号,并且同一个Region。
- 数据源与DataWorks工作空间不在同一个阿里云主账号。
- 数据源与DataWorks工作空间不在同一个Region。
- 数据源在非阿里云环境。
基本概念
- 并发数
并发数是数据同步任务中,可以从源并行读取或并行写入数据存储端的最大线程数。
- 限速
限速是数据集成同步任务可以达到的传输速度限制。
- 脏数据脏数据是对于业务没有意义,格式非法或者同步过程中出现异常的数据。单条数据写入目标数据源过程中发生了异常,则此条数据为脏数据。 因此只要是写入失败的数据均被归类于脏数据。例如,源端是VARCHAR类型的数据写到INT类型的目标列中,导致因为转换不合理而无法写入的数据。您可以在同步任务配置时,控制同步过程中是否允许脏数据产生,并且支持控制脏数据条数,即当脏数据超过指定条数时,任务失败退出。
- 由于脏数据原因导致离线/实时任务失败,同步任务之前已经成功写入的数据并不会回滚撤销。
- 数据集成为了提升性能采用批量写入目的端方式,当写入异常时,该批次数据是否能回滚取决于目的端是否支持事务机制。数据集成本身不支持事务机制。
- 数据源
DataWorks所处理的数据的来源,可能是一个数据库或数据仓库。DataWorks支持各种类型的数据源,并且支持数据源之间的转换。
在数据集成同步任务配置前,您可以在DataWorks数据源管理页面,配置好您需要同步的源端和目标端数据库或数据仓库的相关信息,并在同步过程中,通过选择数据源名称来控制同步读取和写入的数据库或数据仓库。