全域数据集成,为数据同步插上翅膀

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
实时计算 Flink 版,5000CU*H 3个月
简介: 数据集成的定位是全域(云上、云下各种异构数据源和网络环境)数据同步的核心枢纽,目前已经成为阿里巴巴经济体的一个核心基建。相比传统的数据同步,全域数据集成的目标是提供用户一站式的数据同步和数据处理的能力,使用户在数据集成界面上通过简单的操作即可完成数据开发和运维的工作,最终高效的运行任务

对于经常从事数据开发工作的同学而言,阿里巴巴大数据研发平台Dataworks应该都比较熟悉,作为集大数据设计开发、运维监控、数据安全、数据质量管理,以及数据应用构建等全方位能力为一体的的一站式数据研发生态平台,Dataworks极大提升了数据开发工作的效率。而数据集成作为Dataworks生态系统内的子系统,为大数据综合治理解决方案提供底层数据链路支持,以其稳定高效、弹性可扩展的数据同步能力,目前已经广泛应用与集团内、公共云、专有云的各种数据同步场景。

项目背景

业务场景

通常来说,数据集成服务的业务场景如下

  1. 数据上云:用户需要把自己的云下数据快速安全的迁移到云上存储并做进一步的业务分析,如线下mysql、oracle到云上Maxcompute
  2. 异构数据源间的同步:用户的原始数据需要转移存储系统存储,或利用目标存储系统的查询、分析能力,如Maxcompute数据回流到线上mysql做在线查询

基于这些业务场景,数据集成一直以来都扮演着数据搬运工的角色,为各种各样的数据同步需求提供了强大高效的一站式解决方案。

但对于很多数据开发工作而言,将数据从源端同步到目标端只是完成了整个数据开发链路中的一个环节。限于数据集成以往仅支持数据读写的能力,如果需要对同步的源数据进行一些数据过滤、简单逻辑加工或者数据增强等一些数据处理操作,除非源数据存储系统支持,否则只能先将源原始数据全量同步到目标存储系统,再利用目标系统的能力进行数据加工。这就增加了数据开发工作的复杂度,也降低了数据处理链路的时效。

举一个例子,oss上的大量数据要同步到Mysql做在线查询,同时期望对原始数据进行一些数据过滤和简单加工。

原有方案

D2FB89E4-EF74-44AE-9923-40A0E3633C65.png

  1. oss本身不具备数据加工能力,需要配置数据同步任务1,将oss数据同步到Maxcompute上;
  2. 在Dataworks上开发SQL处理任务,然后运行SQL任务进行数据处理,将结果输出到Maxcompute新表
  3. 配置数据同步任务2,将Maxcompute新表数据同步到目标mysql存储

有上可见,为了完成这样的数据开发需求,用户需要开发数据同步,SQL处理等两种任务、三个节点,开发成本高。而在任务执行时,则是顺序依赖的运行三个任务节点,数据同步+处理的效率很差且运行成本也很高。

全域数据集成

为了提供给用户更好的数据开发体验,降低用户进行数据同步、上云、以及处理的链路成本,全域数据集成应运而生。
全域数据集成的目标是提供用户一站式的数据同步和数据处理的能力,允许用户在数据集成界面上通过简单高效的一站式操作完成这样的数据开发和运维工作,且能有效降低运行成本。

整体架构

全域数据集成产品.jpg

如上图示,全域数据集成的大体组成如下

  • 数据源端:对接各种网络环境下(IDC、云上、端)的各种异构数据源(流、批),支持数据从目标端读出
  • 核心服务层:全域数据集成核心服务基于Dataworks基础服务构建,充分利用Dataworks已有的子系统或子模块(streamstudio、uniflow、调度、运维管理等)的能力,将数据同步、数据处理的开发和运维能力整合起来
  • 同步引擎层:数据同步引擎利用Datax、Streamx的强大的读写能力和对异构网络数据源的支持能力,实现流批数据的读写
  • 缓存层:缓存层作为计算层和同步引擎层的数据读写交换
  • 计算层:利用Flink强大的流批统一的计算能力实现数据处理
  • 目标端:对接云上以及各种网络环境的异构数据源,将数据写入目标端

