Mysql+ETLCloud CDC+StarRocks实时数仓同步实战

这篇具有很好参考价值的文章主要介绍了Mysql+ETLCloud CDC+StarRocks实时数仓同步实战。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、业务需求及其痛点

大型企业需要对各种业务系统中的销售及营销数据进行实时同步分析,例如库存信息、对帐信号、会员信息、广告投放信息,生产进度信息等等,这些统计分析信息可以实时同步到StarRocks中进行分析和统计,StarRocks作为分析型数据库特别适合于对海量数据的存储和分析,我们只需要把MySQL的表单数据实时同步到StarRocks即可以实现实时数据分析能力。

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 二、StarRocks介绍

StarRocks 是一款极速全场景 MPP 企业级数据库产品,具备水平在线扩缩容,金融级高可用,兼容 MySQL 5.7 协议和 MySQL 生态,提供全面向量化引擎与多种数据源联邦查询等重要特性。StarRocks 致力于在全场景 OLAP 业务上为用户提供统一的解决方案,适用于对性能,实时性,并发能力和灵活性有较高要求的各类应用场景。

三、CDC实时同步工具选型

目前能免费使用的成熟CDC工具且同时支持MySQL+StarRocks的有Flink CDC和ETLCloud CDC等

这里我们主要考虑选择比较成熟的Flink CDC和ETLCloud CDC,CDC的同步原理其实不同平台的原理都是一样的,都是读取数据库log然后通过清洗、转换或计算后存入目标仓库中

Flink CDC安装和使用难度比较大,没有可视化的CDC配置和监控界面对于不熟的用户安装相对比较麻烦,对于实时数据的加工和处理还需要写代码,没一点技术的用户根据搞不定,对于数据工程师来说难度太大

ETLCloud CDC安装和使用相对容易提供了一键安装功能同时也支持windows个人电脑安装,安装完成后提供全WEB配置界面,对于用户可以说是非常友好,我们这里选择ETLCloud CDC来实现实时数仓的构建

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 四、怎么提升写入StarRocks的性能?

StarRocks兼容MySQL协议但是直接用jdbc写入StarRocks的速度是非常慢基本不可用,所以必须要采用StarRocks提供的Stream load方式来进行数据的载入才能提升速度

ETLCloud CDC提供了专门针对StarRocks的高性能输出组件,还支持自动创建表结构同时支持批量加载技术

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 五、数据写入StarRocks之前如何直接转换为宽表?

通常情况下我们使用CDC实时监听表销售或订单表数据的LOG时会形成流式的数据,CDC每次传入的数据有可能是一条也可能是多条,监听到的流式数据都是订单表的单条数据,但在业务上单表的数据在业务价值上可能缺少一些关键的维度业务数据字段,例如要计算毛利合并客户及产品数据等。

为了补充这些缺少的数据字段之前的做法是先让他入库,然后再用SQL语句或者ETL流程再给他变换一次形成我们需要的宽表数据,虽然这样也可以实现这个业务需求但是失去了数据处理的时效性,即本来是实时流的数据但是到了业务那里变成不是实时的了,因为我们中间有一个定时变换的数据过程。

通过ETLCloud的ETL功能可以轻松实现实时数据直接变为宽表数据存入到StarRocks

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 (单表实时流合并其他维度数据直接输出宽表数据到StarRocks中)

六、ETLCloud CDC同步原理

ETLCloud CDC的功能之所有比其他CDC工具都强大是因为他把CDC和ETL流程给链接起来了,CDC实时数据流入ETL流程中,再通过ETL流程对实时数据进行处理和输出。

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 ETLCloud CDC中配置MySQL表的监听

MySQL先要开启bing log功能,开启方式可以查看

RestCloud 数据集成平台

开启动我们进入到ETLCloud的实时数据集成页面中配置一下即可

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 新增一个mysql cdc监听器

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 选择要监听mysql的表,这里我们选择监听country表

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 目标我们选择传给ETL的流程,ETL的流程会把数据写入到StarRocks中

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 在离线集成中我们新建一个StarRocks输出的ETL流程

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 离线ETL流程很简单,只需要拉入一个StarRocks的输出组件即可

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 选中StarRocks数据源和StarRocks的数据库表,数据源在ETLCloud中已经提前建好

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 导入StarRocks表中的所有字段

这样CDC+ETL就完成了mysql=>StarRocks的实时同步任务的创建

启动MySQL CDC监听器

进入ETLCloud的实时数据集成功能点击启动CDC监听器即可

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 启动成功显示为绿色,如果出错可以查看tomcat log看是什么原因引起的

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 表示监听器已经启动成功

开始实时同步数据

在mysql我们country表中的数据如下

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 我们可以随意修改其中几条数据,可以看到数据会立即同步到StarRocks中

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 我们在mysql中实时修改了3条数据,可以看到StarRocks中已经立即有3条数据更新过来

同时我们也可以去观察ETL的离线流程是不是被CDC给调用了

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 

可以看到我们修改了3条数据,这个ETL流程被调用了1次,通过这个ETL流程把数据写入到了StarRocks中

StarRocks中自动建表

