Polardb MySQL 产品架构及特性

2024-04-03 08:44

本文主要是介绍Polardb MySQL 产品架构及特性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、产品概述;
1、产品族
在这里插入图片描述
参考:https://edu.aliyun.com/course/3121700/lesson/341900000?spm=a2cwt.28120015.3121700.6.166d71c1wwp2px
2、polardb mysql架构优势
在这里插入图片描述
1)大容量高弹性:最大支持存储100T,最高超1000核CPU,可扩展到16个计算节点,预期5分钟完成只读实例和升降配置,支持临时升级弹性伸缩应对业务高峰
2)高可靠高可用:基于分布式共享存储,数据3副本,多可用区部署,主节点故障后30s内切换到任意只读节点,秒级备份,可按时间点快速恢复数据,全球数据库,实现高效异地容灾,
3)高性能低延迟:分布式共享存储确保主从数据毫秒延迟,提高超高I/O吞吐能力,通过多个计算节点自动读写分离,高并发性能是自建开源数据库的5-6倍,内置原生并行查询parallel Query,充分利用多核CPU,10倍提升大表并行查询能力
4)安全可控:黑白名单设置访问权限,SSL加密确保数据传输链路安全,TDE对数据存储过程进行加密和解密,数据库、表、和列可设置动态脱敏查询,一键SQL洞察,对SQL进行健康诊断,设别高危SQL

3、支持版本:Mysql 5.6、5.7、8.x
4、部署架构
在这里插入图片描述
1、可抵御机房级故障2、默认双可用区部署3、主可用区故障时,可手工进行主备可用
区切换 4、每个可用区3副本,两个可用区共6副本

二、特性
连接访问
PolarDB集群的连接地址(又称为Endpoint)分为主地址、集群地址(又称为默认集群地址)和自定义地址三种类型。其中,默认集群地址和自定义地址都是通过数据库代理来实现的,即这两类地址的请求是经过代理节点,而主地址的请求不经过代理节点。在连接PolarDB集群时,您可以填写PolarDB集群的上述三种地址,推荐使用默认集群地址
在这里插入图片描述
在这里插入图片描述
参考:https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/connection-address?spm=a2c4g.11186623.0.0.7621eb655wRGbM

一致性
最终一致性:不保证实时读到最新的数据,但是最终数据是一致的。
会话一致性: 保证同一个会话内,一定能查询到最新的数据。
全局一致性:保障不同会话间,也一定能查询到最新的数据。

分布式共享存储
在这里插入图片描述
社区Mysql:1、通过逻辑日志进行主从库同步,主从节点延迟大, 2、 添加只读节点,社区mysql增加只读节点与数据量强相关,需要完整复制数据,耗时很长(小时级) 3、主从切换故障切换(分钟级),不能保障RPO = 0 4、涉及Mysql一般建议表500万-1000万记录,6T以内存储空间
Polardb mysql:1、数据文件和物理日志均实时写入共享存储,主从节点毫秒级低延迟2、添加只读节点,无需拷贝数据,5分钟快速提供服务3、30秒内主备故障切换(Failover),只读节点均可以从存储中获取最新的物理日志,确保RPO=0 4、polardb单表亿级别,100T存储空间 5、RO节点毫秒级延迟,基于redo的物理复制,redo日志传输同步实时进行,无需等待事务结束,RW节点向共享存储写redo日志,redo通过网路或共享存储发送给RO节点,RO节点拿到redo日志解析应用,通过redo信息更新buffer pool配置状态,还有一些cache,逻辑事务状态更新,传统的逻辑复制事务开始,一定会等到commit才会生成一个binlog,然后传到备库应用,如果事务比较大,备库延迟会比较大

参考:https://edu.aliyun.com/course/3121700/lesson/341900000?spm=a2cwt.28120015.3121700.6.166d71c1wwp2px

三、高级特性
1、安全性
访问安全:通过白名单和安全组控制
数据传输安全:SSL加密,SSL在传输层对网络连接进行加密提升通信的安全性和完整性
数据安全:透明数据加密TDE,对数据文件执行实时I/O加密和解密,数据写入磁盘之前进行加密,从磁盘读入内存时进行解密
数据脱敏:当应用程序发起数据查询请求时,系统会在数据库内部对脱敏数据进行变换后再返回给应用程序,开始查询前,仅需指定需要进行脱敏查询的数据库账号,以及需要脱敏的数据库、表即可
安全审计:sql审计记录业务执行的sql,方便硕源问题

