关于数据同步:海量数据同步首选-SeaTunnel-Zeta-引擎正式发布

22次阅读

共计 6419 个字符,预计需要花费 17 分钟才能阅读完成。

点亮 ⭐️ Star · 照亮开源之路
https://github.com/apache/inc…

Apache SeaTunnel(incubating) 正式推出 2.3.0 正式版本,并正式公布本人的外围同步引擎 Zeta!此外,SeaTunnel 2.3.0 还带来了许多大家期待已久的新个性,包含反对 CDC、以及近百种 Connector 等。

文档
https://seatunnel.apache.org/…

下载地址

https://seatunnel.apache.org/…

01 次要更新

SeaTunnel 本人的同步引擎—Zeta 正式公布

Zeta Engine 是一个专门为数据同步场景设计和开发的数据同步引擎,更快、更稳固、更省资源也更加易用,在寰球多种开源同步引擎测试比对状况下,Zeta 性能都遥遥领先。SeaTunnel Zeta 引擎,经验了数个研发版本,于 2022 年十月公布 beta 版本,通过社区探讨决定,将其命名为 Zeta(宇宙中最快的星,社区同学认为这充分体现了该引擎的个性),在社区用户贡献者的致力下,咱们明天正式公布 Zeta Engine 生产可用版本,其个性包含:

  1. 简略易用,新的引擎尽量减小第三方服务的依赖,能够不依赖 Zookeeper、HDFS 等大数据组件实现集群治理、快照存储和集群 HA 性能。这对于那些没有大数据平台或者不违心依赖大数据平台进行数据同步的用户十分有用。
  2. 更省资源,在 CPU 层面,Zeta Engine 外部应用 Dynamic Thread Sharing(动静线程共享)技术,在实时同步的场景下,如果表的数量很多但每张表的数据量又很小,Zeta Engine 会将这些同步工作在共享线程中运行,这种形式能够缩小不必要的线程创立,节俭系统资源。在读取和数据写入端,Zeta Engine 的设计指标是尽量减少 JDBC 连贯的数量。在 CDC 场景下,Zeta Engine 会尽量复用日志读取解析资源。
  3. 更稳固,在此版本中,Zeta Engine 将数据同步的工作以 Pipeline 作为 Checkpoint 和容错的最小粒度,一个 task 的失败只会影响到和它有上下游关系的 task,尽量避免 task 失败造成整个 Job 失败或回滚。同时,对于源端数据有存储工夫限度的场景,Zeta Engine 反对开启数据 Cache,主动缓存从源端读取的数据,再由上游工作读取缓存数据并写入指标端。此场景下,即便指标端呈现故障导致数据无奈写入,也不会影响源端的失常读取,避免源端数据过期被删除。
  4. 更疾速,Zeta Engine 的执行打算优化器会以减小数据可能的网络传输为指标来做执行打算的优化,从而升高数据序列化和反序列化带来的整体同步性能的损耗,更快地实现数据同步操作。当然,它还反对速度限制,让同步作业以一个正当的速度进行。
  5. 全场景数据同步反对。SeaTunnel 的指标是反对离线批量同步下的全量同步和增量同步,反对实时同步以及 CDC。

    近百种 Connector 反对

