山客的个人博客 IT工程师

说一说数据集成


什么是数据集成

数据集成是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。在企业数据集成领域,已经有了很多成熟的框架可以利用。通常采用联邦式、基于中间件模型和数据仓库等方法来构造集成的系统,这些技术在不同的着重点和应用上解决数据共享和为企业提供决策支持。
在数据平台项目里,数据集成一般主要是实现从各类异构数据源周期性或实时性同步数据。

有哪些数据集成的工具

大部份公司都会有自己的数据集成产品,支撑数据的同步、采集、传输、共享等任务。目前比较成熟的开源数据集成工具主要分为以下几种:

  • 数据填报类:用于人工进行数据导入的工具,一般通过报表工具或是自定义表单实现。例如ureport2、JRelax-BI。
  • 数据同步工具:最热门的工具当属datax、sqoop等,此类工具重点是实现全量或是基于时间戳进行周期性数据同步。
  • 新型大数据同步:包括Streamsets、Waterdrop等,核心原理是此类工具一般需要基于大数据计算环境(hadoop、spark)进行数据同步,优点是数据同步效率的大幅提升。
  • 数据清洗处理工具:kettle工具,无人不知,无人不晓,属于业界最流行,功能最强大的ETL工具。
  • 日志收集:logstash,擅长于实时收集日志信息,基于规则进行数据提取。
  • 互联网爬虫:pyspider,擅长从网页上收集数据。
  • 实时同步工具:数据库流复制技术(ogg、mysql流复制)、canal等,实时同步一般会采用kafka进行增量日志存储,以达到实时处理的目的。

当然数据集成的工具还有很多,甚至很多项目中就是通过简单的shell脚本和定时任务即可完成数据的汇聚。但如果能够打造一个功能成熟、性能优异、运维方便的数据集成平台,则肯定可以提升数据汇聚的效率。

数据集成的架构

数据入仓主要包括直接入仓和间接入仓。

  • 数据集成工具连接数据源,将数据同步入仓;
  • 数据源数据通过集成工具或是前置采集适配器将数据送到接口机上,再将接口机上数据同步入仓;
  • 在不影响业务系统业务生产的情况下,数据库的数据都复制一个从库,方便后续的处理入仓;

上一篇 数据平台浅谈

Comments

Content