首页 > 其他分享 >2.6倍!WhaleTunnel 客户POC实景对弈DataX

2.6倍!WhaleTunnel 客户POC实景对弈DataX

时间:2024-06-05 10:44:48浏览次数:13  
标签:同步 数据源 支持 可视化 WhaleTunnel POC DataX

file

作为阿里早期的开源产品,DataX是一款非常优秀的数据集成工具,普遍被用于多个数据源之间的批量同步,包括类似Apache DolphinScheduler的Task类型也对DataX进行了适配和增强,可以直接在DolphinScheduler里面利用通用的数据源调用DataX进行数据批量同步。

作为DolphinScheduler的社区支持者和商业版本的提供者,白鲸开源在升级到商业版WhaleScheduler的时候也遇到使用DataX的用户,因为白鲸开源也在主力维护者另外一个Apache顶级社区 Apache SeaTunnel,它对应的商业版是WhaleTunnel。所以,经常有客户会询问,WhaleTunnel比DataX优势在哪里啊? 性能到底如何?今天这里用一个客户实际的POC案例来实景对弈下,以及最终用户为什么选择WhaleTunnel替换了开源的DataX。

功能差异

首先,从功能上,我们来对比下商业版WhaleTunnel和DataX的差异点。可以看到WhaleTunnel作为一个商业数据集成工具,不仅具备了Apache SeaTunnel开源的多线功能,还在数据源数量、可视化、DDL变更和运维监控方面都做了增强,对比DataX来讲,更是在集群稳定性、批流一体、数据源以及可视化上有明显优势:

对比项 WhaleTunnel(商业) DataX
部署难度 容易 容易
运行模式 分布式,也支持单机 单机
健壮的容错机制 无中心化的高可用架构设计,有完善的容错机制 易受网络闪断、数据源不稳定等因素影响
支持的数据源丰富度 支持批量和CDC 165种数据源: MySQL、PostgreSQL、Oracle、SQLServer、SAP Hana、Hive、S3、OSS】文件、RedShift、PolarDB
HBase、Doris、Clickhouse等实时和批量数据源还在快速增长
支持批量数据源:MySQL、ODPS、PostgreSQL、
Oracle、Hive 等 20+ 种批量数据源
商业版连接器 针对多种常见数据源,Doris、StarRocks、GaussDB、Redshift、偶数等单独与原厂共同定制开发底层商业版连接器,性能大幅超过开源版连接器 开源版连接器
内存资源占用
数据库连接占用 少(可以共享 JDBC 连接)
自动建表 支持 不支持
整库同步 支持 不支持
断点续传 支持 不支持
JDBC 连接池复用 支持
DDL变更支持 强,支持多种数据源DDL变更 不支持
可视化设计 支持完全可视化数据源管理、数据Mapping定义任务定义、运维监控、告警 不支持
多引擎支持 基于商业扩展的SeaTunnel Zeta引擎 只能运行在DataX自己的引擎上
数据转换算子(Transform) 支持Copy、Filter、Replace、Split、SQL 、自定义 UDF等算子。
商业专有Transform:添加列,改类型,删除列,改列名,Transform支持DDL变更适配,在DDL变更场景也支持Transform自适应。
支持补全,过滤等算子,可以 groovy自定义算子
单机性能 比DataX高30%-80% 较好
批量同步 支持 支持
增量同步 支持 支持
实时同步 支持 不支持
CDC同步 支持 不支持
批流一体 支持 不支持
精确一致性 所有JDBC访问的数据库(比如MySQL, SQLServer, PG, Oracle等)、Kafka、Hive、HDFS、File , SFTP, FTP等连接器支持 不支持
可扩展性 插件机制非常易扩展 易扩展
进度监控及统计信息 丰富的可视化监控,同步进度、速率,表同步情况,任务错误情况,同步条数等监控信息,DDL变更提醒、数据模型变更提醒等。 无监控界面,可以在DolphinScheduler级别实现任务级别的监控
告警 支持DDL变更告警,数据延迟告警,数据异常报警等 不支持
Web UI 全部可视化建立数据映射以及同步任务,并与商业版本调度WhaleScheduler集成,支持完全可视化数据源管理、任务定义、运维监控、告警等
与调度系统集成度 与商业版本调度WhaleScheduler深度集成,支持各种调度传参数用于同步,比如日历,牌等信息 已经与DolphinScheduler集成

性能差异

具体到性能方面,到底孰弱孰强,我们直接上用户具体测试的实际场景来看(这是在征求某零售客户许可后公布的测试POC数据内容,已混淆其中的各项业务相关内容):

测试内容:

  • 单表(80个字段,数千万条记录)
  • 源数据库:Oracle
  • 目标数据库:Apache Doris
  • WhaleTunnel与DataX并行度:10
    WhaleTunnel采用可视化界面配置,DataX采用WhaleScheduler中的DataX任务进行配置。

这是WhaleTunnel测试配置截图:

file

那么测试结果如何呢?

这是WhaleTunnel同步的性能速率:

file

这是同样配置服务下,单台DataX同步Insert的速率:

file

这是同样配置服务下,单台DataX同步upsert的速率:

file

可以看到,同样的数据,在同样的并行度情况下有如下测试结论:

file

