一、产品概述;
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)