数据同步和处理过程

  1. 利用现有数据同步引擎(Datax、Streamx)的强大读能力将源数据同步到源端缓存层
  2. 在数据处理层,启动Flink任务执行对源数据的过滤、加工以及数据增强的处理,并输出处理结果到目标端缓存层
  3. 利用现有数据同步引擎(Datax、Streamx)的强大写能力将目标端缓存层数据同步到目标端存储或计算引擎

开发态构成

全域数据集成在以往数据集成开发界面的基础上,增加了数据处理开发模块。全域数据集成整体界面构成如下:

142421BE-28BC-4F03-9C47-F5C8A0FB0E78.png

  1. 数据源选择模块
    包括数据源选择,以及读写参数的指定
  2. 同步策略模块

    • 配置同步策略,默认是以往的列映射模式,配置需要同步的数据列,仅做数据同步;
    • 激活“进行数据处理”按钮,则进入到数据处理模式,通过组件可视化方式进行处理逻辑开发;
    • 列映射模式和进行数据处理是独立并存互不影响的,在任何情况下用户均可在两种模式下进行切换。
  3. 通道控制模块
    配置数据同步的并发、资源组等任务运行时参数
数据处理模式

在同步策略模块,激活“进行数据处理”开关时即进入到数据处理开发模式,界面如下:
AA74D81D-8F29-4D8F-B92A-9B8048428125.png

全域数据集成基于Flink的强大计算能力进行数据处理,在处理逻辑开发层,将Flink SQL的基本API封装成可视化的DAG算子,以DAG组件托拉拽、组件参数配置、组件连线的方式进行数据处理逻辑开发。

  • 左侧组件面板
    提供DAG组件的选择能力。

目前提供9种数据处理组件用于数据加工,同时数据源表组件支持用户在同步源表数据过程中join其他表数据做数据增强,数据目标表支持用户在将数据结果到同步到目标存储系统的同时,多路输出到其他表

  • 右侧DAG编辑面板
    提供基于DAG组件的处理逻辑编排能力。

从列映射模式首次切换到数据处理模式时,默认展示源头表和目标表两个节点,用于配置需要同步的字段。从组件面板拖拽数据处理组件、配置组件以进行处理逻辑开发,如下图示:
C016B98E-1C49-41F5-8E9C-AF1519841855.png

DAG模式支持处理逻辑实时检查,及时提醒节点以及DAG任务配置的正确性,如果节点配置有错误(如图节点上的红叉),右击节点选择“查看错误提示”可以查看错误详情。
当DAG图中的所有节点均配置正确,即完成了全域数据集成任务的开发。
通过以上方式,全域数据集成以DAG组件模式提供了用户一站式开发数据同步和数据处理任务的能力

运维态构成

  1. 发布运维

    • 全域数据集成任务在运维态为一个完整的独立节点存在。用户对全域数据集成任务的运维操作(起停任务、查看日志),同其他节点一样是单节点的整体操作。
  2. 实际执行

    • 全域数据集成任务同时启动了三个阶段的工作:将源数据读取到读端缓存、将读端缓存数据利用Flink引擎进行处理并输出结果到写端缓存,将写端缓存数据同步到目标存储。
    • 数据在三个阶段的处理过程以类似流数据的方式进行链路式处理。因此区别于以往方式以独立的三个依赖任务节点进行顺序处理,全域数据集成任务同步数据+处理数据是连续不间断的,不需要等待所有数据处理在前一步骤全部完成,同步效率大大提高。

效果展示

dongtu.gif

总结展望

全域数据集成的整体目标是提供一站式的数据同步+数据处理的能力。目前一期功能作为先期探索,已经实现了批数据一站式同步和处理的能力,打破了数据集成原有的功能边界,也降低了用户的数据同步、上云以及处理的整体成本,未来为实现全域数据集成能力全面、轻便易用、成本集约的整体目标,会在以下几个方面继续努力:

  1. 提供丰富的任务开发能力:字段映射、DAG拖拽编辑、SQL编辑
  2. 流数据与批数据同步处理能力全面支持
  3. 提供丰富的任务运行模式:单机运行、分布式运行、集群模式运行
  4. 轻量级部署,低成本输出,灵活对接用户的运行环境以及场景
    目前全域数据集成已经率先在公有云上线,期待后续给大家带来更多精彩。
