在这个数据驱动的大模型时代,数据集成的作用和意义愈发重要。数据不仅仅是信息的载体,更是推动企业决策和创新的关键因素。作为全球最流行的批流一体数据集成工具,WhaleTunnel随着WhaleStudio 2.6版本正式发布,带来了多项功能增强和新特性,性能大幅提升,连接器和功能方面也有大量更新。

上周,关于数据调度平台WhaleScheduler的更新状况在《WhaleStudio 2.6重磅发布!调度模块WhaleScheduler更新78项核心功能》中已有介绍,点击链接了解详情。

WhaleTunnel

WhaleTunnel是基于白鲸开源主导的Apache SeaTunnel之上精心打磨的商业级的数据集成工具,拥有数据传输速度快、准确率高、稳定性强等技术特点,帮助企业完成内部EtLT中数据集成EtL部分,支持百余种连接器类型,满足用户离线全量同步、离线增量同步、实时增量同步、变化数据捕捉(即CDC)、数据库同步备份等需求。快速产品以代码形式面向数据开发工程师以及任何需要数据集成服务的用户,同时也提供可视化拖拽界面给数据科学家、数据分析师、产品经理等业务用户,支持全流程可视化的任务定义、调用、监控和管理。

数据源更新(部分)

2.6版本新增了多种数据源,数据源支持数量已经达到了188个,部分增加的数据源如下:

信创ARM CPU优化

在WhaleTunnel 2.6版本当中,Zeta Engine针对以ARM内核的CPU进行了引擎层面的深度优化,性能提升数倍(相关性能POC报告后续发布)。

  1. 内存映射文件和零拷贝技术: 为了最大限度地减少I/O开销,Zeta Engine采用了内存映射(mmap)技术和零拷贝(zero-copy)技术,直接在内存中操作文件数据。这样不仅加快了数据处理速度,还降低了系统资源的消耗。
  2. 内存对齐:Zeta Engine确保数据结构在内存中的对齐性,有效减少了内存访问的开销。内存对齐优化不仅提高了内存访问的效率,还提升了数据处理的整体性能。
  3. 高效算法: Zeta Engine使用了适合ARM架构的高效算法,减少不必要的计算和数据移动。通过高效的排序和过滤算法,显著提升数据转换和处理的效率。Zeta Engine算法优化确保了在数据密集型任务中,系统能够保持卓越的性能。
  4. 多核架构利用: Zeta Engine充分利用ARM CPU的多核架构,将ETL任务分解为更小的任务,进行多线程或多进程并行执行。通过并行化处理,显著缩短了数据处理的时间,提升了系统的吞吐量。

数据模型及自动建表能力加强

  1. 自动建表、已有数据处理: 除了文件类型的数据源外,所有数据源现支持自动建表。无论是已有表结构还是已有数据处理,WhaleTunnel都能轻松应对。同时,目标端支持自定义表名策略。无需手动处理复杂的表结构,极大地减少了数据集成的时间和人工成本。

  1. 数据模型推演: 在任务保存时自动触发,自动检查source、transform、sink中的配置是否合法;在任务重同步表发生表结构变化时,检查其变化可能导致的配置项非法问题。确保数据流的稳定性和一致性,减少因配置错误导致的数据同步失败。在运行数据集成任务之前,就可以自动识别潜在的问题并提前修复。

    图片

  2. 数据类型自动映射: 数据源到目标端的数据类型自动映射。自动适配不同的数据类型,减少手动调整的麻烦。从不同数据库迁移数据时,无需担心类型不匹配的问题。

与WhaleScheduler全面集成

  1. 增量同步和参数传递: WhaleTunnel与WhaleScheduler紧密集成,根据调度中的日历、业务日期(牌)以及上下游参数进行增量同步或者参数传递来进行数据内容控制,进一步提高数据同步的灵活性和准确性。例如,在券商监管报表生成时,能够自动获取符合上报规则交易日期的数据,确保数据的准确性。

  1. 独立同步调度任务组件: WhaleTunnel拥有独立的CDC实时调度组件和批量调度组件,可以在WhaleScheduler成为独立任务组件被上下游进行触发等工作,实现更灵活的任务调度和管理。在数据集成之后,进行相关数据加工,或者自定义微批任务,实现微批任务的串行等待等。

  1. 增量数据参数传递: 离线全量Source支持根据自定义where条件读取,可以使用调度传递的参数变量实现增量数据参数传递,精准控制数据同步范围,实现增量/批量/微批的多场景控制,提升整体数据批量和CDC实时处理能力。

