支持的数据源及同步方案

DataWorks数据集成支持在MySQL、MaxCompute、Hologres、Kafka等多种数据源之间同步数据。数据集成提供离线批处理同步、实时数据同步和整库迁移方案,可用于T+1离线数据ETL、秒级实时数据复制和整库迁移等场景。

同步方案说明

同步类型

源粒度

目标粒度

时效性

同步场景

单表离线

单张表

单张表/分区

T+1 或周期性

周期性全量、周期性增量

分库分表离线

多张结构一致的表

单张表/分区

T+1 或周期性

周期性全量、周期性增量

单表实时

单张表

单张表/分区

秒级~分钟级

实时增量 (CDC)

分库分表实时

多个逻辑表(多个物理表的逻辑聚合)

对应多个目标表,或合并至单个目标表

秒级~分钟级

全量+实时增量 (CDC)

整库离线

整库或多张表

对应多张表及其分区

一次性或周期性

一次性/周期性全量、一次性/周期性增量、一次性全量+周期性增量

整库实时

整库或多张表

对应多张表及其分区

秒级~分钟级

全量+实时增量 (CDC)

整库全增量

(准实时)

整库或多张表

对应多张表及其分区

首次全量:批处理

后续增量:T+1

全量+实时增量 (CDC)

同步方案推荐

在选择数据同步方案时,主要需要思考两个核心问题:

  1. 时效性要求:业务需要数据多久同步一次,是每天一次(离线),还是需要秒级/分钟级的实时更新(实时)。

  2. 同步规模与复杂度:需要同步多少张表,这些表的处理逻辑是否统一(单表 vs 整库)。

基于此,我们将同步方案分为两大类进行推荐:离线同步方案和实时同步方案。

一、 选择离线同步方案 (T+1/周期性)

离线方案适用于对数据时效性要求不高(例如T+1)、需要进行周期性批量处理的场景。

重要

核心前提:实现离线增量同步,源表必须包含可用于界定数据增量的字段(如gmt_modified等时间戳或自增ID)。若缺少此类字段,只能退而求其次选择周期性全量同步。

1. 选择「单表离线」

当需要对少量、核心、异构的数据进行精细化处理时。

  • 核心优势:处理逻辑灵活。

    • 精细化转换:支持复杂的字段映射、数据过滤、常量赋值及函数转换甚至AI辅助处理。

    • 异构源集成:是处理API、日志文件等非标数据源的最佳选择。

  • 核心限制:规模化成本高。

    • 配置开销大:同步大量表时,逐一配置和维护任务的工作量巨大。

    • 资源消耗高:每个任务独立调度,100个单表任务的资源消耗远超1个整库任务。

单表离线方案推荐单表离线同步任务
2. 选择「整库离线」

当需要将大量、同构的数据表从一个地方高效“搬迁”到另一个地方时。

  • 核心优势:运维效率高、成本低。

    • 高效率:一次性配置上百张表,自动匹配对象,极大提升开发效率。

    • 成本效益:资源整体调度优化,成本极低(例如,1个整库任务 vs 100个单表任务,资源消耗可能为2CU vs 100CU)。

    • 典型场景:数据仓库ODS层构建、数据库周期性备份、数据上云。

  • 核心限制:处理逻辑单一。

    • 主要为“复制”设计,不支持针对单表的复杂转换逻辑。

整库离线方案推荐整库离线同步任务

二、 选择实时同步方案 (秒级~分钟级)

实时方案适用于需要捕获源端实时数据变更(增、删、改),以支撑实时分析和业务响应的场景。

重要

核心前提:源端必须支持变更数据捕获 (CDC) 或本身就是消息队列。例如,MySQL需开启Binlog,或源端为Kafka实例。

选择「单表实时」 or 「整库实时」

选择逻辑与离线方案类似:

  • 单表实时:适用于对单张核心表的实时变更流进行复杂处理的场景。

  • 整库实时:是构建实时数仓、实现数据库实时灾备、打通实时数据湖的主流选择,同样具备高效率和成本效益的巨大优势。

实时方案推荐:单表实时同步任务数据集成侧同步任务

