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

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 快速学习如何将 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 。

相关文章
|
29天前
|
存储 大数据 数据处理
PHP 与大数据:构建高效数据处理系统
传统的数据处理系统往往难以应对大规模数据的处理需求,而PHP作为一种常用的服务器端脚本语言,在数据处理方面也有其独特的优势。本文将探讨如何利用PHP构建高效的大数据处理系统,结合实际案例分析其应用场景及优势所在。
15 2
|
5月前
|
SQL 分布式计算 大数据
Python+大数据学习笔记(一)
Python+大数据学习笔记(一)
45 0
|
2月前
|
存储 分布式计算 大数据
现代化数据库技术——面向大数据的分布式存储系统
传统的关系型数据库在面对大规模数据处理时遇到了诸多挑战,而面向大数据的分布式存储系统应运而生。本文将深入探讨现代化数据库技术中的分布式存储系统,包括其优势、工作原理以及在大数据领域的应用。
|
2月前
|
安全 Java 大数据
基于大数据的旅游系统的设计与实现(论文+源码)_kaic
基于大数据的旅游系统的设计与实现(论文+源码)_kaic
|
3月前
|
关系型数据库 Linux Shell
Centos系统上安装PostgreSQL和常用PostgreSQL功能
Centos系统上安装PostgreSQL和常用PostgreSQL功能
|
3月前
|
监控 物联网 大数据
智慧工地管理平台系统源码基于物联网、云计算、大数据等技术
智慧工地平台APP通过对施工过程人机料法环的全面感知、互联互通、智能协同,提高施工现场的生产效率、管理水平和决策能力,实现施工管理的数字化、智能化、精益化。
57 0
|
4月前
|
存储 关系型数据库 分布式数据库
PolarDB IMCI助力云学堂实现高效HTAP系统
云学堂数据库全量使用PolarDB,成本节约30%以上
113 0
|
4月前
|
Cloud Native 关系型数据库 分布式数据库
凭安征信引入阿里云PolarDB云数据库支撑企业征信核心业务系统
凭安征信是国家中小企业公共服务示范平台,主营信用管理服务包括信用管家、水滴信用及可信认证。通过采用阿里云PolarDB云原生数据库替代RDS数据库帮助客户全面实现业务系统性能提升1-2倍,通过PolarDB企业级能力的加持下,运维更加简便,操作更加简单,数据安全能力更强。
|
4月前
|
关系型数据库 分布式数据库 PolarDB
在PolarDB中,对于join操作,系统会采用拉取内表
【1月更文挑战第21天】【1月更文挑战第103篇】在PolarDB中,对于join操作,系统会采用拉取内表
19 1
|
4月前
|
人工智能 自然语言处理 大数据
AI大数据智能导诊系统源码 Springboot框架
智能导诊系统是在医院中使用的引导患者自助就诊挂号,在就诊的过程中有许多患者不知道需要挂什么号,要看什么病,通过智慧导诊系统,可输入自身疾病的症状表现,或选择身体部位,再经由智能导诊系统多维度计算,AI智能引擎分析、准确推荐科室,引导患者挂号就诊,实现科学就诊,不用担心挂错号。
60 0

热门文章

最新文章