ETLCloud还具备在StarRocks中自动建表功能,如果我们要一次性把MySql的1000张表全部同步到StarRocks中,就可以使用批量同步功能,可以一次性把MySQL的1000张表自动在Doris中创建并全部同步数据到StarRocks中,这个也是Flink CDC所不具备的功能。

这们就可以把业务数据一次性全部拉入到StarRocks数仓中

Mysql+ETLCloud CDC+StarRocks实时数仓同步实战,mysql,数据库

 StarRocks自动建表能力文章来源地址https://www.toymoban.com/news/detail-587903.html

到了这里,关于Mysql+ETLCloud CDC+StarRocks实时数仓同步实战的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flink CDC 基于mysql binlog 实时同步mysql表(无主键)

    环境说明: flink 1.15.2 mysql 版本5.7    注意:需要开启binlog,因为增量同步是基于binlog捕获数据 windows11 IDEA 本地运行 具体前提设置,请看这篇,包含 binlog 设置、Maven...... Flink CDC 基于mysql binlog 实时同步mysql表_彩虹豆的博客-CSDN博客 经过不懈努力,终于从阿里help页面找到了支

    2024年02月08日
    浏览(37)
  • 基于 Flink CDC 构建 MySQL 到 Databend 的 实时数据同步

    这篇教程将展示如何基于 Flink CDC 快速构建 MySQL 到 Databend 的实时数据同步。本教程的演示都将在 Flink SQL CLI 中进行,只涉及 SQL,无需一行 Java/Scala 代码,也无需安装 IDE。 假设我们有电子商务业务,商品的数据存储在 MySQL ,我们需要实时把它同步到 Databend 中。 接下来的内容

    2024年02月10日
    浏览(39)
  • Flink CDC2.4 整库实时同步MySql 到Doris

            Flink 1.15.4          目前有很多工具都支持无代码实现Mysql - Doris 的实时同步         如:SlectDB 已发布的功能包                 Dinky SeaTunnel TIS 等等          不过好多要么不支持表结构变动,要不不支持多sink,我们的业务必须支持对表结构的实时级变动

    2024年02月11日
    浏览(44)
  • 使用Flink CDC将Mysql中的数据实时同步到ES

    最近公司要搞搜索,需要把mysql中的数据同步到es中来进行搜索,由于公司已经搭建了flink集群,就打算用flink来做这个同步。本来以为很简单,跟着官网文档走就好了,结果没想到折腾了将近一周的时间…… 我也是没想到,这玩意网上资源竟然这么少,找到的全部都是通过

    2024年02月11日
    浏览(42)
  • Flink CDC 基于Oracle log archiving 实时同步Oracle表到Mysql

    环境说明: flink 1.15.2 Oracle 版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production mysql 版本:5.7 windows11 IDEA 本地运行 先上官网使用说明和案例:Oracle CDC Connector — Flink CDC documentation 1. Oracle 开启 log archiving (1).启用 log archiving         a:以DBA用户连接数据库    

    2024年02月11日
    浏览(35)
  • Flink CDC 基于Oracle log archiving 实时同步Oracle表到Mysql(无主键)

    环境说明: flink 1.15.2 Oracle 版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production mysql 版本:5.7 windows11 IDEA 本地运行 具体环境设置和maven依赖请看上篇:Flink CDC 基于Oracle log archiving 实时同步Oracle表到Mysql_彩虹豆的博客-CSDN博客 现在操作的是源表和目标表都无主键数

    2024年02月15日
    浏览(34)
  • 实战:大数据Flink CDC同步Mysql数据到ElasticSearch

    前面的博文我们分享了大数据分布式流处理计算框架Flink和其基础环境的搭建,相信各位看官都已经搭建好了自己的运行环境。那么,今天就来实战一把使用Flink CDC同步Mysql数据导Elasticsearch。 CDC简介 CDC 的全称是 Change Data Capture(变更数据捕获技术) ,在广义的概念上,只要

    2024年02月09日
    浏览(37)
  • 【实战-01】flink cdc 实时数据同步利器

    cdc github源码地址 cdc官方文档 对很多初入门的人来说是无法理解cdc到底是什么个东西。 有这样一个需求,比如在mysql数据库中存在很多数据,但是公司要把mysql中的数据同步到数据仓库(starrocks), 数据仓库你可以理解为存储了各种各样来自不同数据库中表。 数据的同步目前对

    2023年04月08日
    浏览(40)
  • Flink实时数仓同步:拉链表实战详解

    在大数据领域,业务数据通常最初存储在关系型数据库,例如MySQL。然而,为了满足日常分析和报表等需求,大数据平台会采用多种不同的存储方式来容纳这些业务数据。这些存储方式包括离线仓库、实时仓库等,根据不同的业务需求和数据特性进行选择。 举例来说,假设业

    2024年01月20日
    浏览(32)
  • 使用flink sqlserver cdc 同步数据到StarRocks

    前沿: flink cdc功能越发强大,支持的数据源也越多,本篇介绍使用flink cdc实现: sqlserver-》(using flink cdc)-〉flink -》(using flink starrocks connector)-〉starrocks整个流程 1.sqlserver 环境准备(得使用sqlserver 16以下版本,flink cdc当前只支持16以下sqlserver版本) 我这个使用的是docker环

    2024年02月10日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包