三、 特殊场景:实时CDC数据写入仅追加 (Append-Only) 目标表

重要

问题背景:实时同步捕获的CDC数据包含 Insert(插入)、Update(更新)和 Delete(删除)三类操作。对于MaxCompute的非Delta Table类型表等原生不支持在物理层面执行Update/DeleteAppend-Only(仅追加)存储系统,直接写入CDC流会导致数据状态不一致(例如,删除操作无法体现)。

  • DataWorks解决方案:Base + Log模式

    • 此方案即整库全增量(准实时)任务,通过在目标端创建Base(全量快照)和Log(增量日志)来解决此问题。

    • 写入方式:CDC数据流被实时写入Log,然后在T+1日,系统自动调度任务将Log中的变更合并(Merge)Base,生成最新的全量快照。此方案的时效性是“数据分钟级写入增量表,最终状态T+1合并可见”。它兼顾了数据的实时捕获和离线数仓的最终一致性。

同步方案推荐整库全增量(准实时)任务

数据源读写能力

数据源

单表离线

单表实时

整库离线

整库实时

整库全增量(准实时)

Amazon S3数据源

读/写

-

-

-

-

Amazon Redshift数据源

读/写

-

-

-

-

AnalyticDB for MySQL 2.0数据源

读/写

-

-

-

-

AnalyticDB for MySQL 3.0数据源

读/写

-

AnalyticDB for PostgreSQL数据源

读/写

-

-

-

ApsaraDB for OceanBase数据源

读/写

-

-

Azure Blob Storage数据源

-

-

-

-

BigQuery数据源

-

-

-

-

ClickHouse数据源

读/写

-

-

-

-

DataHub数据源

读/写

读/写

-

-

Data Lake Formation 数据源

-

-

DB2数据源

读/写

-

-

-

Doris数据源

读/写

-

-

-

DM(达梦)数据源

读/写

-

-

-

DRDS(PolarDB-X 1.0)数据源

读/写

-

-

-

Elasticsearch数据源

读/写

-

FTP数据源

读/写

-

-

-

-

GBase8a数据源

读/写

-

-

-

-

Graph Database(GDB)数据源

读/写

-

-

-

HBase数据源

hbase读/写

HBase 20xsql

HBase 11xsql

-

-

-

-

HDFS数据源

读/写

-

-

-

-

Hive数据源

读/写

-

-

-

Hologres数据源

读/写

读/写

读/写

-

HttpFile数据源

-

-

-

-

Kafka数据源

读/写

读/写

-

-

KingbaseES(人大金仓)数据源

读/写

-

-

-

-

Lindorm数据源

读/写

-

-

-

-

LogHub(SLS)数据源

读/写

-

-

-

MaxCompute数据源

读/写

-

MariaDB数据源

读/写

-

-

-

-

Maxgraph数据源

-

-

-

-

Memcache(OCS)数据源

-

-

-

-

MetaQ数据源

-

-

-

-

Milvus数据源

-

-

-

-

MongoDB数据源

读/写

-

-

-

MySQL数据源

读/写

OpenSearch数据源

-

-

-

-

Oracle数据源

读/写

OSS数据源

读/写

-

-

OSS-HDFS数据源

读/写

-

-

-

PolarDB数据源

读/写

PolarDB-X 2.0数据源

读/写

-

-

PostgreSQL数据源

读/写

-

-

Redis数据源

-

-

-

-

RestAPI(HTTP形式)数据源

读/写

-

-

-

-

Salesforce数据源

读/写

-

-

-

-

SAP HANA数据源

读/写

-

-

-

-

SelectDB数据源

读/写

-

-

-

-

Sensors Data(神策)数据源

-

-

-

-

StarRocks数据源

读/写

-

-

SQL Server数据源

读/写

-

-

-

Tablestore数据源

读/写

-

-

-

Tablestore Stream数据源

读/写

-

-

-

-

TiDB数据源

读/写

-

-

-

-

TSDB数据源

-

-

-

-

Vertica数据源

读/写

-

-

-

-

TOS数据源

-

-

-

-

常见业务场景

相关文档

下面精选了数据集成核心文档,旨在帮助用户快速入门。