其他分享
首页 > 其他分享> > 数据中台(数据集成篇)

数据中台(数据集成篇)

作者:互联网

声明:本文归属一寸HUI所有。@一寸HUI

在上一篇文章数据中台(架构篇)中了解到了数据中台的架构,其中,数据集成开发平台:数据集成开发平台能最高效地使用底层的组件和数据,提供从源数据到数据能力的转换。数据集成平台是数据中台数据接入的入口。数据中台本身几乎不产生数据,所有数据来自于业务系统、日志、文件、网络等,这些数据分散在不同的网络环境和存储平台中,难以利用,很难产生业务价值。数据集成是数据中台必须提供的核心工具,把各种异构网络、异构数据源的数据方便地采集到数据中台中进行集中存储,为后续的加工建模做准备。数据集成方式一般有数据库同步、埋点、网络爬虫、消息队列等;从汇聚的时效性来分,有离线批量汇聚和实时采集,也有增量同步和全量同步。在数据集成的过程中一般会用到datax,flume,sqoop,canal等工具。

要构建企业级的数据中台,第一步就是要让企业内部各个业务系统的数据实现互联互通,从物理上打破数据孤岛,这主要通过数据汇聚和交换的能力来实现。在面向具体场景时,可以根据数据类型将汇聚对象分为结构化和非结构化、大文件和小文件、离线与在线等几种,不同类型的数据对存储的要求不同。

在数据采集和汇聚过程中,需要特别注意的一点是数据的隐私和安全,数据采集和汇聚是最容易触碰法律红线的环节, 因此在制订相应的方案时,一定要考虑当地安全法规的要求,避免侵犯用户的个人隐私,导致用户信息安全受损。

数据采集方法和工具

1.线上行为采集

线上行为的主要载体可以分为传统互联网和移动互联网两种,对应的形态有PC系统、PC网页、H5、小程序、App、智能可穿戴设备等。在技术上,数据采集主要有客户端SDK埋点和服务端SDK埋点等方式。其中客户端SDK埋点主要是通过在终端设备内嵌入埋点功能模块,通过模块提供的能力采集客户端的用户行为,并上传回行为采集服务端。

客户端埋点:

服务端埋点:

2.线下行为采集

3.互联网数据采集

在数据能力建设过程中,很多企业结合自身的场景和最佳实践也开源了一些优秀的汇聚工具,如Flume、Flinkx,Sqoop、DataX、Canal等,适用场景不同,也各有优缺点。

数据分类

数据组织形式来分,数据主要分成三类:

时效性和应用场景来分,数据汇聚可以分成离线和实时两类:

数据交换平台

从数据类型来看,有结构化数据和非结构化数据;从实效性来看,有实时数据交换和离线数据交换。另外,数据交换应该是后续数据作业的起点,因此,相应的交换任务调度及状态要能够有效地与上下游形成依赖,借助统一调度的能力构建数据作业流。

数据交换中心的首要目的是屏蔽底层工具的复杂性,以可视化配置的方式提供给企业用户;其次需要考虑,为了解决数据孤岛,需要满足异构存储、异构数据类型的交换需求;同时,还要考虑不同时效要求下的数据互通。因此,数据交换平台需要屏蔽系统底层协议、传输安全、特性组件等信息,让开发人员在数据接入过程中无须关注数据格式转换、数据路由、数据丢失等,只需要关注与业务本身的数据交换部分。企业信息化建设的多种数据源类型,可以通过同步模块的数据源进行统一管理,方便用户快速通过可视化页面执行数据汇聚工作。

基于异构数据源、异构厂商集群、数据应用时效性和相关技术栈等因素考虑,采取了不同的同步策略:离线数据同步和实时数据同步。同时,在两种同步服务的产品形态上,可以采用相同的可视化同步配置策略,以降低用户操作成本。

1.数据源管理

数据源管理主要是管理数据所用的存储,用于平台在做数据交换时,可以方便地对外部存储进行相应的管理。数据源可以是已有系统存储业务数据的地方,作为数据中台的数据来源,也可以是数据应用场景,为应用场景提供结果数据存储的地方。根据业务系统以及数据应用场景的不同,数据源也有不同的选择。

数据源会有很多种,大致可以分成:

2.离线数据交换

离线数据交换是针对数据时效要求低、吞吐量大的场景,解决大规模数据的批量迁移问题,其实现原理是将不同数据源的交换抽象为从源头数据源读取数据的读取插件,以及向目标端写入数据的写入插件,理论上可以支持任意类型数据源的数据交换工作。采用插件化方式构建,将数据源读取和写入抽象成读取插件、写入插件。

离线数据同步:

3.实时数据交换

实时数据交换主要负责把数据库、日志、爬虫等数据实时接入Kafka、Hive、Oracle等存储中,便于后续进行实时计算或供业务查询分析使用。

实时同步有两个核心服务:数据订阅服务(Client Server)、数据消费服务(Consumer Server)。

数据订阅服务主要包含数据的订阅和读取、任务实例的启停控制等功能,Client Server采用插件式设计思路,可以支持扩展不同类型的数据订阅读取。

数据存储

类数据汇聚后,首先面临的是存储压力,不同类型的数据内容、不同的数据汇聚方式及未来可能的使用场景,对存储的选择也会有较多的考虑。常见的问题有:

除了上面要考的内容,还要考虑如下内容:

当然数据集成平台在建设的过程中要考虑到用户的体验,在管理好数据源的基础上,里面的表字段做到可视化,源表和目标表的字段自动对其,方便查看和排查问题,还有就是要考虑数据质量,避免重复接入,或者接入脏数据,脏数据可以在源端控制好,或者直接丢弃,既然是集成,当然是之多各种各样的数据源,同步方式也要支持多种,做到可视化,做好数据集成监控,还有就是接入的数据存放在哪里,所以在接入的存放点我们要设置好规范,不能乱接入,命名规范(可以看下数据中台-实施篇:数据接入相关规范)。还有就是各种作业的命名规范,最好一眼就能看出来这个作业名是从哪里到哪里,是什么业务的什么表等。数据集成平台最好做到零代码开发接入,通过配置等就可以实现各个数据存储系统之间的相互接入。

参考:
《数据中台:让数据用起来》
数据采集与埋点
数据埋点怎么做
基于Apache doris怎么构建数据中台(四)-数据接入系统

标签:集成,存储,同步,数据源,离线,数据交换,数据
来源: https://www.cnblogs.com/zsql/p/15798421.html