欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

DBSwitch 和 Seatunel

最编程 2024-10-17 18:28:56
...

一、DBSwitch

什么是DBSwitch?它主要用在什么场景?

通过步骤分析可以看到这个是通过配置数据源,采用一次性或定时方案,同步到数据仓库的指定表,并且指定映射关系的工具。有点类似于flinkcdc的增量同步。

参考:

dbswitch: 异构数据库迁移同步工具

dbswitch工具提供源端数据库向目的端数据库的批量迁移同步功能,支持数据的全量和增量方式同步。

包括:

  • 结构迁移

支持字段类型、主键信息、建表语句等的转换,并生成建表SQL语句。

支持基于正则表达式转换的表名与字段名映射转换。

  • 数据同步

基于JDBC的分批次读取源端数据库数据,并基于insert/copy方式将数据分批次写入目的数据库。

支持有主键表的 增量变更同步 (变化数据计算Change Data Calculate)功能(千万级以上数据量的性能尚需在生产环境验证)

dbswitch实现的功能是:异构数据库迁移同步工具,dbswitch提供源端数据库向目的端数据的全量与增量迁移同步功能,其实大概功能和datax类似,只是效率和稳定性没有datax好,因为datax毕竟是阿里巴巴开源,并且也是目前国内认为开源中最好的离线数据同步工具。但是datax不支持表结构的同步

二、Seatunel

什么是Seatunel?它主要用在什么场景?

SeaTunnel 是一个简单易用的数据集成框架,在企业中,由于开发时间或开发部门不通用,往往有多个异构的、运行在不同的软硬件平台上的信息系统同时运行。数据集成是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中, 从而为企业提供全面的数据共享。 SeaTunnel 支持海量数据的实时同步。它每天可以稳定高效地同步数百亿数据。 并已用于近 100 家公司的生产。

SeaTunnel 在做什么?

本质上,SeaTunnel 不是对 Saprk 和 Flink 的内部修改,而是在 Spark 和 Flink 的基础上 做了一层包装。它主要运用了控制反转的设计模式,这也是 SeaTunnel 实现的基本思想。

SeaTunnel 的日常使用,就是编辑配置文件。编辑好的配置文件由 SeaTunnel 转换为具 体的 Spark 或 Flink 任务。

目前 SeaTunnel 的优势是他有丰富的连接器, 又因为它以 Spark 和 Flink 为引擎。所以可以很好地进行分布式的海量数据同步。 通常 SeaTunnel 会被用来做出仓入仓工具, 或者被用来进行数据集成。

参考:

https://seatunnel.apache.org/zh-CN/docs/2.3.6/seatunnel-engine/rest-api/

SeaTunnel有一个用于监控的API,可用于查询运行作业的状态和统计信息,以及最近完成的作业。监控API是RESTful风格的,它接受HTTP请求并使用JSON数据格式进行响应。

也是和datax在进行比较