DataPipeline已经完成了很多优化和提升工作,可以很好地解决当前企业数据集成面临的很多核心难题。

1. 任务的独立性与全局性。

从Kafka设计之初,就遵从从源端到目的的解耦性。下游可以有很多个Consumer,如果不是具有这种解耦性,消费端很难扩展。企业做数据集成任务的时候,需要源端到目的端的协同性,因为企业最终希望把握的是从源端到目的端的数据同步拥有一个可控的周期,并能够持续保持增量同步。在这个过程中,源端和目的端相互独立的话,会带来一个问题,源端和目的端速度不匹配,一快一慢,造成数据堆积现象严重。所以,企业用户在建立一个数据任务之后,我们希望对任务进行缓冲的控制,避免数据丢失。

2. 任务并行化的方式。

如果企业客户有1000张数据表需要建立数据集成的任务,就要考虑用什么方式进行任务切分最佳。其中一种方式是把1000张表切分成若干个任务。这种情况下,Source Task的负载很难做到均衡,Sink Task可以消费多个Topics,依然存在负载不均的问题,每个任务负载多少张表其实是很难均衡的。每增加一个任务都会触发Rebalance机制。可以想象,每一张表都通过Source Connector和Sink Connector初始化一个源端和目的端任务,会大大增加Rebalance的开销。

3. 异构数据的映射。

在给企业客户做数据集成的时候,50%几率都会遇到一些脏活累活——异构数据源的映射(Mapping)。这个映射对很多互联网公司来说不是那么严重什么事儿,因为数据库设计的都比较符合规范,对字段的命名方式等都会比较“优雅”(统一)。但是在传统企业里,由于很多业务系统都会外包,还有一些意识的原因,导致数据库设计的没有那么规范和统一。用Kafka Connect做数据集成的时候,需要尽可能做到异构数据精准的还原,尤其金融行业客户对此要求比较高。另外,当确实遇到数据之间不匹配的情况时,可以在业务数据之间进行比较合理的映射。

另外,源端的Source Record包含了每一列的基本数据类型(INT16、STRING等)以及可选的meta信息(例如“name”)。目的端处理Sink Record的时候,需要依据基本数据类型以及meta信息决定映射关系。

4. Schema变化的处理策略。

给企业做数据集成的时候,需要根据数据源Schema的变化给出对应的处理策略。基于Kafka Connect框架,我们提供了以下几种处理策略:

(1)Backward Compatibility:可使用最新的Schema一致访问所有数据,e.g. 删除列、添加具有默认值的列。

(2)Forward Compatibility:可使用最旧的Schema一致访问所有数据,e.g. 删除具有默认值的列。

(3)Full Compatibility:可任意使用新旧Schema访问所有数据。

Kafka Connect推荐使用Backward Compatibility,这也是Schema Registry的默认值。另外,企业用户还会提出源端删除列,目的端需要忽略,源端添加具有默认值列,目的端需要跟随等需求,都以Task为单位进行配置和实现。

更多关于实时数据集成的问题,欢迎直接访问官方网址申请试用:www.datapipeline.com

