ToB企服应用市场:ToB评测及商务社交产业平台

标题: 十款开源数据集成工具 [打印本页]

作者: 伤心客    时间: 2024-10-12 04:39
标题: 十款开源数据集成工具
在大数据作业开发中,数据集成工具黑白常重要的一个环节,一个好的数据集成系统从可用性、架构扩展性、底层引擎选型、数据源支持本领等方面都需要肯定的考量,在本文中汇总了十款开源的数据集成系统,作者本人在过往的开发过程中,使用过此中的7款(DataX、Flume、Seatunnel、Canal、BitSail、InLong、Chunjun(Flinkx) ),此中三款(AiyByte、CloudCanal、Nifi),本文是对于每款数据集成软件的根本介绍说明,如果对于实践部门感兴趣的话,可以关注后续内容(如果你对于数据集成感兴趣的话,可以加入我们的小群(文末扫码),一起来交换&测试)
本文分为两个部门,一部门是对于十款差别组件的介绍,包括基本信息、特性支持、架构介绍等等,可以看成对于每个组件的基本了解,固然了,如果你有兴趣想参与测试每个组件的话,也欢迎一起来举行实践操作。另一部门是关于开源组件的一些根本维度对比,包括开源社区、背后支持企业、活跃度等等。

01
Apache InLong: 一站式、全场景的海量数据集成框架
Apache InLong(应龙)是一站式、全场景的海量数据集成框架,同时支持数据接入、数据同步和数据订阅,提供主动、安全、可靠和高性能的数据传输本领,方便业务构建基于流式的数据分析、建模和应用。InLong 项目原名 TubeMQ ,专注于高性能、低成本的消息队列服务。为了进一步释放 TubeMQ 周边的生态本领,我们将项目升级为 InLong,专注打造一站式、全场景海量数据集成框架。Apache InLong 依托 10 万亿级别的数据接入和处理本领,整合了数据采集、汇聚、存储、分拣数据处理全流程,拥有简单易用、灵活扩展、稳定可靠等特性。该项目最初于 2019 年 11 月由腾讯大数据团队募捐到 Apache 孵化器,2022 年 6 月正式毕业成为 Apache 顶级项目。


云原生大数据技术荟
一帮子做了10多年大数据技术的人,分享极具干货的大数据技术内容
36篇原创内容
公众号
InLong 架构计划

InLong有两种架构模式,一种是标准架构,提供了更加丰富的本领,也支持Dashboard、CLI、API、SDK的本领,轻量化架构是将中心的数据集成层单独剥离了出来,更加的简单、灵活。
标准架构:包含 InLong Agent、Manager、MQ、Sort、Dashboard 等全部 InLong 组件,同时支持`数据接入`、`数据同步`和`数据订阅`。



轻量化架构:只包含 InLong Sort 一个组件,也可以搭配 Manager,Dashboard 一起使用。轻量化架构简单、灵活,支持`数据同步`。


InLong的特性支持




云原生大数据技术荟
一帮子做了10多年大数据技术的人,分享极具干货的大数据技术内容
36篇原创内容
公众号
02
SeaTunnel: 下一代高性能、分布式、海量数据集成框架

SeaTunnel是一个非常易于使用、超高性能的分布式数据集成平台,支持海量数据的实时同步。它每天可以稳定高效地同步数百亿数据,已被近100家企业应用于生产。
SeaTunnel专注于数据集成和数据同步,重要解决数据集成范畴的常见题目:


SeaTunnel特性支持



03
Chunjun:基于Flink的批流同一的数据同步工具

纯钧(ChunJun,原名FlinkX),是一款稳定、易用、高效、批流一体的数据集成框架,目前基于实时盘算引擎Flink实现多种异构数据源之间的数据同步与盘算,已在上千家公司部署且稳定运行。


云原生大数据技术荟
一帮子做了10多年大数据技术的人,分享极具干货的大数据技术内容
36篇原创内容
公众号
纯钧(ChunJun)将差别的数据库抽象成了reader/source 插件,writer/sink 插件和lookup 维表插件,其具有以下特点:



差别的数据源头被抽象成差别的Reader插件,差别的数据目标被抽象成差别的Writer插件。理论上,FlinkX框架可以支持任意数据源类型的数据同步工作。作为一套生态系统,每接入一套新数据源该新加入的数据源即可实现和现有的数据源互通。



在底层实现上,FlinkX依靠Flink,数据同步使命会被翻译成StreamGraph在Flink上执行,基本原理如下图:




04
BitSail : 高性能数据集成引擎

