如何将 PolarDB-X 与大数据等系统互通|学习笔记(一)

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: 快速学习如何将 PolarDB-X 与大数据等系统互通

开发者学堂课程【如何将PolarDB-X与大数据等系统互通如何将 PolarDB-X 与大数据等系统互通】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/984/detail/14937


如何将 PolarDB-X 与大数据等系统互通

 

内容介绍

一、环境准备

二、演示内容

 

一、环境准备

本节内容会讲如果将 PolarDB-X 与下游的一些数据的系统比如说大数据等,进行一个互通,其实就是讲一下 PolarDB-X 提供一个全新变化的一个能力。

首先它还是围绕 PolarDB-X 的社区版,也就是开源的版本来进行一个讲解,那么它对应的是在阿里云上的 PolarDB-X 商业版的一个2.0,面向群体就是主要应用开发者、架构师、 DBA、DevOps、SRE 和学生等等。

image.png

主要的内容就是围绕在使用 PolarDB-X 的整个生命周期的过程当中所有的场景,这样一个场景化的介绍会有一些动手的实践的一个过程。

那么这个课程大概会覆盖这些 topic , topic 在后面也可能会有所增加或者是调整,比如说第一期讲了如何一键部署 PolarDB-X ,那么第二期讲了如果使用 PolarDB-X ,那今天按照这个顺序,应该是讲数据导入或者是水平或缩容,但是目前这两个功能依赖于最近即将发的一个新的版本,所以那就把它调整到这个画板之后再进行讲解,所以这一讲需要有这样一些基础的准备。

第一个就是系统,首先需要有一台 CentOS7、CentOS8、macOS等等。 Windows 没测过,但希望它可以完成。配置就稍微好一点的配置,那么这个环境里面需要装上像 Docker、MySQL ,还有一个可使用的 PolarDB-X ,还有今天演示所依赖的一个阿里开源的工具。

image.png

那么按照惯例,首先回来看一下 PolarDB-X 的一个架构,那理解这个架构会有助于理解后面的很多实践动手过程当中的一些细节,所以首先还是来看一下 PolarDB-X 的一个的基础架构,它是一个分布式的一个水库,那么在系统组建实际上它也是个分布式的一种方式。最前面也就是跟应用的交互这边有吸引的一个组件,也是分布式计算的节点,那么后面紧跟的就是 DN ,它是数据存储的一个节点, DN 是一个 MySQL 的一个本质,所以为了方便理解可以简单的把它理解成是一个定制化的 MySQL ,那么最上面的是元数据中心 Gms,那它其实也是一种 DN ,只不过扮演了特殊的角色,它会保存整个系统的元数据,同时提供一个全局式的授时服务,那最后也是跟今天内容相关的 CDC 这样的一个全局日志生成的一个组件,这是整个系统的架构

 

二、演示内容

image.png

第一部分来演示一下PolarDB-X 作为一个圆,中间用上开源的 Canal,作为增量的一个数据的订阅,也就是消费全级 Binlog ,那最后把 Canal 的数据本来计划是投递到 kafka 当中,因为分析的系统比较热门,所以把数据就都投递到 Kinkhouse  里面,第一个要演示的场景就是 PolarDB-X +Canal+Kafka ,最终的目标是跑起一个 PolarDB-X 或者搭建一条同步列路,然后在 PolarDB-X 里面写一些数据,实际上是在做一个数据库当中常用的一个测试场景,它叫转账测试。希望这个同链路能够把这些数据正常的同步到下游的 PolarDB-X  里面。

第二个场景是 PolarDB-X 提供了与 MySQL 完全兼容的一个能力。那么作为一个验证也会把 MySQL 作为  PolarDB-X 的一个备库,然后直接用 MySQL 的change master指令来连到 PolarDB-X 里面,同时在 PolarDB-X 这边再次跑一个转账测试,希望转账测试里面的数据能够正常的同步到MySQL 这个备库里面。首先来进行第一个演示,也就是 PolarDB-X +Canal+Kafka。用了阿里云上的一台 ecs ,把这些链路搭建起来,同时因为中间有一段需要写代码的,也就是Kinkhouse 消费到 PolarDB-X 中的 Binlog 之后,它需要用 Canal的 Kink  去消费增量。

同时再把它写到Kinkhouse 里面。这段代码直接把它放在那个 idea 本地建了一个工程,所以这次演示首先 PolarDB-X +Canal+Kafka,更精确的来说以及Kinkhouse 。