参考:https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/data-security-and-encryption/?spm=a2c4g.11186623.0.0.1bb7264fnt7ujG

2、备份恢复
在这里插入图片描述
PolarDB支持数据备份和物理日志备份。数据备份即将某个时间点上集群的全量数据生成一个备份集(快照),即全量备份;物理日志备份即记录生成备份集后的增量数据,即增量备份。通过一个完整的数据备份以及后续一段时间的Redo日志备份,就可以将整个PolarDB集群或特定库表恢复到任意时间点。

一级备份采用ROW(Redirect-on-Write)快照的方式,直接保存在PolarDB分布式存储系统上。每次保存时,一级备份并没有真正复制数据,当数据块有修改时系统会将其中一个历史版本的数据块保留给快照,同时生成新的数据块被原数据引用(Redirect)。因此无论数据库容量多少,都可以做到秒级备份。

PolarDB集群备份和恢复功能均采用多线程并行处理,并通过其他技术创新,预计10分钟内(开启热备集群后恢复时间将加倍)即可完成从备份集(快照)恢复到一个新的集群。具体耗时与数据库的数据量大小等因素有关。

二级备份是指一级备份压缩后保存在其他离线存储介质上的备份数据。保存成本较低,但使用二级备份恢复数据的速度较慢。

开启二级备份后,若一级备份超出您设置的保留时间,将会被自动转存为二级备份,转存速度约为150 MB/秒。

二级备份支持同地域备份和跨地域备份

备份原理;

恢复:
1)闪回
闪回查询、实例回收站支持特定表或记录快速回退至某一历史时刻,可以快速恢复应对误操作
粒度:记录级回滚
时间范围:3天内
恢复耗时:秒级或分钟级

参考:
https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/flashback-queries?spm=a2c4g.11186623.0.0.7fa67f07kKaTyZ

https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/restore-a-released-cluster?spm=a2c4g.11186623.0.0.5a47539eaSXHZJ

2)库表恢复
粒度:单库 单表 完整实例
实现:快照+redo log
恢复耗时:和数据量相关

3)按时间点恢复

3、GDN(全球数据库)

4、FAST DDL

5、并行查询

6、列索引

7、多租户多写

8、性能诊断(DAS)

这篇关于Polardb MySQL 产品架构及特性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/872436

相关文章

深入理解Mysql OnlineDDL的算法

《深入理解MysqlOnlineDDL的算法》本文主要介绍了讲解MysqlOnlineDDL的算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小... 目录一、Online DDL 是什么?二、Online DDL 的三种主要算法2.1COPY(复制法)

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

MySQL中VARCHAR和TEXT的区别小结

《MySQL中VARCHAR和TEXT的区别小结》MySQL中VARCHAR和TEXT用于存储字符串,VARCHAR可变长度存储在行内,适合短文本;TEXT存储在溢出页,适合大文本,下面就来具体的了解... 目录一、VARCHAR 和 TEXT 基本介绍1. VARCHAR2. TEXT二、VARCHAR

MySQL中C接口的实现

《MySQL中C接口的实现》本节内容介绍使用C/C++访问数据库,包括对数据库的增删查改操作,主要是学习一些接口的调用,具有一定的参考价值,感兴趣的可以了解一下... 目录准备mysql库使用mysql库编译文件官方API文档对象的创建和关闭链接数据库下达sql指令select语句前言:本节内容介绍使用C/

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

mybatis直接执行完整sql及踩坑解决

《mybatis直接执行完整sql及踩坑解决》MyBatis可通过select标签执行动态SQL,DQL用ListLinkedHashMap接收结果,DML用int处理,注意防御SQL注入,优先使用#... 目录myBATiFBNZQs直接执行完整sql及踩坑select语句采用count、insert、u

MySQL之搜索引擎使用解读

《MySQL之搜索引擎使用解读》MySQL存储引擎是数据存储和管理的核心组件,不同引擎(如InnoDB、MyISAM)采用不同机制,InnoDB支持事务与行锁,适合高并发场景;MyISAM不支持事务,... 目录mysql的存储引擎是什么MySQL存储引擎的功能MySQL的存储引擎的分类查看存储引擎1.命令

一文详解MySQL索引(六张图彻底搞懂)

《一文详解MySQL索引(六张图彻底搞懂)》MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度,:本文主要介绍MySQL索引的相关资料,文中通过代码介绍的... 目录一、什么是索引?为什么需要索引?二、索引该用哪种数据结构?1. 哈希表2. 跳表3. 二叉排序树4.

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3