用 PolarDB - X + Flink 搭建实时数据大屏|学习笔记(三)

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 快速学习用 PolarDB - X + Flink 搭建实时数据大屏

开发者学堂课程【用 PolarDB-X+Flink 搭建实时数据大屏用 PolarDB - X + Flink 搭建实时数据大屏】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/988/detail/14931


用 PolarDB - X + Flink 搭建实时数据大屏

可以看到gmv这张表有ID,gmv是交易总额,用decimalI表答案,还有一个订单叫做orders,PolarDB - X这边已经建立好了,在flink这边有个概念就think,就是将计算结果存储到什么地方?,下面建立一下,会将结果存到PolarDB - X建的gmv库里面,刚才db忘了写,所以稍微改一下,可以看到在flink建的表connect用的是jdbc,库叫做gmv表也叫作gmv

image.png

这样就建好了,首先看链路是否是正常打通的

image.png

可以的,现在还是空的还没有数据,这样链路就打通了,最后首先看一下交易的大屏是怎么样的

image.png

这就是刚才做的交易大屏,比较寒酸,但是会把最关键的信息,一个是总交易额,一个是总订单量这两个数据会展示出来,首先将交易大屏这个应用启动,它分成两个部分,第一部分是后端,也就是用spring boot开发的访问PolarDB - X去获取gmv那张表里面的数据这样的应用,先将它启动起来,然后需要做一下端口转化,连接大家可以忽略,先把前端应用启动起来

image.png

现在vue已经将前端的应用起来了,前端应用是在网上找的阿里比较有名的展示数字大屏的应用,有的是用vue做的类似的框架,现在直接把别人的demo拿过来做了一个修改,改完之后就是上面的一个效果

image.png

现在前端部分已经启动好了,接下来将后端的也就是数据的部分进行启动。

image.png

后端部分已经启动好了,在将后端的端口进行转发,后端监听的是8888端口

image.png

这样就转发过来了,首新疆前端的页面加载过来,之后前端页面也会做一个周期性的HTTP查询,这个查询查的是8888端口,也就是用spring boot写的后台提供数据的接口,Spring boot写的应用会去PolarDB - X里面将gmv那张表的数据获取过来,现在刷新一下交易大屏的页面,目前还是空的,接下来做个最关键的部分,也就是在flink里面让流计算跑起来,跑起来的意思是将orders那张表所有数据给查下来,然后计算里面的数据给sum,然后将结果写到gmv这张表里面,这样交易的大屏就可以看到了,可以来看一下c口

image.png

用了一个insert into select语句,select是从orders这张表里面你把所有的数据查出来,然后count一下order,然后sum一下price,把这条数据的主件定为一,然后再把这条数据insert回gmv,如果这条语句执行正常的话,PolarDB - X里面的gmv这张表执行完以后是空的,所以现在来看一下回到PolarDB - X这边

image.png

可以看到它里面已经有一条数据了,当前总交易额是90.75,订单有三条,说明云计算已经正式的在跑了,再来看一下交易大屏,并没有出来查看一下是什么原因,是spring boot的库表写的不太对,这里稍微改一下,Spring boot连接的库的名字是不对的,这边应该连接的是叫GMV的库,里面会有对应的GMV的表

image.png

改完之后重启客户端,再来看一下交易大屏的数据是否能够正确的出来

image.png

可以看到交易额已经变成了90元,订单数量是三个,这时交易大屏已经正常了,现在的业务交易库是PolarDB - X里面有订单这张表,通过flink将订单里面数据拉过来后,做了一个计算,计算得到了两个值,一个是总的订单量,一个是总的交易额,然后将这个结果写到PolarDB - X另一个库里,就一大瓶这个应用就会将里面的计算结果拿出来进行展示,这是目前已经做好的工作,接下来是最关键的一步,模拟双十一0点大量的订单进来了,这个交易大屏数据实时的有一个增加的过程,来看一下今天的效果能不能出来,为了演示简单的写了一个去买东西的产品的脚本,其实就是向订单表里面无脑的插入一些订单数据,现在启动另一个终端连接上ECS

image.png

可以看到里面有个脚本叫做buy.sh,他是一个shell脚本,简单的打开看一下

#!/ bin / bash

echo “ start buying .….“

ySqL -0eTgULtS- etrg -1LLe mySqL -Cont1g◇ Crt Dmydb e1nsertLnt OrderSVgLuesCdefout , noNO ◇fee6om1024,10Z0)

f !( C count %10); then

Let “ batCh

Count /10

echo Sbatch ": got 10 products , gave 1024¥'

sleep 0.05

这个脚本做的事情特别简单,每循环一次都连接上原端的PolarDB - X往里面insert了一条订单,现在来启动脚本,启动的一瞬间可以想象是0点双十一,按下回车键之后理论上交易大屏会在不停的滚动

image.png