相关文章
|
7月前
|
SQL 分布式计算 Oracle
数据同步工具DataX的安装
数据同步工具DataX的安装
1364 0
|
7月前
|
存储 关系型数据库 MySQL
DataX: 阿里开源的又一款高效数据同步工具
DataX 是由阿里巴巴集团开源的一款大数据同步工具,旨在解决不同数据存储之间的数据迁移、同步和实时交换的问题。它支持多种数据源和数据存储系统,包括关系型数据库、NoSQL 数据库、Hadoop 等。 DataX 提供了丰富的数据读写插件,可以轻松地将数据从一个数据源抽取出来,并将其加载到另一个数据存储中。它还提供了灵活的配置选项和高度可扩展的架构,以适应各种复杂的数据同步需求。
|
网络协议 大数据 Linux
案列分享-因netfilter包过滤规则配置错误造成datax数据同步作业运行失败
案列分享-因netfilter包过滤规则配置错误造成datax数据同步作业运行失败
|
6月前
|
SQL 存储 关系型数据库
DataX - 全量数据同步工具(2)
DataX - 全量数据同步工具
|
4月前
|
关系型数据库 MySQL 大数据
DataX:数据同步的超音速英雄!阿里开源工具带你飞越数据传输的银河系,告别等待和故障的恐惧!快来见证这一数据工程的奇迹!
【8月更文挑战第13天】DataX是由阿里巴巴开源的一款专为大规模数据同步设计的工具,在数据工程领域展现强大竞争力。它采用插件化架构,支持多种数据源间的高效迁移。相较于Apache Sqoop和Flume,DataX通过并发写入和流处理实现了高性能同步,并简化了配置流程。DataX还支持故障恢复,能够在同步中断后继续执行,节省时间和资源。这些特性使其成为构建高效可靠数据同步方案的理想选择。
368 2
|
5月前
|
监控 数据挖掘 大数据
阿里云开源利器:DataX3.0——高效稳定的离线数据同步解决方案
对于需要集成多个数据源进行大数据分析的场景,DataX3.0同样提供了有力的支持。企业可以使用DataX将多个数据源的数据集成到一个统一的数据存储系统中,以便进行后续的数据分析和挖掘工作。这种集成能力有助于提升数据分析的效率和准确性,为企业决策提供有力支持。
|
4月前
|
Java 关系型数据库 DataX
DATAX数据同步
DATAX数据同步
642 0
|
5月前
|
分布式计算 关系型数据库 MySQL
MySQL超时参数优化与DataX高效数据同步实践
通过合理设置MySQL的超时参数,可以有效地提升数据库的稳定性和性能。而DataX作为一种高效的数据同步工具,可以帮助企业轻松实现不同数据源之间的数据迁移。无论是优化MySQL参数还是使用DataX进行数据同步,都需要根据具体的应用场景来进行细致的配置和测试,以达到最佳效果。
|
7月前
|
存储 监控 关系型数据库
DataX 概述、部署、数据同步运用示例
DataX是阿里巴巴开源的离线数据同步工具,支持多种数据源之间的高效传输。其特点是多数据源支持、可扩展性、灵活配置、高效传输、任务调度监控和活跃的开源社区支持。DataX通过Reader和Writer插件实现数据源的读取和写入,采用Framework+plugin架构。部署简单,解压即可用。示例展示了如何配置DataX同步MySQL到HDFS,并提供了速度和内存优化建议。此外,还解决了NULL值同步问题及配置文件变量传参的方法。
2842 5
|
6月前
|
SQL 关系型数据库 MySQL
DataX - 全量数据同步工具(1)
DataX - 全量数据同步工具

热门文章

最新文章