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

news2024/10/7 8:19:30

一、业务需求及其痛点

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

 二、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来实现实时数仓的构建

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

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

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

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

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

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

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

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

六、ETLCloud CDC同步原理

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

 ETLCloud CDC中配置MySQL表的监听

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

RestCloud 数据集成平台

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

 新增一个mysql cdc监听器

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

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

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

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

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

 导入StarRocks表中的所有字段

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

启动MySQL CDC监听器

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

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

 表示监听器已经启动成功

开始实时同步数据

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

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

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

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

 

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

StarRocks中自动建表

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

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

 StarRocks自动建表能力

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/771403.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

性能测试学习阶段性总结

目录 1.前言 2.概念部分 2.1不同角度看软件性能 2.2关键词 2.3测试的方法 2.4应用领域 3.性能测试过程模型(PTGM) 2.1测试前期准备 2.2测试工具引入 2.3测试计划 2.4测试设计与开发 2.5测试执行和管理 2.6测试分析 总结: 1.前言…

干货!3个技巧让你轻松增强客户实时聊天的体验感

在当今竞争激烈的商业环境中,提供出色的客户服务成为企业成功的关键要素之一。尤其是在实时聊天平台上,为客户提供优质的体验感,对于建立良好的客户关系和提高销售转化率至关重要。如果你还在苦恼如何增强用户体验感,苦恼如何增加…

zabbix-server监控mysql数据库及httpd服务、监控apache、监控ftp

目录 一、监控mysql数据库及httpd服务 1、为server.Zabbix.com添加服务模板 2、server.zabbix.com服务端 操作 3、编辑chk_mysql.sh脚本 4、server.zabbix.com测试 二、监控apache 1、获取键值 2、服务器操作 3、zabbix监控web端导入监控模板 4、server.zabbix.com添加…

B072-项目实战-用户模块--前台登录 三方登录

目录 前台登录-账号登录前端完成左上角显示用户信息配置前置拦截器、后置拦截器和不受限资源拦截器 三方登录-微信登录概述流程图用法代码实现步骤分析:实现准备代码前端login.htmlcallback.html 后端LoginController-微信登录LoginServiceImpl-微信登录解决回调域名不能跨域绑…

【教程】VSCode配置C++环境踩坑记录

时隔一年终于在VSCode配置好了C环境[MinGW] 基础部分踩坑坑0坑1坑2坑3 基础部分 就是安装VSCode,然后再安装C插件之类的,咱这就不罗嗦了,如果不清楚可以参考这篇文章:VSCode配置C/C环境 毕竟解决后面一些棘手的问题更重要。 踩坑…

算法竞赛字符串常用操作大全

算法竞赛字符串常用操作总结来啦~ 👊 大家好 我是寸铁💪 考前需要刷大量真题,大家一起相互监督,每日做N题,一起上岸吧✌️ ~ 冲刺蓝桥杯省一模板大全来啦 💥 ~ 蓝桥杯4月8号就要开始了 🙏 ~ 还没背熟模…

一文带你了解Spring中存入Bean和获取Bean的方式

0. Spring中的五大注解 上图中就是五大类注解对应的层,通过源码可以看到其他四个注解都基于Conponent 1. 存入 Bean Spring既然是一个包含众多工具方法的IoC容器,它是一个控制反转的容器,所以就需要将Bean对象存入到容器中,需要…

excel文件导入或导出Java代码示例