加强可观测性与监控告警

  1. 离线同步新增支持失败、超时告警, 提前预警潜在问题,减少数据同步失败带来的影响。举例来说,在夜间批处理任务中,能够及时发现并处理异常,确保数据同步的顺利进行。

  2. 实时同步新增失败告警、实时同步新增DDL变更事件告警:实时监控数据同步状态,快速响应和处理异常情况。例如,电商平台可以及时发现和修正订单数据同步中的问题,确保业务的连续性,可以让用户快速收到DDL变更情况,从而更早的手工干预。

通过虚拟表支持非结构化数据可视化转化

  1. 文件数据源: 新增支持 CSV文件类型以压缩格式读写,支持读取时跳过表头和写入时写入表头设置,支持新的文件格式:DBF, Debezium-Json, 更灵活地处理不同格式的文件数据,提高数据导入导出的效率。

  2. No-SQL数据源支持: 创建虚拟表时支持配置主键,且sink自动建表时使用该主键建表,提高数据一致性和查询效率。例如,在处理NoSQL数据时,可以更好地管理和索引数据。



3. 虚拟表支持设置索引



4. HTTP数据源虚拟表优化: 优化数据源和虚拟表配置,token、路径、请求参数等支持填写参数变量,更灵活地集成和管理HTTP数据源,提高数据获取的灵活性和效率。

CDC同步增强功能

  1. 唯一索引表同步: CDC同步源表现支持拥有唯一索引的表同步,确保数据的唯一性和完整性。例如,在用户信息同步时,可以确保用户ID的唯一性,避免数据重复和冲突。

  2. 无主键表同步: CDC同步源表支持无主键表的同步,提供更广泛的数据同步支持,适应更多样化的数据库设计。例如,在某些历史数据表中,可能没有主键的设计,但仍然可以实现高效的数据同步。

小结

WhaleTunnel 2.6版本功能非常强大,涵盖了从数据模型设计、自动化建表,到高效的数据同步和监控告警,以及多样化的数据源支持。无论您的数据集成需求是简单的数据传输还是复杂的实时分析,WhaleTunnel都能为您提供定制化的解决方案,帮助您实现数据驱动的业务成功。

我们期待与您一同迎接数据集成的新时代!如果您对WhaleTunnel 2.6版本有任何疑问或想了解更多信息,请随时联系我们的客户服务团队。感谢您对WhaleTunnel的信任和支持!

白鲸开源

白鲸开源是一家开源原生的DataOps商业公司,是国家高新技术企业,由多个Apache Foundation Member成立,80%员工都是 Apache Committer,运营2个全球Apache开源项目(DolphinScheduler, SeaTunnel)。白鲸开源已根据全球最佳实践发布商业版产品WhaleStudio(含白鲸数据调度平台WhaleScheduler和白鲸数据集成平台WhaleTunnel)。我们致力于打造下一代开源原生的DataOps 平台,助力企业在大数据和云时代,智能化地完成多数据源、多云及信创环境的数据集成、调度开发和治理,以提高企业解决数据问题的效率,提升企业分析洞察能力和决策能力。

联系方式

  • 公司网站: www.whaleops.com
  • 联系邮箱: service@whaleops.com

如果您希望深入了解我们的其他功能,或者讨论如何将 WhaleStudio 与你的业务流程相结合,我们非常愿意为你提供帮助。欢迎您首先试用白鲸调度系统(WhaleScheduler),开始您的大数据之旅。

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

