快速实现多种数据源到StarRocks的实时数据同步工具介绍

背景

企业大数据处理场景中,往往需要对海量数据快速分析统计,但这并不是传统OLTP关系数据库(如:MySQL、PostgreSQL、Oracle等)所擅长的, 幸运的是随着开源软件的兴起,最近社区出现了一款功能强大且容易上手的大数据MPP分析OLAP数据库StarRocks,支持快速多维聚合分析,请求可以毫秒级响应、且高并发访问。

利用OLAP和OLTP两种类型的数据库引擎相结合的方式来实现企业对于海量数据的实时分析需求成为切实可行的方案。

但异构引擎节点之间需要实现实时数据同步,具体实施过程中有多个工序、细节需要考量,例如,元数据端中 数据批量更新如何防止同步过程中不产生雪崩效应而导致数据堵塞。以及,如何标准且高效地构建数据同步链路,让实施工程师专注于业务本身而不身陷于各种技术细节。

基于以上场景,在本文中向大家介绍一款不错的工具TIS,可以快速高效地实现MySQL到StarRocks的数据同步方案。

TIS介绍

TIS可以快速为企业构建实时数仓库服务,基于批(DataX)流(Flink-CDC)一体DataOps数据中台,提供简单易用的操作界面,降低用户实施各端(MySQL、PostgreSQL、Oracle、ElasticSearch、ClickHouse、Doris等) 之间数据同步的技术门槛,缩短任务配置时间,避免配置过程中出错,使数据同步变得简单、有趣且容易上手。

TIS数据同步原理

TIS底层整合了DataX:(https://github.com/alibaba/DataX),Flink CDC: https://github.com/ververica/flink-cdc-connectors 等组件,StarRocks Sink 封装了StarRocks官方提供的https://github.com/StarRocks/flink-connector-starrocks组件进行封装,

架构借鉴Jenkins:https://github.com/jenkinsci/jenkins 的微内核架构,将各个
功能模块封装成了可插拔的组件模块,在TIS运行期以插件为单位按需加载。

用户业务场景中,如只需要进行T+1离线数据分析那就只加载DataX相关的插件进行批量导入即可。如需要给MMP数据库如StarRock中同步数据,则需要开启基于Flink CDC

TIS安装

TIS的安装非常方便,只需三个步骤:下载一个tar压缩包,解压,最后启动即可。

详细请查看 TIS安装说明

TIS是基于微内核架构来实现的,初始安装包只有200兆,其他具体执行逻辑相关的执行逻辑都封装在了TIS的插件系统中,
本文相关的StarRocks和MySQL以及Flink增量同步、DataX批量同步相关的功能插件都是在TIS运行时按需加载且热部署生效的。

视频教程

直接进入该流程对应的视频介绍,对使用流程有一个直观感受
b-store-icon

详细操作说明>>

总结

通过以上流程介绍,我们发现通过使用TIS来实现MySQL和StarRocks有如下优势:

  • 安装方便,组件按需加载,热生效
  • 支持数据源分库,多表同步
  • 支持目标库中自动创建表
  • 完美实现低代码配置DataOps的目标,帮助用户大大提高工作效率,且避免出错

还等什么呢?赶快试用一下吧

5赞

选择好需要同步的表后,每个都表要设置一遍(选择所有字段),我有一百多个表,挨个点很崩溃,这块有没有同学使用过或者便捷的办法?

导入表多的话,一个个表挨个设置的是会比较奔溃 ,这个功能我会优化一下,支持批量操作[quote=“U_1639111015146_8254, post:2, topic:1061, full:true”]
选择好需要同步的表后,每个都表要设置一遍(选择所有字段),我有一百多个表,挨个点很崩溃,这块有没有同学使用过或者便捷的办法?
[/quote]

好的,歇息啦 :grinning:

1赞

TIS v3.4.0 发布了 https://github.com/qlangtech/tis/releases/tag/v3.4.0,修改了MySQL整库同步StarRocks相关的几个bug

单机版安装:http://tis.pub/docs/install/uber/