BitSail是字节跳动开源的基于分布式架构的高性能数据集成引擎, 支持多种异构数据源间的数据同步,并提供离线、实时、全量、增量场景下的全域数据集成解决方案,目前服务于字节内部几乎全部业务线,包括抖音、本日头条等,每天同步数百万亿数据
BitSail支持功能



BitSail使用场景



BitSail重要特点






05
AirByte:开源的数据移动根本设施

Airbyte是一个开源的数据移动根本设施,用于构建提取和加载(EL)数据管道。它的计划具有多功能性、可扩展性和易用性。
在Airbyte中有三个重要组件需要了解:

Airbyte适用于广泛的数据集成用例,包括AI数据根本设施和EL(T)工作负载。Airbyte还可以嵌入到您自己的应用程序或平台中,为您的产品提供动力。

Airbyte协议有两个重要组成部门:源和目的地。这些组件被称为Actor。源是由一系列标准接口描述的应用程序。此应用程序从根本数据存储中提取数据。在此上下文中,数据存储是指实际存储数据的工具。一种数据存储器,包括:数据库、API、任何产生数据的东西等等。比方,Postgres Source是一个从Postgres(一个数据存储)拉取的Source。目的地是一个应用程序,它由一系列标准接口描述,用于将数据加载到数据存储区中。
协议用于描述数据的关键原语是Catalog、Configured Catalog、Stream、Configured Stream和Field:




 



 


06
CloudCanal : 数据同步、迁移工具


CloudCanal 是一款 数据同步、迁移 工具,资助企业构建高质量数据管道,具备实时高效、精确互联、稳定可拓展、一站式、混淆部署、复杂数据转换等优点。
数据迁移
将指定命据源数据全量搬迁到目标数据源,支持多种数据源,具备断点续传、顺序分页扫描、并行扫描、元数据映射裁剪、自界说代码数据处理、批量写入、并行写入、数据条件过滤等特点,对源端数据源影响小且性能好,同时满足数据轻度处理需求。
可选搭配布局迁移、数据校验和订正,满足布局准备或数据质量的需求。
数据同步
通过消费源端数据源增量操作日志,准实时在对端数据源重放,以达到数据同步目的,具备断点续传、DDL 同步、元数据映射裁剪、自界说代码数据处理、操作过滤、数据条件过滤、高性能对端写入等特点。
可选搭配布局迁移、数据初始化(全量迁移)、单次或定时数据校验与订正,满足数据准备和业务长周期数据同步对于数据质量的要求。
布局迁移和同步
资助用户快速将源端布局执行到对端的功能,具备类型转换、数据库方言转换、命名映射等特点,可独立使用,也可作为数据迁移或数据同步准备步调。
数据校验和订正
将源端和对端数据分别取出,逐字段对比,可选择差异数据订正,功能可单独使用,也可配合数据迁移或数据同步使用,满足用户数据质量验证与修复的需求。

架构计划










内核架构









使用场景




07
Flume :开源分布式、高可靠的流式日志采集系统

Apache Flume是一个开源的、分布式的数据采集系统,旨在可靠地、高效地从各种数据源采集、聚合和传输数据到目的地。Flume的计划目标是解决大规模数据采集的可靠性和扩展性题目。其基于可插拔的架构和配置驱动的方式,使得用户可以方便地定制和扩展数据采集的流程。

Flume的核心组件

2.1 Source(数据源)

Flume的数据源是指数据采集的出发点,它负责从外部数据源读取数据并将其传递给Flume的通道。Flume提供了多种数据源类型,比方Avro Source、Thrift Source和Spooling Directory Source。Avro Source支持通过Avro协议接收数据,Thrift Source支持通过Thrift协议接收数据,而Spooling Directory Source则监控指定目次下的文件,并将文件内容作为数据源。
2.2 Channel(通道)

通道是Flume的核心组件之一,用于缓存和传递从数据源接收到的数据。Flume提供了多种通道类型,如Memory Channel、File Channel和Kafka Channel。Memory Channel将数据存储在内存中,适用于高吞吐量和低延迟的场景;File Channel将数据存储在当地文件系统中,适用于对数据持久化有要求的场景;Kafka Channel基于Apache Kafka实现,支持高可靠性和可扩展性。
2.3 Sink(数据目的地)

Sink是Flume的数据目的地,它负责将数据从通道中取出并发送到指定的目标系统。Flume提供了多种Sink类型,如HDFS Sink、Hive Sink和Elasticsearch Sink。HDFS Sink将数据写入Hadoop分布式文件系统,Hive Sink将数据写入Hive表,Elasticsearch Sink将数据写入Elasticsearch索引。



