同步工具-调研对比
一、同步工具简介
1、腾讯数据集成产品:数据集成(DataInLong)源于腾讯开源并孵化成功的 ASF 顶级项目 Apache InLong(应龙),支持一站式跨云跨网数据同步
产品文档:https://cloud.tencent.com/document/product/1580/73382
2、Apache SeaTunnel:SeaTunnel是一个非常易用、超高性能的分布式数据集成平台,支持海量数据的实时同步。每天可稳定高效同步数百亿数据,已被近百家企业应用于生产。
产品文档:https://seatunnel.apache.org/docs/2.3.3/about/
3、腾讯Oceanus:大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点的企业级实时大数据分析平台
产品文档:https://cloud.tencent.com/document/product/849/16784
4、字节跳动BitSail:BitSail 是字节跳动开源数据集成引擎,支持多种异构数据源间的数据同步,并提供离线、实时、全量、增量场景下全域数据集成解决方案,目前支撑了字节内部和火山引擎多个客户的数据集成需求
产品文档:https://bytedance.github.io/bitsail/zh/documents/introduce.html
5、Apache InLong:(应龙)是一站式数据集成框架,原名TubeMQ,由腾讯大数据团队捐献到 Apache 孵化器,22年6月成为Apache顶级项目
产品文档:https://inlong.apache.org/zh-CN/docs/deployment/standalone
6、自研FLinkSql:封装公用的flink jar包,由大航海平台配置同步任务生成sql后传给jar包提交yarn执行。
二、同步工具对比
分类
|
对比点
|
腾讯数据集成
|
Apache SeaTunnel
|
腾讯Oceanus
|
字节BitSail
|
Apache InLong
|
自研FLinkSql
|
总结
|
---|---|---|---|---|---|---|---|---|
功能支持 | 支持多数据源同步 | 支持 | 支持 | 支持 | 支持 | 支持 | 需开发 | 大多数工具都支持多数据源,自研的话需拼不同的sql来支持。 |
支持读取mysql | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 都支持mysql数据源 | |
支持写入iceberg | 支持 | 不支持 | 支持 | 不支持 | 支持 | 支持 | 数据集成、Oceanus、InLong支持写入iceberg。SeaTunnel只支持读取 | |
支持kerberos | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 | SeaTunnel、Oceanus支持kerberos认证 | |
支持chdfs | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 | Oceanus支持写入chdfs | |
任务开发 | 页面化配置任务 | 支持 | 支持 | 不支持 | 不支持 | 支持 | 需开发 | 数据集成、SeaTunnel、InLong有页面可以配置同步任务 |
多版本 | 支持 | 需开发 | 支持 | 需开发 | 需开发 | 需开发 | 数据集成、Oceanus支持多版本管理,其它工具需要大航海配置多版本 | |
大航海任务依赖 | 需开发 | 需开发 | 需开发 | 需开发 | 需开发 | 需开发 | 数据集成、Oceanus提供调用接口,其它是部署服务 | |
Iceberg表管理 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 需开发 | 都不支持管理Iceberg表,需要单独平台管理表。 | |
任务管理 | 任务管理方式 | 独立平台 | 大航海 | 独立平台 | 大航海 | 大航海 | 大航海 | 数据集成、Oceanus在独立平台管理任务,大航海调接口来使用 |
资源使用 | 独立资源 | EMR Yarn | 独立资源 | EMR Yarn | EMR Yarn | Oceanus | 数据集成、Oceanus使用独立资源运行任务,其它可以提交到yarn集群共用 | |
数据质量 | 数据一致性校验 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 需开发 | 都需要开发开支持一致性校验 |
任务异常告警 | 支持 | 不支持 | 支持 | 不支持 | 不支持 | 需开发 | 数据集成和oceanus提供任务失败、任务重启、任务异常、写入延迟告警 | |
长期发展 | 社区活跃度 | InLong star 1.2K | star 6.6K | flink 22.2k | star 1.5K | star 1.2K | - | Oceanus使用flink组合较灵活使用多,同步工具SeaTunnel要活跃一些 |
大航海适配性 | 通过api集成 | 完全集成 | 通过api集成 | 完全集成 | 完全集成 | 完全集成 | 数据集成、Oceanus使用api集成,存在接口变动风险。其它工具原生集成 | |
维护成本 | 低 | 高 | 低 | 高 | 高 | 高 | 数据集成、Oceanus使用全托管维护成本低,其他工具需要高途维护需投入人力 |
三、数据同步工具总结
1、腾讯数据集成产品:
优点:全托管运维成本低,可使用的话运维起来较方便,技术不用钻研特别深。
缺点:目前暂不支持kerberos、chdfs,导致无法和高途集群打通,这两点也在开发中,预计一段时间后才可以使用。短期不可用
2、Apache SeaTunnel:
优点:社区活跃度高,是大航海数据同步工具waterdrop的升级版,和大航海平台结合较容易。
缺点:自运维成本高,目前不支持写入到iceberg需要开发插件来支持。
3、腾讯Oceanus:
优点:底层FLink社区活跃度较好,支持流批统一。目前已打通mysql到EMR Iceberg可以直接使用,灵活度较高。
缺点:没有页面化配置,大航海需要调接口依赖Oceanus任务。
4、字节跳动BitSail:
优点:字节内部服务于抖音、今日头条,每天百万亿数据同步。
缺点:不支持iceberg,kerberos也没见到支持。
5、Apache InLong:
优点:腾讯数据集成的底层同步技术,支持mysql和iceberg以及多种数据源
缺点:自运维、没有数据集成好
6、自研FLinkSql:
优点:所有功能都可以支持,组合较灵活,和大航海结合度高。封装公用的依赖和配置,使用较方便。可以使用Oceanus管理同步任务。
缺点:自运维成本高,需要投入人力研究和开发。
四、暂定技术选型和规划
1、因Oceanus目前已打通,可以先用Oceanus写Flink Sql方式同步数据到Iceberg。等数据集成支持后切换到全托管的数据集成工具,支持页面化同步方式较多,也可以支持ck
2、测试FLink upsert数据的性能
3、Iceberg表管理。小文件合并、脏数据清理、元数据清理、逻辑删除数据清理等功能
4、数据集成已提需求,等数据集成产品支持kerberos、chdfs后切换任务至数据集成
5、大航海和数据集成产品对接口,大航海任务依赖Iceberg表开发
6、模型设计建Iceberg表
7、提数平台查询Iceberg表