PolarDB For Mysql 学习 (一) 认识polarDB

96 阅读3分钟

1.什么是polarDB

引用阿里云官网原话:

PolarDB MySQL版是阿里巴巴自研的云原生HTAP数据库。PolarDB MySQL版100%兼容原生MySQL的多个版本,包括MySQL 5.6、MySQL 5.7和MySQL 8.0。PolarDB MySQL版的企业版基于云原生架构、计算存储分离、软硬件一体化设计,为用户提供具备超高弹性和性能、高可用和高可靠保障、高性价比的数据库服务。

PolarDB生态也是比较丰富.目前可分为PolarDB MySQL版、PolarDB PostgreSQL版、PolarDB 分布式版。本文主要以polarDB Mysql版本介绍.

2.polarDB解决了什么问题

解决RDS随着业务增长带来的成本问题.

随着业务增长rds实例数据量较大,对数据备份,以及增加只读扩展以及故障恢复,带来的时间,金钱以及人力成本都是线性增长的

带来更可靠的系统架构以及性能增长

polarDB底层采用共享存储,主从切换可以实现秒级切换,系统架构中的代理层可以无感知的识别异常实例节点,并自动完成切换,保证业务连续性,特别是对于金融类系统.

3.polarDB架构

image.png

从图中可以看到PolarDB整体架构上也可以分为三个部分:Proxy层(PolarDB的接入层), PolarDB计算层(支持MySQL,PostgreSQL,Oracle), PolarDB存储层。

Proxy层

数据库和应用中间的网络代理层,用于读写分离,负载均衡,一致性级别,连接池,等功能. 以此达到多个链接地址,可以起到业务资源隔离,可以一个proxy访问后面多(单)个计算节点,实现读写分离,节点负载均衡,保障应用访问的一致性.

image.png

PolarDB计算层

在计算层支持Mysql,PG,Oracle语法,该节点主要用于sql解析,事务执行,优化查询等. 由于采用计算存储分离架构,如果添加一个读节点可以在五分钟以内创建并提供服务,如果开启自动扩容,还可以根据负载情况自动扩缩容

PolarDB存储层

单可用区3副本,双可用区6副本,ParallelRaft共识算法实现多副本强一致,秒级备份,且无需对数据库加锁,超低的延迟网络IO,利用25Gb的RDMA网络, Bypass Kerner的用用态协议支持。利用RDMA可以避免以太网的性能压力。在存储层可以实现快速备份:不超过30秒(与容量无关),支持高频备份每个2个小时做一个备份,分钟级恢复:从全量备份到恢复,不超过10分钟。从全备份中可以部分恢复。在备份中使用了Redirect-on-Write的方式,每次打快照并没真正的Copy数据,只有当数据块后期有修改了(write)时才把历史版本给保留给Snapshot,然后生成新的数据块,被原数据引用(Redirect),因此,不管数据库的容量是10G还是10TB,每次备备份(快照)均不超过30秒。但需要注意历史快照管理,以防止无限增大。

image.png