企业数据集成面临的4个挑战

作者: hugotu   发布时间:2018-05-11
什么是数据集成?最简单的应用场景就是:一个数据源,一个数据目的地,数据目的地可以是个数据仓库,把关系型数据库的数据同步到数据仓库里,就形成了一次数据集成。

我们先来看一个真实的数据集成案例。

G公司是DataPipeline的一个典型客户,拥有近千个数据源,类型主要包括Oracle、SQL Server、MySQL等。根据业务的需要和现有的基础设施情况,这些数据源分别需要同步到不同的目的端,类型主要包括MySQL、HDFS、Kafka等。基于以上背景,G公司的具体要求如下:

1. 需要支持约5TB日新增数据量的同步,今年将增长5-10倍。

2. 这些数据一部分数据源要求实时同步,另一部分可接受定时同步。

3. 缺乏强大的运维人才,现有数据源的业务承载压力有限,对压力非常的敏感,要求进行限流。

4. 从这些数据源到目的地的同步都是Kettle写脚本实现的,管理起来比较混乱,要求通过一个管理平台对任务进行集中化的配置和管理。

5. 上游的数据源和下游的数据目的都不稳定,随时可能出现各种问题,要求通过一个高可用的平台以减少数据传输中断的影响。

6. 当数据同步任务被随机的暂停/恢复时,要求可以保证数据的完整性。

7. 当数据源和目的地随机出现故障和过载时,要求可以保证数据的完整性。

8. 当数据源Schema发生变化时,要求可以根据业务需求灵活配置目的地策略。

G公司的案例只是当前企业数据集成需求的一个典型应用场景。事实上,无论是互联网企业还是传统企业,在面临数据集成的时候都会遇到以下4个挑战:

1. 数据源的异构性:传统ETL方案中,从数据源到目的地的同步都是脚本实现的,异构数据源就意味着企业要做大量的适配工作。

2. 数据源的动态性:在数据集成时,上游的数据源端经常会发生各种变化,有些数据源可能被删掉一些结构,这可能会影响到后续数据分析的结果。

3. 任务的可伸缩性:当数据集成只有几个数据源,系统压力的问题不太突出。当数据集成面临的是成百上千个数据源时,多任务并行就需要进行一些限速与缓冲的调度,让读写速度相互匹配。

4. 任务的容错性:当数据在传输过程中出现问题的时候,是否可以实现断点重传,且不产生重复的数据。

以上也是DataPipeline要为企业数据集成过程中解决的最关键的4个问题。

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

0 个评论

要回复文章请先登录注册