2023年12月, Flink Forward Asia 发布了新一代的端到端数据集成框架 Flink CDC 3.0,该版本采用了以 Flink 为基础的端到端流式 ELT 数据集成框架,支持将数据先导入到下游系统,然后在下游系统中进行加工。在该版本中,社区已支持实时同步 MySQL 数据至 StarRocks 的链路,用户可以利用 StarRocks 强大的预计算能力和物化视图等功能在 StarRocks 中完成高效的加工,大大简化数据同步链路。
基于 CDC 3.0 框架,社区开发了 StarRocks Pipeline Connector,将 StarRocks 作为下游系统与 CDC 进行了集成,具有以下功能:
- 可以根据源端的表结构在 StarRocks 中自动建表,大大降低用户建表的负担。
- 上游数据库的 schema 变更,比如加减列,可以自动同步到 StarRocks。
- 提供全量和增量的实时数据同步能力。
下面介绍两个典型的数据同步场景:
- 从 MySQL 到 StarRocks 的整库同步:将 MySQL 的 app_db 下所有的表分别同步到 StarRocks。首先通过 YAML 文件来描述 Pipeline 的逻辑,其中 source 配置 MySQL 的连接信息,通过 table 配置要同步的库。在 sink 部分,只需要配置 StarRocks 的基本连接信息。然后通过 Flink CDC 命令行提交 YAML 文件,就会生成一个 Flink 作业进行同步。在这个例子中,我们可以通过配置开启 StarRocks 3.2 的 fast schema evolution 功能,加速加减列的 schema 变更。
- MySQL 的分库分表同步:将 MySQL 一个库下的多个表同步到 StarRocks 的一张表中。可以通过 YAML 文件的 route 部分来描述上下游表的映射关系。
从这两个例子可以看出,基于 CDC 框架,用户只需要简单地描述同步逻辑,而不需要关心具体的实现细节,非常方便。
StarRocks 社区也提供了快速上手的8分钟示例 Demo,大家可以通过本 Demo 了解 MySQL 与 StarRocks 数据实时同步的极简开发体验。
视频:www.bilibili.com/video/BV1k6…
参考: docs.google.com/document/d/…
更多资讯,请关注 StarRocks 公众号:StarRockslabs
StarRocks 源码:github.com/StarRocks/s… (喜欢的话,Star 一个吧!)
技术交流:wx.focussend.com/weComLink/m…
本文由mdnice多平台发布