数据中台之数据集成
在现代企业中,由于使用场景、业务形态、技术选型、开发架构的差异,往往有多个异构的、基于不同的软硬件平台上的信息系统同时运行,这些系统的数据源彼此独立、相互封闭,使得数据难以在系统之间交流、共享和融合,从而形成了「信息孤岛」。随着信息化应用的不断深入,企业内部、企业与外部信息交互的需求日益强烈,急切需要对已有的信息进行整合,联通“信息孤岛”,共享信息。
在企业构建数据数据中台来解决数据互通和共享的要求下,「数据集成」是打通信息系统和数据中台的管道和桥梁,是构成数据中台全、统、通的重要基础。
本文所讲的数据集成,主要指的是从不同的数据存放介质将数据同步至数据中台的环节,在某些场景下,也可以称作「数据采集」、「数据同步」、「数据上云」。
准备工作
在数据集成实施开发前,我们一般要进行以下调研和准备工作:
数据源分类:见上一期的 数据中台之数据源,确定数据源种类,并根据数据及时性要求,确定采集的技术组件
网络和环境:确定数据源的网络和环境信息,根据实施集成方案,对现有的网络和环境进行必要的改造和优化
网络类型 | IDC、公有云、专有云、VPC等 |
网络传输 | 公网直连、白名单、VPN、专线等 |
带宽及限制 | 传输带宽、请求频次 |
数据库环境 | 主备、高可用 |
连接方式 | JDBC、API、Restful、WebService、SDK |
数据内容:调研数据的全量大小、增量大小、分布情况
数据质量:调研数据的增量标记、索引、主键信息等
数据范围:调研需要集成的数据范围,筛选出需要集成到数据中台的相关数据,一般以支撑业务流程或带业务属性的数据为主
业务架构
针对采集的业务内容,以及常见的同步分类,我们将数据集成的业务架构整理如下:
集成流程
以下通过几个典型的数据同步场景案例,来介绍数据同步流程。
3.1 关系型数据库离线同步流程
3.2 API类数据同步
API类数据同步
3.3 实时类数据同步
数据同步模块
数据同步模块是在各个存储单元之间执行数据交换的管道。
为了在「DTinsightIDE」进行大规模数据集的挖掘与计算,通常的做法是在任务执行前将数据传输至DTinsightIDE,并在任务执行结束后将计算结果传输至外部存储单元(例如MySQL等应用数据库)。
数据集成的作用如下图所示:
袋鼠云数栈-数据同步模块的具有以下特性:
丰富的数据源支持
数据同步模块可对MySQL、Oracle、SQLServer、PostgreSQL、HDFS、Hive、HBase、FTP、ElasticSearch、ODPS、ElasticSearch、Redis、MongoDB等数据源,支持对这些数据源进行读取或写入数据。使用时仅需配置数据源的连接信息(例如填写Oracle数据库的JDBC URL、用户名、密码等信息),再配置对应的数据同步任务即可。
分布式系统架构
数据同步模块在系统架构上采用先进的分布式系统架构(FlinkX[1]),可实现多个节点并发读取、写入数据,可极大的提升数据同步的吞吐量,相比Sqoop、Kettle等开源数据同步方案,数据吞吐能力更高、配套功能。
可视化配置
用户在使用数据同步模块时,可快速通过可视化配置的方式完成同步任务的创建与配置,主要包括同步任务选择源库源表、目标库目标表、配置字段映射、配置同步速度等。
全量/增量同步
从业务系统读取数据的过程中,为了最小化对业务系统的影响,通常需要进行数据的增量同步。在源数据库表中具备数据变更时间字段的情况下,支持对关系型数据库进行增量数据同步,用户仅需输入相应的数据过滤语句即可实现。
同步速度的控制
支持数据同步速度控制,通过设置同步速率上限来调整,此参数需根据硬件配置和数据量来调整,用户根据业务需求选择设定的值。
脏数据管理
支持对脏数据是否需要记录进行配置,可指定脏数据的存储表名、生命周期,同时可配置当脏数据量超过一定数量或一定比例时任务置为失败,提示用户及时排查脏数据问题,并生成分析报告。
相关阅读:
基于数据中台的大数据治理,企业数字化转型认知——数据就是生产力
基于数据中台的大数据治理,企业三界:业务界面,应用界面,数据界面
基于数据中台的大数据治理,某知名鞋服企业基于画像体系的产品设计
基于数据中台的大数据治理,某省交警基于行车轨迹构建车辆画像应用案例
袋鼠云在大数据领域深耕7年,拥有丰富的大数据平台建设经验和成熟的产品体系,想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=bbs
同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:https://github.com/DTStack