1、excel文件导入 controller层接口内容 service层代码 serviceImpl内代码内容 OverrideTransactional(rollbackFor Exception.class)public void importCheckItemExcel(MultipartFile file, Long checkPkgId) throws Exception {if (file.isEmpty()){throw new IOException(…

CentOS 8 GLIBC升级失败系统崩溃抢修实战

CentOS 8 GLIBC升级失败系统崩溃抢修实战 1. 恐怖的问题2. 参考解决方案3. 抢修实战3.1 准备工作3.2 抢修流程3.3 解决启动后Permission Denied3.3.1 参考方案3.3.2 解决 4. 总结 服务器为CentOS 8,支持glibc版本为2.28,但编译一个工具的glibc需求版本为…

mysql中的行格式之compact格式分析

mysql中的行格式之compact格式分析 mysql行格式 所谓行格式,就是指mysql一行数据的存储格式。 InnoDB 储存引擎支持有四种行储存格式:Compact、Redundant、Dynamic 和 Compressed。 Redundant是很古老的行格式了,因为占用空间最多&#x…

Small Tip: 怎么找S4HANA所有的CDS View 以及跟BW相关的CDS View

1. 网页上找 1. SAP Business Accelerator Hub 到网址:https://api.sap.com 2. 到Categories底下找。如果没看见CDS View就去View all categories 3. 找到CDS Views之后,点击进去。 4. 按Package 分类来找: 2. 去help.sap.com找SAP S/4HA…

物理机传输大文件到虚拟机

物理机快速传输大文件到虚拟机 测试使用Tabby传输大文件到虚拟机 1.1 准备大文件 1.2 通过Tabby上传文件到Linux 总耗时约:7分钟 1.3 通过EveryThing配置服务 打开EveryThing,点击工具—> 选项—>http服务器 启用HTTP服务器,配置…

【基于 GitLab 的 CI/CD 实践】05、GitLab Pipeline 实践(下)

目录 needs 并行阶段 制品下载 include local 引入本地配置 file 引入其他项目配置 template 引入官方配置 remote 引入远程配置 extends 继承作业配置 extends & include trigger 管道触发 多项目管道 父子管道 image 准备环境 services environment inh…

文心一言 VS 讯飞星火 VS chatgpt (63)-- 算法导论6.5 2题

文心一言 VS 讯飞星火 VS chatgpt (63)-- 算法导论6.5 2题 二、试说明 MAX-HEAP-INSERT(A,10)在堆A(15,13,9,5,12,8,7,4,0,6&#xf…

XR应用云流化,多方面提升 XR 扩展现实体验!

无论是使用户能够协作设计电动赛车,还是帮助观众通过数字世界与自然互动,越来越多的企业利用XR扩展现实为用户提供沉浸式逼真的虚拟环境。 下一代沉浸式技术的应用越来越广泛,图形和人工智能的最新突破正在扩展XR的功能。这四种技术正在XR生态…

网络安全在2023好入行吗?

前言 023年的今天,慎重进入网安行业吧,目前来说信息安全方向的就业对于学历的容忍度比软件开发要大得多,还有很多高中被挖过来的大佬。 理由很简单,目前来说,信息安全的圈子人少,985、211院校很多都才建…

K12351 生日日期

题目描述 小科的生日是YY年MM月DD日,他想知道自己出生第10000天纪念的日期,出生日算第0天 输入格式 输入三个整数,分别表示YY,MM,DD,其中 1949≤YY≤2016 输出格式 输出小科身体第一万天以后的日期,格式为YY-MM-DD 输入输出…

Jmeter+Maven+jenkins+eclipse搭建自动化测试平台

背景: 首先用jmeter录制或者书写性能测试的脚本,用maven添加相关依赖,把性能测试的代码提交到github,在jenkins配置git下载性能测试的代码,配置运行脚本和测试报告,配置运行失败自动发邮件通知&#xff0c…

Docker 基本管理与应用

目录 一、Docker介绍 1、docker概述 2、容器优势 3、Docker与虚拟机的区别 4、Docker核心概念 二: 安装 Docker 1、环境准备、安装依赖包 2、 设置阿里云镜像源,安装 Docker-CE并设置为开机自动启动 3、信息查看 ​三:Docker 镜像操作…

AHB协议理解

目录 Chapter1 AHB Block Diagram Ginput signal lnput signals Output Signal Chapter3 Transfers AHB接口Overview Chapter6 Data Buses HWDATA HRDATA Chapter1 Introduction AHB: Advanced High-performance Bus ( 高级高性能总线 ) 应用场景:针对高效率&#…