可以看到这边每隔一段时间都会打印出现在已经买了十个东西,产生了十个订单,花了1024的钱,交易大屏的数字也在进行一个实时的滚动,交易额在增加,总的订单量也在增加,这个就是完成了,双十一0点时优衣库的交易额,现在因为知道原端比较小,所以交一个饭馆起来不如双十一交易额,不过,有效果,现在这个链路已经完全打通了,最源端是一个交易的系统,里面是用PolarDB - X创建的数据库做数据的存储,其中最关键的一张表就做订单表,用flink去拉取这张表增量的数据并进行实时计算,将总的订单数量,总交易额进行了计算,之后再写回PolarDB - X的另外一个库里面,之后交易大屏这个应用去PolarDB - X的库里面去获取实时的交易额以及订单量,呈现在了网页上面,这就是今天主要所讲内容。

所要讲解的重点是flink cdc里面用了他的mySQL cdc这样一个ID,也就是把原端的PolarDB - X当成一个mySQL去调用,这样也能够获取原端总量的数据,这样就证明了PolarDB - X全局Binlog以及mySQL Binlog一些参数上面的兼容性,这就是今天做的第二个demo,今天的demo大家可以看到其实依赖的重要特性是全局Binlog。

在即将结束的时候做一个预告,PolarDB - X是从去年开源的也就是10月20号,之后在1月份的时候做了一个小版本的更新,现在有三个月过去了,按照更新迭代的速度是时候应该再发布一个版本,只不过这次发布的版本会比较重量级,首先有了一个统一的产品的版本号叫做PolarDB - X2.1.0,里面会包含非常多,非常多的特性,其中有一项就是大家特别关心的三副本能力,还有其他n多的能力,这个发布会在近期非常短的时间。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
传感器 存储 缓存
[尚硅谷flink学习笔记] 实战案例TopN 问题
这段内容是关于如何使用Apache Flink解决实时统计水位传感器数据中,在一定时间窗口内出现次数最多的水位问题,即"Top N"问题。首先,介绍了一个使用滑动窗口的简单实现,通过收集传感器数据,按照水位计数,然后排序并输出前两名。接着,提出了全窗口和优化方案,其中优化包括按键分区(按水位vc分组)、开窗操作(增量聚合计算count)和过程函数处理(聚合并排序输出Top N结果)。最后,给出了一个使用`KeyedProcessFunction`进行优化的示例代码,通过按键by窗口结束时间,确保每个窗口的所有数据到达后再进行处理,提高了效率。
400 1
|
存储 弹性计算 数据可视化
使用PolarDB-X与Flink搭建实时数据大屏
使用PolarDB-X与Flink搭建实时数据大屏
|
SQL 数据可视化 关系型数据库
使用PolarDB-X与Flink搭建实时数据大屏
《PolarDB-X 动手实践》系列第七期,本场景带您体验如何使用PolarDB-X与Flink搭建一个实时数据大屏。
|
SQL 数据可视化 关系型数据库
实践教程之使用PolarDB-X与Flink搭建实时数据大屏
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。 本期实验将指导您使用 PolarDB-X 与Flink搭建实时数据大屏。
实践教程之使用PolarDB-X与Flink搭建实时数据大屏
|
存储 SQL 安全
【MySQL学习笔记】系列一:数据库概述、初识关系型数据库MySQL(二)
【MySQL学习笔记】系列一:数据库概述、初识关系型数据库MySQL(二)
10453 0
|
存储 SQL Oracle
【MySQL学习笔记】系列一:数据库概述、初识关系型数据库MySQL(一)
【MySQL学习笔记】系列一:数据库概述、初识关系型数据库MySQL(一)
|
9月前
|
关系型数据库 分布式数据库 数据库
一库多能:阿里云PolarDB三大引擎、四种输出形态,覆盖企业数据库全场景
PolarDB是阿里云自研的新一代云原生数据库,提供极致弹性、高性能和海量存储。它包含三个版本:PolarDB-M(兼容MySQL)、PolarDB-PG(兼容PostgreSQL及Oracle语法)和PolarDB-X(分布式数据库)。支持公有云、专有云、DBStack及轻量版等多种形态,满足不同场景需求。2021年,PolarDB-PG与PolarDB-X开源,内核与商业版一致,推动国产数据库生态发展,同时兼容主流国产操作系统与芯片,获得权威安全认证。
|
6月前
|
存储 关系型数据库 分布式数据库
喜报|阿里云PolarDB数据库(分布式版)荣获国内首台(套)产品奖项
阿里云PolarDB数据库管理软件(分布式版)荣获「2024年度国内首版次软件」称号,并跻身《2024年度浙江省首台(套)推广应用典型案例》。
|
4月前
|
Cloud Native 关系型数据库 MySQL
免费体验!高效实现自建 MySQL 数据库平滑迁移至 PolarDB-X
PolarDB-X 是阿里云推出的云原生分布式数据库,支持PB级存储扩展、高并发访问与数据强一致,助力企业实现MySQL平滑迁移。现已开放免费体验,点击即享高效、稳定的数据库升级方案。
免费体验!高效实现自建 MySQL 数据库平滑迁移至 PolarDB-X

热门文章

最新文章