这三个都是以一个 docker 容器跑在了一个远程的 ecs 的远程服务器上,然后 Kinkhouse 是跑在个人电脑。那么接下来首先登录远程演示的服务器,这是一直以来用来演示的服务器,那么接下来先来看一下,可以看到远程的服务器上,目前一个容器都没有所以全新来建几个容器,第一个需要把 PolarDB-X 建立好,这是之前已经测试过的,所以这个电脑上会有之前敲过的一些命令的记录,有的用户可能看得比较清楚,发现之前执行的命令直接补全掉,那如果不知道,给大家推荐一个比较好用的 shell 叫 fish ,然后它还是比较好用的,大家可以去用一下,这样就把 PolarDB-X 给解决掉,这个容器是用我最近打包的一个新的 PolarDB-X 的一个 one 的一个形象iPod,那它里面启动 PolarDB-X 需要一点点的时间,那用这点时间来讲一下把那个我的client,也就是我消费 clinicnk server里面增量数据写到Kinkhouse 那段代码,它的基本都是怎么样的?

昨天我在 Idea 里面建了一个工程,然后这个工程很简单,它就一个类,这个类就是为了演示,从clinicnk server里面拉到增量数据,我是把它投递到Kinkhouse 里面,首先是从给它们 Kink的那个官方的例子里面直接把那段代码给拷贝过来的,也就是那个 example 拷贝下来的,然后做了稍微的一个修改。

那前面就是连接 clinicnk server  一个过程,尝试连接去获取消息。如果没有就等待一秒之后再去尝试获取的这么一个循环,然后一旦获取到数据之后,它就是在控制台。

这个方法就把这些获取到的增量的数据打印出来,那么在 example 里面,这个代码就算完成。

那我做的修改的部分就是在它打印的时候,我同时去建了一个到一个 Kinkhouse  连接,可以看到这里是用 Kinkhouse  提供的一个标准的 gbc 连接的一个方式,首先搞了一个Kinkhouse ,然后再写一个connection,然后写一statement ,之后会在这些里面的记录的时候,在这里获取达到每一行变更,如果发现里面是 insert 或者是 update 的实践,那我会尝试把它投递到Kinkhouse 。

相关文章
|
关系型数据库 MySQL Serverless
高顿教育:大数据抽数分析业务引入polardb mysql serverless
高顿教育通过使用polardb serverless形态进行数据汇总,然后统一进行数据同步到数仓,业务有明显高低峰期,灵活的弹性伸缩能力,大大降低了客户使用成本。
|
SQL 分布式计算 大数据
Python+大数据学习笔记(一)
Python+大数据学习笔记(一)
189 0
|
关系型数据库 分布式数据库 数据库
PolarDB 以其出色的性能和可扩展性,成为大数据分析的重要工具
在数字化时代,企业面对海量数据的挑战,PolarDB 以其出色的性能和可扩展性,成为大数据分析的重要工具。它不仅支持高速数据读写,还通过数据分区、索引优化等策略提升分析效率,适用于电商、金融等多个行业,助力企业精准决策。
327 4
|
关系型数据库 MySQL 分布式数据库
PolarDB 并行查询问题之大数据量的实时分析查询挑战如何解决
PolarDB 并行查询问题之大数据量的实时分析查询挑战如何解决
165 2
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之同样的表和数据,在PolarDB执行LEFT JOIN查询可以得到结果,但在MaxCompute中却返回为空,是什么原因
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
SQL 弹性计算 关系型数据库
PolarDB产品使用问题之如何和ECS实例实现内网互通
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
存储 关系型数据库 大数据
PolarDB 大数据处理能力及其应用场景
【8月更文第27天】随着数据量的爆炸性增长,传统的数据库系统面临着存储和处理大规模数据集的挑战。阿里云的 PolarDB 是一种兼容 MySQL、PostgreSQL 和高度可扩展的关系型数据库服务,它通过其独特的架构设计,能够有效地支持海量数据的存储和查询需求。
551 0
|
弹性计算 容灾 关系型数据库
ECS互通问题之与polarDB内网互通如何解决
ECS(Elastic Compute Service,弹性计算服务)是云计算服务提供商提供的一种基础云服务,允许用户在云端获取和配置虚拟服务器。以下是ECS服务使用中的一些常见问题及其解答的合集:
|
关系型数据库 分布式数据库 数据处理
【PolarDB 开源】PolarDB 在大数据分析中的应用:海量数据处理方案
【5月更文挑战第25天】PolarDB是解决大数据挑战的关键技术,以其高性能和可扩展性处理大规模数据。通过与数据采集和分析工具集成,构建高效数据生态系统。示例代码显示了PolarDB如何用于查询海量数据。优化策略包括数据分区、索引、压缩和分布式部署,广泛应用于电商、金融等领域,助力企业进行精准分析和决策。随着大数据技术进步,PolarDB将继续发挥关键作用,创造更多价值。
483 0
|
SQL canal 大数据
实践教程之将PolarDB-X与大数据等系统互通
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。
实践教程之将PolarDB-X与大数据等系统互通