基于Kafka Connect框架DataPipeline可以更好地解决哪些企业数据集成难题?的更多相关文章

  1. 基于Kafka Connect框架DataPipeline在实时数据集成上做了哪些提升?

    在不断满足当前企业客户数据集成需求的同时,DataPipeline也基于Kafka Connect 框架做了很多非常重要的提升. 1. 系统架构层面. DataPipeline引入DataPipeli ...

  2. 打造实时数据集成平台——DataPipeline基于Kafka Connect的应用实践

    导读:传统ETL方案让企业难以承受数据集成之重,基于Kafka Connect构建的新型实时数据集成平台被寄予厚望. 在4月21日的Kafka Beijing Meetup第四场活动上,DataPip ...

  3. DataPipeline CTO陈肃:构建批流一体数据融合平台的一致性语义保证

    文 | 陈肃 DataPipelineCTO 交流微信 | datapipeline2018 本文完整PPT获取 | 关注公众号后,后台回复“陈肃” 首先,本文将从数据融合角度,谈一下DataPipe ...

  4. 以Kafka Connect作为实时数据集成平台的基础架构有什么优势?

    Kafka Connect是一种用于在Kafka和其他系统之间可扩展的.可靠的流式传输数据的工具,可以更快捷和简单地将大量数据集合移入和移出Kafka的连接器.Kafka Connect为DataPi ...

  5. DataPipeline丨新型企业数据融合平台的探索与实践

    文 |刘瀚林 DataPipeline后端研发负责人 交流微信 | datapipeline2018 一.关于数据融合和企业数据融合平台 数据融合是把不同来源.格式.特点性质的数据在逻辑上或物理上有机 ...

  6. DataPipeline CTO陈肃:从ETL到ELT,AI时代数据集成的问题与解决方案

    引言:2018年7月25日,DataPipeline CTO陈肃在第一期公开课上作了题为<从ETL到ELT,AI时代数据集成的问题与解决方案>的分享,本文根据陈肃分享内容整理而成. 大家好 ...

  7. Kafka ETL 之后,我们将如何定义新一代实时数据集成解决方案?

    上一个十年,以 Hadoop 为代表的大数据技术发展如火如荼,各种数据平台.数据湖.数据中台等产品和解决方案层出不穷,这些方案最常用的场景包括统一汇聚企业数据,并对这些离线数据进行分析洞察,来达到辅助 ...

  8. DataPipeline丨瓜子二手车基于Kafka的结构化数据流

    文 |彭超 瓜子大数据架构师 交流微信 | datapipeline2018 一.为什么选择Kafka   为什么选Kafka?鉴于庞大的数据量,需要将其做成分布式,这时需要将Q里面的数据分到许多机器 ...

  9. 使用Kafka Connect创建测试数据生成器

    在最近的一些项目中,我使用Apache Kafka开发了一些数据管道.在性能测试方面,数据生成总是会在整个活动中引入一些样板代码,例如创建客户端实例,编写控制流以发送数据,根据业务逻辑随机化有效负载等 ...

随机推荐

  1. 02_创建Git仓库,克隆仓库,git add,git commit,git push,git pull,同行冲突,不同行冲突的结局方案,git mergetool的使用

    1 创建Git资源库,残酷目录信息 创建git资源库的命令: git init –bare 仓库名称 (其中-bare表示的意思是空的库的意思) 进入E:\software\repository\gi ...

  2. ORM对象关系映射之GreenDAO源码解析

    上一篇我们学习了GreenDAO的CRUD基本操作,可以说是非常的方便的,而且GreenDAO的效率和性能远远高于其它两款流行的ORM框架,下面是我从官网找的一副它们三个ORM框架之间的性能测试的直观 ...

  3. AngularJS进阶(十五)Cookie 'data' possibly not set or overflowed because it was too large

    Cookie 'data' possibly not set or overflowed because it was too large (5287 > 4096 bytes)! 注:请点击此 ...

  4. 【面试笔试算法】Program 2:Amusing Digits(网易游戏笔试题)

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 网易成立于1997年6月,是中国领先的互联网技术公司.其相继推出了门户网站.在线游戏.电子邮箱.在线教育.电子商务等多种服 ...

  5. Palette状态栏颜色提取,写的不错就分享了

    Palette 说Palette之前先说下前面提到的Pager.ViewPager是什么大家应该都是知道的了,一般ViewPager.xxxTabStrip.Fragment三个好基友是一起出现的.这 ...

  6. Android编译系统中的Kconfig,Makefile,.config编译系统浅析

    在对Android进行编译时,用的就是Linux下的Makefile和Kconfig编译系统,对整个系统进行编译.当然还包括很多配置命令,比如make defconfig, make oldconfi ...

  7. SharePoint 2013 页面访问,Url中间多一段&quot;_layouts/15/start.aspx#&quot;

    问题描述: 我想访问如下页面 http://Host/_layouts/15/ManageFeatures.aspx 点击以后页面地址没有错,但是中间多了一段"_layouts/15/sta ...

  8. Leetcode_252_Implement Stack using Queues

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/48598773 Implement the followin ...

  9. web报表工具FineReport的公式编辑框的语法简介

    FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式, ...

  10. 【37】String,StringBuffer,StringBuilder区别和概念

    基本的概念: 查看 API 会发现,String.StringBuffer.StringBuilder 都实现了 CharSequence 接口,内部都是用一个char数组实现,虽然它们都与字符串相关 ...