WhaleStudio 2.6正式发布,WhaleTunnel同步性能与连接器数量再创新高!的更多相关文章

  1. AlwaysON同步性能监控的三板斧

    延迟是AlwaysOn最大的敌人之一 延迟是AlwaysON的最大敌人之一.对AlwaysON而言,其首要目标就尽量减少(无法避免)主副本.辅助副本的数据延迟,实现主副本.辅助副本的“数据同步”.只有 ...

  2. 简单测试Java线程安全中阻塞同步与非阻塞同步性能

    摘抄自周志明老师的<深入理解Java虚拟机:JVM高级特性与最佳实践>13.2.2 线程安全的实现方法 1.名词解释 同步是指锁哥线程并发访问共享数据时,保证共享数据同一时刻只被一个线程访 ...

  3. Spring Boot 2.2 正式发布,大幅性能提升 + Java 13 支持

    之前 Spring Boot 2.2没能按时发布,是由于 Spring Framework 5.2 的发布受阻而推迟.这次随着 Spring Framework 5.2.0 成功发布之后,Spring ...

  4. Log4j2同步异步性能比较以及教程和问题(坑)汇总

    线程数:500个   每个线程日志输出次数: 500次 log4j2其实有两个输出异步日志的方式:AsyncLogger和AsyncAppend 他两的区别在于: AsyncLogger使用的是无锁高 ...

  5. Java 线程与同步的性能优化

    本文探讨的主题是,如何挖掘出Java线程和同步设施的最大性能. 1.线程池与ThreadPoolExecutor 1)线程池与ThreadPoolExecutor 线程池的实现可能有所不同,但基本概念 ...

  6. 【巨杉数据库SequoiaDB】SequoiaDB 巨杉数据库 v3.4 版本正式发布

    深秋时节,SequoiaDB 巨杉数据库在深秋给大家带来了“一把火”.SequoiaDB v3.4 正式发布啦! 分布式交易场景性能大幅提升 SequoiaDB 巨杉数据库3.4版本正式发布,v3.4 ...

  7. windows核心编程---第八章 使用内核对象进行线程同步

    使用内核对象进行线程同步. 前面我们介绍了用户模式下线程同步的几种方式.在用户模式下进行线程同步的最大好处就是速度非常快.因此当需要使用线程同步时用户模式下的线程同步是首选. 但是用户模式下的线程同步 ...

  8. AlwaysON同步的原理及可用模式

    新一代读写分离技术——AlwaysOn 早在SQL Server 2005的时候微软就已经实现了数据库的查询分离技术——发布订阅.但生产库和查询库的同步性能较差,时常出现性能问题,因此在大型生产环境中 ...

  9. 【日记】一次程序调优发现的同步IO写的问题,切记

    众所周知,我们在写程序的时候,好习惯是在重要的代码打上日志.以便监控程序运行的性能和记录可能发生的错误. 但是,如果日志是基于同步IO文件操作,那么就必须考虑到访问总次数或并发数目. 如果总次数或并发 ...

  10. MySQL 关于性能的参数配置梳理

    以下List是我们常见的MySQL参数配置,这个参数对提高实例的性能大有裨益. 其中 建议设置值,仅供参考,需要根据自己的业务场景和硬件资源仔细推敲. 参数 设置说明 建议设置值 lower_case ...

随机推荐

  1. java.sql.SQLException: Connection is read-only. Queries leading to data modification are not

    java.sql.SQLException: Connection is read-only. Queries leading to data modification are not 产生的原因:事 ...

  2. rabbitMq消息接收转换对象,Json解析字符串报错syntax error, expect {, actual string, pos 0, fastjson-version 1.2.62解决

    Expected BEGIN_OBJECT but was STRING at line 1 column 2 path $ syntax error, expect {, actual string ...

  3. ZYNQ uboot 网络调试

    背景 使用 Vivado配置好网络,并在PetaLinux中构建了完整的uboot.kernel.rootfs以后,发现网络有问题. > ping 192.168.168.1 ethernet@ ...

  4. 浅谈性能测试稳定性 Constant Throughput Timer(常数吞吐量定时器)

    在性能测试过程中总会收到一些需求如:单接口每秒并发20,这种并发持续60秒,通过负载测试查看系统稳定性,今天就让我们来浅谈一下这种场景如何去实现性能测试~ 这种场景可以用两种方法去实现: 一.我们通过 ...

  5. 洛谷P1095

    [NOIP2007 普及组] 守望者的逃离 题目背景 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变. 题目描述 守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上. ...

  6. Happus:给准备离职成为独立开发者的你 5 点建议

    名字:Happus 开发者 / 团队:Regina Dan 平台:iOS, visionOS 请简要介绍下这款产品 Happus 是你追寻幸福健康关系.甚至提高婚姻生活品质的贴心助手.无论是关系维系. ...

  7. Swift开发基础06-闭包

    Swift的闭包(Closures)是一种将功能块和上下文整合并演示在代码中的一种手段.闭包可以捕获并存储其上下文中的变量和常量.与普遍存在于其他语言的匿名函数(如Python的lambda.Java ...

  8. jQuery中hide()和display的区别在于它们实现元素隐藏的方式不同。

    1. hide()方法是jQuery提供的一个函数,用于隐藏元素.当使用hide()方法时,元素会被设置为display:none,即不显示在页面上,但仍然占据着原来的空间.隐藏后的元素可以通过调用s ...

  9. 重写Save()的两种方法

    # 重新Save()def save(self, force_insert=False, force_update=False, using=None, update_fields=None): su ...

  10. oeasy教您玩转python - 9 - # 换行字符

    ​ 换行字符 回忆上次内容 数制可以转化 bin(n)可以把数字转化为 2进制 hex(n)可以把数字转化为 16进制 int(n)可以把数字转化为 10进制 编码和解码可以转化 encode 编码 ...