反对 ClickHouse、S3、Redshift、HDFS、Kafka、MySQL、Oracle、SQLserver、Teradata、PostgreSQL、AmazonDynamoDB、Greenplum、Hudi、Maxcompute、OSSfile 等 97 种 Connector(详见:https://seatunnel.apache.org/…)。

此版本中,咱们在大量用户的反馈和社区贡献者的测试下,很多 Connector 已欠缺至生产可用规范,对于还处于 Alpha 以及 Beta 阶段的 Connector,也欢送大家一起退出测试。

反对 CDC Connector

变更数据捕捉 (CDC) 是指辨认和捕捉对数据库中的数据所做的更改,再将这些更改实时传送到上游流程或零碎的过程。这是数据集成中十分重要的一个性能,也是大家期待已久的性能,在 2.3.0 版本中,也首次反对了 CDC Connector,其中次要是 JDBC-Connector(包含 MySQL,SQLServer 等)。

SeaTunnel CDC 是基于市面上现有的 CDC 组件的优缺点,以及大量用户访谈所得进去的相干痛点问题的集中解决方案,它具备以下个性:

  • 反对根底的 CDC
  • 反对无锁并行快照历史数据
  • 以下性能目前还在开发阶段,置信很快能跟大家见面:
  • 反对日志心跳检测和动静加表
  • 反对分库分表和多构造表读取
  • 反对 Schema evolution

    Zeta 引擎 Metrics 反对

SeaTunnel 2.3.0 版本也反对了 Zeta Metrics,用户能够获取到作业执行实现后的各种指标,包含作业执行工夫、作业执行状态、作业执行的数据量等。后续,咱们将提供更多、更欠缺的指标,便于用户更好地监控作业的运行状况。

Zeta 引擎反对长久化存储

SeaTunnel 2.3.0 版本提供了长久化存储的性能,用户能够将作业的元数据存储到长久化存储中,保障了重启 SeaTunnel 后不会失落作业的元数据。

Zeta 引擎 CheckPoint 反对 S3 存储插件

Amazon S3 为各种用例提供云对象存储,也是最近社区呼声较高的 Checkpoint 存储插件之一。因而,咱们顺便反对了 S3 Checkpoint 存储插件,并且兼容 S3N 和 S3A 协定。

02 Change Log

新 Feature

Core

  • [Core] [Log] 集成 slf4j 和 log4j2 对立治理日志 #3025
  • [Core] [Connector-V2] [Exception] 对立 Connector 异样格局 #3045
  • [Core] [Shade] [Hadoop] 增加 hadoop-shade 包 #3755

Connector-V2

  • [Connector-V2] [Elasticsearch] 新增 Source
    Connector #2821
  • [Connector-V2] [AmazondynamoDB] 新增 AmazondynamoDB Source & Sink Connector #3166
  • [Connector-V2] [StarRocks] Add StarRocks Sink Connector #3164
  • [Connector-V2] [DB2] 新增 DB2 source & sink connector #2410
  • [Connector-V2] [Transform] 新增 transform-v2 API #3145
  • [Connector-V2] [InfluxDB] 新增 influxDB Sink Connector #3174
  • [Connector-V2] [Cassandra] 新增 Cassandra Source & Sink Connector #3229
  • [Connector-V2] [MyHours] 新增 MyHours Source Connector #3228
  • [Connector-V2] [Lemlist] 新增 Lemlist Source Connector #3346
  • [Connector-V2] [CDC] [MySql] 新增 MySql CDC Source Connector #3455
  • [Connector-V2] [CDC] [SqlServer] 新增 SqlServer CDC Source Connector #3686
  • [Connector-V2] [Klaviyo] 新增 Klaviyo Source Connector #3443
  • [Connector-V2] [OneSingal] 新增 OneSingal Source Connector #3454
  • [Connector-V2] [Slack] 新增 Slack Sink Connector #3226
  • [Connector-V2] [Jira] 新增 Jira Source Connector #3473
  • [Connector-V2] [Sqlite] 新增 Sqlite Source & Sink Connector #3089
  • [Connector-V2] [OpenMldb] 新增 OpenMldb Source Connector #3313
  • [Connector-V2] [Teradata] 新增 Teradata Source & Sink Connector #3362
  • [Connector-V2] [Doris] 新增 Doris Source & Sink Connector #3586
  • [Connector-V2] [MaxCompute] 新增 MaxCompute Source & Sink Connector #3640
  • [Connector-V2] [Doris] [Streamload] 新增 Doris streamload Sink Connector #3631
  • [Connector-V2] [Redshift] 新增 Redshift Source & Sink Connector #3615
  • [Connector-V2] [Notion] 新增 Notion Source Connector #3470
  • [Connector-V2] [File] [Oss-Jindo] 新增 OSS Jindo Source & Sink Connector #3456

Zeta 引擎

  • 作业实现时反对打印作业指标 #3691
  • 增加 Metris 信息统计 #3621
  • 反对 IMap 文件存储 (包含 本地文件、HDFS、S3)#3418 #3675
  • 反对保留作业重启状态信息 #3637

E2E

  • [E2E] [Http] 增加 http 类型 Connector e2e 测试用例 #3340
  • [E2E] [File] [Local] 增加 本地文件 Connector e2e 测试用例 #3221

    Bug Fixes

Connector-V2

  • [Connector-V2] [Jdbc] 修复 Jdbc Source 批处理模式下无奈进行 #3220、
  • [Connector-V2] [Jdbc] 修复 Jdbc 连贯重置谬误 #3670
  • [Connector-V2] [Jdbc] 修复 Jdbc connector exactly-once 中呈现的 NPE #3730
  • [Connector-V2] [Hive] 修复 Hive 数据写入过程中呈现 NPE #3258
  • [Connector-V2] [File] 修复 File Connector 获取 FileSystem 时呈现的 NPE #3506
  • [Connector-V2] [File] 修复 File Connector 用户未配置 fileNameExpression 时抛出的 NPE #3706
  • [Connector-V2] [Hudi] 修复 Hudi Connector 的 split owner 可能为负的 Bug #3184
  • [Connector-V2] [Jdbc] 修复 Jdbc Connector 执行实现后未敞开资源的谬误 #3358

Zeta 引擎

  • [ST-Engine] 修复应用 Zeta 引擎时数据文件名称反复的问题 #3717
  • [ST-Engine] 修复节点失败从 Imap 长久化无奈失常读取数据的问题 #3722
  • [ST-Engine] 修复 Zeta 引擎 Checkpoint #3213
  • [ST-Engine] 修复 Zeta 引擎 Checkpoint 失败的 Bug #3769

    优化

Core

  • [Core] [Starter] [Flink] 批改 Starter API 以兼容 Flink 版本 #2982
  • [Core] [Pom] [Package] 优化打包流程 #3751
  • [Core] [Starter] 优化 Logo 打印逻辑以适配高版本 JDK #3160
  • [Core] [Shell] 优化二进制插件下载脚本 #3462

Connector-V1

  • [Connector-V1] 移除 Connector V1 模块 #3450

Connector-V2

  • [Connector-V2] 增加 Connector Split 根底模块以复用逻辑 #3335
  • [Connector-V2] [Redis] 反对集群模式 & 用户认证 #3188
  • [Connector-V2] [Clickhouse] 反对 nest 和 array 数据类型 #3047
  • [Connector-V2] [Clickhouse] 反对 geo 类型数据 #3141
  • [Connector-V2] [Clickhouse] 改良 double 数据类型转换 #3441
  • [Connector-V2] [Clickhouse] 改良 Float、Long 类型数据转换 #3471
  • [Connector-V2] [Kafka] 反对设置读取获取起始偏移量或音讯工夫 #3157
  • [Connector-V2] [Kafka] 反对指定多个分区键 #3230
  • [Connector-V2] [Kafka] 反对动静发现 分区和 Topic #3125
  • [Connector-V2] [Kafka] 反对 Text 格局 #3711
  • [Connector-V2] [IotDB] 增加参数校验 #3412
  • [Connector-V2] [Jdbc] 反对设置数据获取大小 #3478
  • [Connector-V2] [Jdbc] 反对 Upsert 配置 #3708
  • [Connector-V2] [Jdbc] 优化 Jdbc Connector 的提交流程 #3451
  • [Connector-V2] [Oracle] 改良 Oracle 连接器的数据类型映射 #3486
  • [Connector-V2] [Http] 反对在 Http 连接器中提取简单 Json 字符串 #3510
  • [Connector-V2] [File] [S3] 反对 S3A 协定 #3632
  • [Connector-V2] [File] [HDFS] 反对应用 hdfs-site.xml #3778
  • [Connector-V2] [File] 反对文件拆分 #3625
  • [Connector-V2] [CDC] 反对在 Jdbc ElsticSearch 中写入 CDC 更改日志事件 #3673
  • [Connector-V2] [CDC] 反对在 Jdbc ClickHouse 中写入 CDC 更改日志事件 #3653
  • [Conncetor-V2] [CDC] 反对在 Jdbc Connector 中写入 CDC 更改日志事件 #3444

Zeta 引擎

  • Zeta 引擎优化以进步性能 #3216
  • 反对自定义 JVM 参数 #3307

    CI

  • [CI] 优化 CI 执行流程以放慢执行速度 #3179 #3194
    E2E
  • [E2E] [Flink] 反对在工作管理器上执行命令行 #3224
  • [E2E] [Jdbc] 优化 JDBC e2e 以进步测试代码的稳定性 #3234
  • [E2E] [Spark] 更正了 e2e 容器中的 Spark 版本为 2.4.6 #3225

具体 Change log 见:https://github.com/apache/inc…

03 致谢

每一个版本公布的背地都是社区有数人的致力,在夜深人静的时候,在假期的时候,在工作之余的时候,在有数碎片化的工夫里,为我的项目的倒退作出本人的奉献,尤其感激(@Jun Gao,@ChaoTian)等同学针对候选版本进行了多轮性能测试和稳定性测试。咱们衷心感谢大家的付出,以下是本次版本的贡献者名单(GitHub ID),排名不分先后:
Contributors
EricJoy2048
TaoZex
Hisoka-X
TyrantLucifer
ic4y
liugddx
CalvinKirs
ashulin
hailin0
Carl-Zhou-CN
FWLamb
wuchunfu
john8628
lightzhao
15531651225
zhaoliang01
harveyyue
MonsterChenzhuo
hx23840
Solomon-aka-beatsAll
matesoul
lianghuan-xatu
skyoct
25Mr-LiuXu
iture123
FlechazoW
mans2singh

特别感谢本次的 Release Manager @TyrantLucifer。尽管是第一次负责 Release Manager 这个角色,但他踊跃和社区就版本布局开展了充沛沟通,不余遗力地跟踪发版前的问题,解决 blocking issue,治理版本品质等,完满胜任此次发版工作。感激他为社区的付出,也欢送其余 Committer 和 PPMC 可能被动认领 Release Manager 的工作,帮忙社区更快捷、高质量地实现发版。

正文完
 0