开发者学堂课程【DataWorks 一站式大数据开发治理平台精品课程:2.DataWorks 数据集成介绍及实践】与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/81/detail/1228
2.DataWorks 数据集成介绍及实践(二)
四、离线同步
1、核心亮点
(1)数据源种类多
支持50多种常见数据源,涵盖各种关系型数据库、文件系统、大数据系统、消息系统。
(2)解决方案
支持全量和增量同步,支持整库、批量数据同步,支持分库分表。
精细化权限管控
数据源权限安全控制,开发生产环境隔离,方便开发流程管控,权限清晰,同步流量控制。
支持复杂调度
与 DataWorks 深度融和支持定时、条件调度,千万级调度规模,基线设定,报警管理。
2、同步原理
基于数据库 JDBC 协议或数据源 SDK 进行读写。
源端到目标端之间任务是通过 datax 的引擎同步的,首先datax引擎通过jdb协议或者数据源的idc进行源库数据的统筹的拉取和分割任务,虽然是一个job,但是会分成多个task,这样可以并发的去读取数据,加快数据的同步,每一个task中,都有对应到读写的,相当于子线程在里面,读可以去根据分割好的区域去源库里抽取数据,同时把数据塞到对应的缓存中,最后由写入端 writer,通过调用这样的gdbc或者idk的接口,把数据灌入到目标中,实现数据的读写。
3、同步引擎支持的数据源
支持50+关系型数据库、非结构化存储、大数据存储、消息队列之间的数据同步,这些数据源合在一起,读写是交叉的,基本上都能够进行读写,可以组合成各种各样的同步链路,匹配实际中的生产需要。
4、数据源演示
数据连通性包含数据集成,包括做的任务。
5、离线同步任务演示
如何通过格式化的方式建立一个任务,在 datastudio 中新建一个任务,通过配置数据的来源,可以选择来源种类和对应的表,数据源的种类和对应的表,就自动的把表进行了字段映射,这就完成了离线同步任务的建立。
五、实时同步
1、特性
(1)数据处理
支持数据过滤、Groovy函数,字符串替换。
(2)丰富多样的数据源
支持星型链路组合,任何一种输入源都可以和任何一种输出源搭配组成同步链路。支持一个任务一读多写多路输出。
读取MySQL、Oracle、sQLSever、OceanBase、Kafka、 LogHub
DataHub、PolarDB
写入MaxCompute、Hologres (支持动态增加列)、Datahub、Kafka
(3)实时库监控抽取
支持分库分表、单表、整库多表、DDL消息
(4)监控运维告警可以监控业务延迟、Failover. 脏数据心跳检查、失败信息、支持邮件、电话、钉钉通知
(5)解决方案系统
把实时和离线有机的做了一个整合,支持常见数据库的整库全增量到MaxCompute、Hologres (自 动先全量,再持续增量)
2、架构
输入数据源经过实时库的抽取,分库分表,在或者实时消息流的对接,这些对接的数据可以进行数据的处理,包括数据过滤,groovy 函数,字符串替换,打星号的意思是在上线中您的产品中 groovy 还处于波动,但是近期就会把它增值在项目里,如果有需要的用户可以进行联系,进行点对点单独开通,包括后面的多路输出也是一样,是有能力进行一读多写的能力,就是读一个数据源,可以同时写入到多个不同的数据源中,最终把数据输出出去,下面与之支撑是运维的系统,包括的告警系统,上面可以更加抽象的组成整库全增量解决方案,可以实现整库的增量同步,可以把数据做自动增量的融合,这些解决方案只需要做一个简单配置即可。
3、核心技术点
脏数据收集机制
把脏数据进行统一的收集,收集后通过收集接口写入到收集的地方,包括写入到本地, loghub 中或者写入到 maxcompute。
4、界面演示
(1)支持MysqI、Oracle、Datahub、Loghub、Kafka实时同步到Datahub、Kafka等目的端,通过拖拽即可完成开发。同步新建任务的展示,包括可以看到新建任务时,有几种任务,这里选择的单表进行展示。输入任务的名字,在界面中拖拽输入跟输出节点即可,进行连线,完成源端到目标端的输出,配置源端来源数据,具体的表,可以看到字段是自动拉取出来的,目标端也一样,目标端可以把数据源选择一下,选择目标端的表,可以针对表做字符串做字段的映射,这就完成了实时同步的任务的配置。
(2)支持简单的数据过滤、替换及 Groovy 自定义处理能力。向刚才的任务中加数据的节点,通过编辑数据处理的属性,就可以实现简单的数据处理,整个操作在探讨。
六、同步解决方案
不是面向一个任务进行单独的做任务的配置或者同步,还是面向一系列的使用场景,在场景中它会自动的去帮用户去建立,包括从建表,建立任务或者启动任务,这些流程做统一的整合。
1、整库迁移
帮助提升用户效率、降低用户使用成本的一种快捷工具,它可以快速
把一个关系型数据库(MySQL/Oracle/Sqlserver/DRDS等)内所有表一并上传到MaxCompute 的工作。把关系数据库里面所有的表进行一次性同步到MaxCompute中,选择完目标后,可以把原来选择库中所有的表进行逐一的同步,在这过程中会自动的进行建表,可以设置同步的时间点,是整批还是分批,都是可以。
2、批量上云
支持将多个数据库同时上传至 MaxCompute,选择三个数据源,把数据源上所有的表都同步到 MaxCompute 中,指定同步的间隔,提交任务,支持配置表名转换、字段名转换、字段类型转换、目标表新增字段、目标表字段赋值、数据过滤、目标表名前缀等规则,来满足多种业务场景需求。
3、解决方案系统
全增量实时同步
可以非常方便的将现有数据库通过简单的配置后,完成存量的全量迁移,以及后续增量的实时同步。
这是全增量实时同步的解决方案,一键同步到 MaxCompute 的解决方案,操作都是一样的,选择源表,源库,选择目标库,hologress 选择完之后就可以把对应到的源表上所有对应的表,在hologress中进行建表,建立任务,指定对应的资源组,目前只能用独享资源组,建立好后,就有对应的解决任务,可以看到都是解决方案自动排放用户进行建立任务,建立表等等,可以点击每个任务中查看详情。
支持:
(1)自动在目标库建表
(2)自动建立离线同步任务
(3)自动建立实时任务
(4)自动启动离线任务
(5)自动启动实时任务
(6)自动建立和启动增量和全量的融和任务
(7)全流程分布监控和展示,支持分步重试
七、收费模式
公有云收费模式
公有云中是分为4大收费点进行收费,跟使用到的资源组相关的。
1、按实例数收费
前提:使用公共资源组按实例并发数阶梯计费可以使用预付费的资源包来节省费用。
2、包年包月
前提:使用独享资源组只按照机器规格和年月时长计费,与运行实例数无关。
3、版本费
前提:使用自定义资源组只在专业版及以上版本才提供支持自定义资源组。
4、网络费
前提:使用了公网与阿里云进行数据传输。按照流量收取,阿里云统一标准国内: 0.8元/GB。