08
Canal:数据库增量日志解析、采集工具


译意为水道/管道/沟渠,重要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费
早期阿里巴巴由于杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式重要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步实验数据库日志解析获取增量变更举行同步,由此衍生出了大量的数据库增量订阅和消费业务。
基于日志增量订阅和消费的业务包括

当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.x , 5.7.x , 8.0.x


工作原理

MySQL主备复制原理


canal 工作原理



09
Nifi:一个易于使用、功能强大且可靠的系统,用于处理和分发数据


简单的说,NiFi就是为了解决差别系统间数据主动流通题目而创建的。虽然dataflow这个术语在各种场景都有被使用,但我们在这里使用它来表示差别系统间的主动化的可管理的信息流。自企业拥有多个系统开始,一些系统会有数据生成,一些系统要消费数据,而差别系统之间数据的流通题目就出现了。这些题目出现的相应的解决方案已经被广泛的研究和讨论,此中企业集成eip就是一个全面且易于使用的方案。
dataflow要面临的一些挑战包括:

Nifi架构


多年来,数据流不停是架构中不可避免的题目之一。如今有许多活跃的、快速发展的技术,使得dataflow对想要成功的特定企业更加重要,好比soa,API,iot,bigData。此外,合规性,隐私性和安全性所需的严格程度也在不断提高。尽管不停的出现这些新概念新技术,但dataflow面临的困难和挑战依旧,此中重要的区别还是复杂的范围,需要适应的需求厘革的速度以及大规模边缘情况的普遍化。NiFi旨在资助解决这些现代数据流挑战。
NiFi的基本计划概念与基于流程的编程fbp的重要头脑密切相关。以下是一些重要的NiFi概念以及它们如何映射到FBP:
NiFi术语
FBP Term
描述
FlowFile
Information Packet
FlowFile表示在系统中移动的每个对象,对于每个FlowFile,NIFI都会记录它一个属性键值对和0个或多个字节内容(FlowFile有attribute和content)。
FlowFile Processor
Black Box
实际上是处理器起重要作用。在eip
术语中,处理器就是差别系统间的数据路由,数据转换或者数据中介的组合。处理器可以访问给定FlowFile的属性及其内容。处理器可以对给定工作单位中的零或多个流文件举行操作,并提交该工作或回滚该工作。
Connection
Bounded Buffer
Connections用来连接处理器。它们充当队列并允许各种进程以差别的速率举行交互。这些队列可以动态地对举行优先级排序,并且可以在负载上设置上限,从而启用背压。
Flow Controller
Scheduler
流控制器维护流程如何连接,并管理和分配全部流程使用的线程。流控制器充当署理,促进处理器之间流文件的交换。
Process Group
subnet
进程组里是一组特定的流程和连接,可以通过输入端口接收数据并通过输出端口发送数据,如许我们在进程组里简单地组合组件,就可以得到一个全新功能的组件(Process Group)。

10
DataX:异构数据源离线同步工具

DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。


计划理念


当前使用现状





DataX本身作为离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。

DataX3.0核心架构

DataX 3.0 开源版本支持单机多线程模式完成同步作业运行,本末节按一个DataX作业生命周期的时序图,从整体架构计划非常简要说明DataX各个模块相互关系。


核心模块介绍:

DataX调度流程:

举例来说,用户提交了一个DataX作业,并且配置了20个并发,目的是将一个100张分表的mysql数据同步到odps内里。DataX的调度决策思路是:
DataX 3.0六大核心优势

可靠的数据质量监控


丰富的数据转换功能


精准的速度控制


  1. "speed": {
  2.    "channel": 5,
  3.    "byte": 1048576,
  4.    "record": 10000
  5. }
复制代码
强劲的同步性能


健壮的容错机制





十款开源数据集成工具对比
[table][tr][td][/td][td] 社区活跃度
[/td][td] 开源时间
[/td][td] 主导者
[/td][td] 可视化本领
[/td][td] 执行引擎
[/td][td] 开源协议
[/td][td] Apache顶级项目
[/td][td] 推荐系数
[/td][/tr][tr][td] InLong
[/td][td] Github:InLong
Star:1.3k
Fork:482
活跃度:比力活跃
[/td][td] 2020.5.30
[/td][td] 腾讯,腾讯云的数据集成平台基于InLong构建的
[/td][td] 支持
[/td][td] Flink
Pulsar/Kafka
[/td][td] Apache-2.0 license
[/td][td] 是
[/td][td]




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4