开发者学堂课程【DataWorks 一站式大数据开发治理平台精品课程:2.DataWorks 数据集成介绍及实践】与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/81/detail/1228
2.DataWorks 数据集成介绍及实践(一)
内容介绍:
一、基础简介
二、技术架构
三、资源组和网络能力
四、离线同步
五、实时同步
六、同步解决方案
七、收费模式
一、基础简介
1、数据集成简介
(1)数据集成是大数据平台上下云的核心枢纽。功能是可以将不同业务系统中的数据相互打通,实现数据自由离线或实时的流动。
(2)致力于提供复杂网络环境下、丰富的异构数据源之间高速稳定的数据移动能力,以及繁杂业务背景下的数据同步解决方案。
(3)2011数据平台事业部成立同步中心DataX 1.0 , 2.0发布。
(4)2014登陆阿里云正式对外(公有云、专有云)提供服务DataX 3.0发布。
(5)2018三版合一公有云、专有云、阿里内部功能,统一建立Data Integration服务,优化开发效率、运维成本。
(6)2019公有云商业化独享资源组发布,按量付费、包年包月。
(7)2020发布实时同步,全增量解决方案,资源组连通性单独测试。
2、产品定位
数据集成的产品有两大定位。
(1)枢纽,数据中台对接外界核心枢纽,比如在云上DataWorks,系统之间进行数据流转的核心的打通。
(2)跨网,跨云跨网一站式数据传输,在数据集成中,所有的数据进出都可以提供一站式的解决方案。
3、业务场景
(1)搬站上云:对接业务数据库
用户需要把自己的云下数据快速安全的迁移到云,上存储并做进一步的业务分析,如线下mysql. oracle到云上Maxcompute传统数仓迁移上云一次性全量和持续增量。
(2)实时数仓:流式数据汇聚批流数据汇聚,互联网数据IOT数据汇总分析,各种日志Log数据流收集。
(3)平台融和:云上各个产品之间数据同步
从AWS、GCP到阿里云,阿里云内部RDS、MaxCompute、 OSS、 PolarDB、AnalyticDB、Datahub等之间的数据同步。
(4)容灾备份:云上计算数据回流存储数据库
用户的原始数据需要转移存储系统存储,做容灾或者长期备份,比如MaxCompute上的数据可以写入OSS为文件,并可使用压缩节省存储空间。当需要时可以把oss文件进行恢复,恢复成MaxCompute中的表活着数据。
4、业务价值
业务价值有4个维度,第一个维度是用户数,整个的数据集成在公有云中已经有超过2500家企业在使用,在专有云中也有180家企业或者是政府单位在使用,专业云的数据是没办法进行有效的统计,公有云中每天可以达到605TB以上的数据传输,数据的条数有3万亿条,公有云的单日,很高的量级。任务方面每天大概有24万个任务在跑,同时这些任务会跑在大概1700多个资源组中,资源组指的是独享资源组,目前在所有用户的覆盖率中达到78%。现在跟阿里云一起基本上是涵盖全球所有的区域,比如国内包含香港已经有8个地域都已经进行开放,国际开放11个,这些跟阿里云基本上是持平的,在对应的用户的行业分布上,已经涵盖包括政府、金融、保险、能源、电力、制造、互联网零售等等,基本上是常见的各大领域都已经有客户,因此在这一块是有着丰富的业务产品经验的。
5、核心能力概览
(1)离线\实时全覆盖
支持离线同步,实现数据主动抽取,实时同步被动接受变更刷新,变更动态同步。
(2)繁多异构数据源
离线支持50+种数据源,实时支持10+种数据源,这些数据源之间是可以进行交叉组合,就是只要可以读,另外一端只要可以写,那么两者之间就可以组成一条链路,不受固定链路的约束。读写任意组合涵盖关系型数据库、MPP、 NoSQL. 文件存储、消息流等各大种类。
(3)支持复杂网络
无论数据源在哪里,公网、IDC. VPC内等数据集成都具备成熟的办法可以提供连接到数据源的网络解决方案。
(4)同步解决方案
整库迁移、批量上云,增量同步、分库分表,一键实时全增量。产品都做过产品化,可以通过简单的配置就可以完成对应的解决方案。
(5)安全控制
在任务和数据源中开发生产环境隔离,数据源权限安全控制,可分享,可以指定人员指定项目,进行最小力度的管控。独享资源组保障高可用。
(6)运维监控
流量控制、脏数据控制,资源组使用监控,任务告警设置,支持电话、短信、邮件、钉钉。通过配置,及时的发现任务运行中的问题及时处理。
二、技术架构1、技术架构
数据集成是跟 DataWorks 技术体系深度融合。
(1)底层,执行层,可以对接到这条公司计算引擎,包括可以实现自由对接,包括压力引擎等等,网上有自己插件中心,可以去控制数据源的插件,不停的向上进行扩充,增加这种各种各样的数据源的读写能力。
(2)管控层,可以进行作业的渲染调度管控执行,包括资源的管理,同时还可以进行计量计费的细节的底层的反馈,同时跟 DataWorks 的权限管控做深度融合。这些之间的任务也是依托于 DataWorks 实现代码的版本管理。
(3)接入层是通过 DataWorks 的 ide 的环境,提供可视化的环境进行可视化的开发,同时也是配合 DataWorks 支持 open API 的开发,同时用户除了界面可靠的操作,用 open API 的方式,直接把信息包装在自己功能或者产品上。那么它的上下游就对接了,在 DataWorks 运营中心去开发数据源的服务,租户项目管理,整体是在一起的。
2、引擎架构
星形架构:任意两种数据源都可以组合为一条同步链路。数据集成采用的是星形引擎架构,这种星形引擎架构意味着就是无论什么样的数据源,只要接入到引擎里,那么它就可以跟其他的数据源组成一对一的或者是多对一的这种恐怖链路,任何的两种数据源之间都可以进行组合搭配,也是它的组合可能性,只要每增一种数据源,那么可能性就会增加几十种,这种能力为数据链路的扩充性提供一种很好的支持。
三、资源组和网络能力
1、资源组对比
数据集成资源组分成三大资源组,包括独享资源组,公共资源组,自定义资源组。下面分成8个维度看资源组的区别:
(1)计算资源的归属,公共资源组计算资源其实是所有的租户共同竞争使用的,但资源本身是由 DataWorks 维护,独享资源组也是有 DataWorks 维护资源,但是是由用户自己独占享用的。自定义资源组用户自己的IdC的机器,需要由用户自己进行维护。
(2)网络支持,公共资源,它是支持的公网,阿里云的经典网络,阿里云的内网这三种网络类型,但是它不支持阿里云VpC。独享是支持公网vpc内网,但是独享是不支持经典网络。同样自定义资源组,支持公网vpc,阿里云内网,它的能力是跟独享一致,同样也不是支持经典网络,但是自定义网络本身也是属于阿里云自身再去淘汰的网络类型。
(3)DataWorks 版本公共和独享资源都是所有的 DataWorks 版本都可以使用的,但是自定义资源组只有在专业版或者以上版本才能使用自定义资源组,做了一个版本的限制。
(4)支持数据源部分
公共资源组,它只能支持部分的数据源,但是独享和自定义可以支持全部数据源的。
(5)安全性可靠性
公共资源组,它的安全性的可靠性是有一定的折扣,因为所有的租户共用一个资源池子,那么在任务进行异地过程中,它有可能抢不到资源,抢不到资源,它的可靠性就会有折扣,它有可能会延迟启动,或者是执行的时间比较慢,但是在独享中就不存在,因为资源完全归用户自己使用,所以只要资源够,任务可以在第一时间得到及时的响应。自定义资源组对应的能力需要看用户自身的机器的能力跟环境怎么样,DataWorks 包括数据集成是没办法控制用户自身的环境,所以对应的可靠性安全性需要用自己的保障。
(6)任务执行效率
公共资源组由于资源的抢占,任务的执行效率很低,而且没法做有效的保障,但是在独享中保障是非常高的,拥有极高保障的。自定义需要看用户自己的机器的环境是什么样的情况,有可能高有可能差。
(7)适应场景
公共资源组的适用场景主要是做一些不重要的不紧急的测试性的任务,或者是少量零散的不重要的生产任务,其实也是适合的,如果的任务很多很重要,那么最好是使用独享资源组,它是完全是适合于有大量的重要的生产级别的任务在跑。自定义资源组它使用的场景一般是指用户自身已有的资源,它想利旧,或者是它所有的数据源都在它idc内部,要从自己的IDC到另外IDC里,在此时的情况下使用自定义资源组它的成本相对低。
(8)收费方式
公共资源库只有按量收费,用多少收多少,但是独享是按照所使用的独享的计算资源的规格,包年包月的收费方式,不管用多少,只要是按照计算规格,有多少规格的机器,用几个月,按月或者按年计划收费的,而自定义资源组,只收取DataWorks的版本才有,因为专业版本就是收费的,进入机器本身应该属于用户自己的,所以机器本身是没有费用,只有版本费。所以综合看,推荐用户去使用独享资源组。
2、网络解决方案
(1)解决方案跟资源组是密切相关的,不同的资源组它对于网络的解决方案的方式包括能力是不同的。比如数据源,它的网络通常有4大类情况,第一是数据源具备公网访问能力,那么具备公网访问能力时,对应的三种资源组都可以直接跟这样的人进行连接,进行网络打通,可以进入数据库。
(2)最常见的一种情况是数据源在VpC内,它又分成两种情况,第一,vpc跟DataWorks 在同一地域,比如都在北京,在这种情况下,公共资源组没有任何的办法进行跟数据源连通,此时就需要使用到独享或者自定义资源组。在独享资源组中有对应的方案,第一步把vpc做绑定,如果是可用区不同,绑定之后进行控制台,把对应vPC添加路由进行网络打通即可。如果vpc与 DataWorks 在不同的地域,比如vpc在北京,DataWorks 在上海,那此时公共资源组也是没有办法进行连通的,这时只能用独享或者自定义,独享可以在 DataWorks 所在地域建VpC,用高速通道或者用vpn,两个vpc进行打通,打通后把 DataWorks 所在地域的vpc跟 DataWorks 独享资源组做绑定,绑定后可以根据需要在控制台添加路由,连接到目标的vpc即可。
(3)如果数据源在idc内部,此时公共资源组也是没办法连通的,只能通过独享资源组进行连通,它的方案也是在 DataWorks 所在地域建vpc,使用高速通道或者vpn,连通VpC与idc绑定,接着绑定 DataWorks 所在地域的vpc,绑定后可以根据需要在控制台添加路由,到对应的目标vpc,这些独享资源组都是可以进行有方案进行连通。
(4)如果有数据源在经典网络内,这种数据源一般比较少,如果有建议去把数据源迁到vpc内,阿里云中都有对应的网络经营方案,如果就在经典网络内,目前只有公共资源组可以进行直接的连通,对于自定义,它的方案比较灵活,也比较特殊化,因为机器的环境在自己的里面,所以它的环境会有各种各样的情况,比如指定vpc,idc和经典网络的机器,有公网访问能力,此时自定义资源组可以访问, vpc或者idc的数据源可以被自定义资源组直接进行访问,或者通过高通道或者vpn,把自定义资源组以想要的网络进行连通,总之自定义资源组本身它的网络环境比较复杂,情况比较多样,但是不管在哪,都有方案进行连通。但是还是推荐使用独享资源组,因为独享资源组所有的联合方案,都是进行产品化的包装,用户自己在界面上就可以自行操作,很方便的去解决对应的问题。
3、网络能力解决方案演示
(1)资源组方案演示
在配任务时侧边栏有一个资源组的配置,可以在上面进行切换对应的方案,查看网络连通的各种各样的细节的子方案,包括选择资源组。
- 资源组路由演示
vpc进行配置路由的界面,可以根据vpc所在的地方选择它对应的交换机,进行网络打通,可以看到做了产品化的实现。