可以看到,在这个场景下,因为WhaleTunnel在源连接器读取速度、商业引擎以及商业写入连接器方面都有大幅优化,在同样并行度的Insert场景下,速度是DataX的2.2倍;而Upsert场景下,WhaleTunnel速度是DataX的2.6倍。而这只是WhaleTunnel单台服务器的场景,WhaleTunnel还支持集群部署来提高并行度性能,同时WhaleTunnel集群还支持CDC实时数据同步,可以说功能上完全就是新一代的数据集成工具。

结论

综上,可以看到WhaleTunnel在开源版的Apache SeaTunnel之上增加了大量商业版功能,并对可视化开发、引擎、接口、Transform、DDL、运维监控做了大量优化和开发。而两者基于新一代数据集成引擎SeaTunnel Zeta,在批量同步、实时同步方面都是在行业当中的佼佼者。与DataX相比,WhaleTunnel更适用于多种场景、多数据源的数据同步,同时也可以帮助用户全面从DolphinScheduler+DataX的组合中平滑升级到WhaleScheduler+WhaleTunnel的新一代DataOps平台里,满足用户多云、混合云、多数据源的批量、CDC实时的数据集成工作需求。

如果对数据集成和同步工具商业版WhaleTunnel感兴趣,可扫描下方二维码沟通咨询。

本文由 白鲸开源 提供发布支持!

标签:同步,数据源,支持,可视化,WhaleTunnel,POC,DataX
From: https://www.cnblogs.com/seatunnel/p/18232535

相关文章

  • 异构数据源同步之数据同步 → DataX 使用细节
    开心一刻中午我妈微信给我消息妈:儿子啊,妈电话欠费了,能帮妈充个话费吗我:妈,我知道了,我帮你充当我帮我妈把话费充好,正准备回微信的时候,我妈微信给我发消息了妈:等会儿子,不用充了,刚刚有个二臂帮妈充上了我输入框中的(妈,充好了)是发还是不发?简单使用关于DataX,大家可以去看官网......
  • ChatGPT 写 PoC,拿下漏洞!
    0×01前言ChatGPT(ChatGenerativePre-trainedTransformer)是当今备受瞩目的智能AI聊天机器人之一。它不仅能够实现基本的语言交流,还具备许多强大的功能,例如文章撰写、代码脚本编写、翻译等等。那么我们是否可以利用ChatGpt去辅助我们完成一些工作呢?比如当一个产品存在安全......
  • datax修改 hdfsReader源码实现空文件及目录为空时,程序退出不抛出异常
    最近在使用datax_202309时,有任务需要将hive的数据按天同步到mysql,由于同步的表由业务生成,故可能有的表当天是没有数据产生,就会抛出出现下面的错误:问题:datax读取hive分区表时,datax-hdfsReader读取空目录报错问题描述:com.alibaba.datax.common.exception.DataXException:Code:[......
  • DataX HiveReader
    DataXHiveReader来源:github-datax-hivereader1快速介绍Hivereader插件:从Hive表读取数据2实现原理实现方式是:根据配置的QuerySql,通过将查询结果保存到一张新的临时hive表中这种方式;然后获取临时表的hdfs文件地址,然后读取文件到缓冲区,最后删除临时的表。3功能说明Hiv......
  • x264 参考帧管理原理:i_poc 变量
    POCH.264中的POC(PictureOrderCount)用于表示解码帧的显示顺序。当视频码流中存在B帧时,解码顺序和显示顺序可能不一致,因此需要根据POC来重新排列视频帧的显示顺序,以避免跳帧或画面不连贯的问题。具体来说,POC的作用包括:重排显示顺序:POC确保即使在存在B帧的情况下,视频帧......
  • 配置apoc——neo4j
    搞了半天终于出来了,真的很莫名其妙下载apoc的jar包再上一个博客,大家直接根据自己的neo4j的版本找对应的core包就行下载下来放到那个文件夹(plugins)修改配置文件:加上这个语句就行dbms.security.procedures.allowlist=apoc.coll.*,apoc.load.*,gds.*,apoc.math.maxInt,apoc.rel......
  • 神经网络常见参数解释:epoch、batch、batch size、step、iteration
      本文介绍在机器学习、深度学习的神经网络模型中,epoch、batch、batchsize、step与iteration等名词的具体含义。  epoch:表示将训练数据集中的所有样本都过一遍(且仅过一遍)的训练过程。在一个epoch中,训练算法会按照设定的顺序将所有样本输入模型进行前向传播、计算损失、反向......
  • datax 从 hive 同步数据配置
    DataXHiveReader1快速介绍Hivereader插件:从Hive表读取数据2实现原理实现方式是:根据配置的QuerySql,通过将查询结果保存到一张新的临时hive表中这种方式;然后获取临时表的hdfs文件地址,然后读取文件到缓冲区,最后删除临时的表。3功能说明Hivereader插件:从Hive表读取数据......
  • C++跨平台库boost和Poco的编译
    PrerequisitesCMake3.5ornewerAC++17compiler(VisualC++2022,GCC8.0,Clang5,ornewer)在window下编译依赖的三方库编译POCO$gitclone-bmasterhttps://github.com/pocoproject/poco.git$cdpoco$mkdircmake-build$cdcmake-build$cmake..$cma......
  • datax 抽取hive表到doris
    datax读取hive表有两种方式,一种是读取hdfs文件路径HDFSReader,因为hive是存储在hdfs上。第二种是读取hive表RDBMSReader。HDFSReader{"job":{"setting":{"speed":{"channel":3},"......