PolarDB for PostgreSQL 开源必读手册-开源PolarDB for PostgreSQL架构介绍(中)

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: PolarDB for PostgreSQL 开源必读手册-开源PolarDB for PostgreSQL架构介绍

接上篇:https://developer.aliyun.com/article/1223114?spm=a2c6h.13148508.setting.27.44ec4f0eNvAByn


PolarDB1.0计算存储分离时,可以通过读写分离将TP事务型查询均匀地打散到不同节点上。但该架构在处理AP型查询时存在一些问题,因为查询只能在计算节点上处理,无法发挥多个计算节点的能力。

 

image.png

 

因此,PolarDB在存储计算分离架构上进一步实现了HTAP架构。如图中所示,在计算层实现了分布式并行计算引擎。任何一个计算节点均支持单机查询引擎,也支持分布式并行计算查询引擎。

 

如上图,最左侧节点可用于处理单机TP型查询,用户可将业务中所有TP查询、点查发送到该节点。同时,分析性查询可利用多个计算节点的特性来完成计算(上图中的只读节点),四个节点基于MPP工作原理。

 

最终,我们实现了一套系统,既可以做单机点查、点写,也可以做多机并行计算引擎处理AP分析。

 

以上架构实现了一体化存储,TP和AP共享一份数据,用户将TP数据写到共享存储,AP做分析时可以实现毫秒级的数据新鲜度。传统的解决方案下,TP库到AP库之间的复制延迟非常长。另外,使用一份存储也减少了存储成本。

 

其次,该架构将TP和AP做了物理隔离,可以将部分节点配置为负责处理TP查询,单机执行;然后将其他节点部署为分布式MPP执行,实现了TP和AP的物理隔离,甚至可以实现不同业务域运行在不同计算节点上,避免AP查询对TP查询的影响。

 

另外,该架构也具备了Serverless弹性扩展能力,任何RO节点均可以发起MPP查询。传统MPP查询中存在一个协调节点,而PolarDB里每个节点均可看到所有数据以及元数据,所有节点本质上是对等的,因此任何节点都可以作为MPP查询的协调节点。

 

同时,实现了SQL级别调整单机执行并行度以及SQL级别调整MPP执行节点范围。这意味着计算能力不足时,可以迅速增加计算节点。因此新增节点可以直接访问共享存储,对计算能力做扩展时,无需对数据做重分布。传统MPP统在新增节点时需要对数据做重分布,过程相当漫长,而PolarDB几乎可以实现秒级生效。另外,如果存储容量不足需要增加机器,也无需再做扩容,因为PolarDB底层为分布式存储,存储池化后容量按需分配,可以认为容量无限大,无需担心存储容量不足的问题。

 

image.png

 

HTAP架构内置了两个优化器,其一为传统内置优化器,用于处理单机查询。其二为GPORCA优化器,用于处理分布式查询。

 

执行器层引入了大量算子。除了单机执行引擎所需要的算子之外,还需要对以上算子做并行化改造,比如支持Shuffle节点、支持对顺序扫描节点的并行化操作。

 

事务层,PolarDB HTAP完整兼容事务,执行MPP时完备兼容事务的可见性级别。

 

PolarDB HTAP实现了SQL全兼容,做了大量工作实现SQL特性。

 

image.png

 

PolarDB除了支持存储计算分离和HTAP架构,还支持三节点高可用架构。该架构为基于X-Paxos做流复制,同时可以将PolarDB部署在本地盘,在可用区内部通过X-Paxos实现了低延迟系统。由于接入了X-Paxos协议,在某个节点宕机时可自动选择leader节点、自动做恢复、自动做集群节点变更。

 

同时,借助DataMax既可以支持日志+存储的部署方式,也支持仅部署日志的方式,实现两地三中心的部署。如图所示,可以将可用区域1中的日志通过异步或同步方式复制到Log Syncer进程,该进程在本地盘只存储了日志,并不存储数据,同时将WAL日志向下游做复制,复制到另一可用区。从而既保证了可用性,又从成本上得到了进一步控制。

 

image.png

 

PolarDB支持存储计算分离架构、HTAP架构以及三节点高可用架构,可以通过不同的配置文件部署成不同的方式,三个架构为正交关系。

 

如上图左侧,可以是云原生和HTAP混合使用的方式,业务可以根据自己的需求将TP和AP流量分别发送到不同的计算节点,且只需一份存储。

 

如上图右侧,可以借助X-Paxos将PolarDB以本地盘的方式进行部署,有一个leader和两个follower,可实现高可用。同时,本地盘的方式也可以支持HTAP的业务负载,比如可以将TP查询发送到leader节点上,同时将AP查询发送到follower上。且多个follower节点和leader节点可以组织成分布式查询,解决了传统TP数据库主备方式做分析时计算能力扩展的问题。

 


接下篇:https://developer.aliyun.com/article/1223111?groupCode=polardbforpg

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
17天前
|
存储 SQL 安全
应用案例|开源 PolarDB-X 在互联网安全场景的应用实践
中盾集团采用PolarDB-X云原生分布式数据库开源版本,有效解决了大数据量处理、复杂查询以及历史数据维护等难题,实现了业务的高效扩展与优化。
|
23天前
|
存储 Cloud Native 关系型数据库
PolarDB 高可用架构设计与实践
【8月更文第27天】 在现代互联网应用中,数据库作为核心的数据存储层,其稳定性和可靠性尤为重要。阿里云的 PolarDB 作为一款云原生的关系型数据库服务,提供了高可用、高性能和自动化的特性,适用于各种规模的应用。本文将详细介绍 PolarDB 的高可用架构设计,并探讨其实现数据安全性和业务连续性的关键技术。
44 0
|
16天前
|
关系型数据库 分布式数据库 数据库
开源云原生数据库PolarDB PostgreSQL 15兼容版本正式发布
PolarDB进行了深度的内核优化,从而实现以更低的成本提供商业数据库的性能。
|
11天前
惊世骇俗!开源 PolarDB-X 部署安装大冒险,全程心跳与惊喜不断!
【9月更文挑战第8天】作为技术爱好者的我,近期成功完成了开源 PolarDB-X 的部署安装。尽管过程中遇到不少挑战,但通过精心准备环境、下载安装包、配置参数及启动服务等步骤,最终顺利实现部署。本文将详细介绍部署全过程及可能遇到的问题,为您的 PolarDB-X 探索之旅提供参考与启发,希望能让大家在技术海洋里畅游得更加顺利!
35 2
|
14天前
|
Cloud Native 关系型数据库 分布式数据库
PolarDB开源项目未来展望:技术趋势与社区发展方向
【9月更文挑战第5天】随着云计算技术的发展,阿里云推出的云原生分布式数据库PolarDB受到广泛关注。本文探讨PolarDB的未来展望,包括云原生与容器化集成、HTAP及实时分析能力提升、智能化运维与自动化管理等技术趋势;并通过加强全球开源社区合作、拓展行业解决方案及完善开发者生态等措施推动社区发展,目标成为全球领先的云原生数据库之一,为企业提供高效、可靠的服务。
40 5
|
14天前
|
关系型数据库 MySQL 分布式数据库
PolarDB开源社区动态:最新版本功能亮点与更新解读
【9月更文挑战第6天】随着云计算技术的发展,分布式数据库系统成为企业数据处理的核心。阿里云的云原生数据库PolarDB自开源以来备受关注,近日发布的最新版本在内核稳定性、性能、分布式CDC架构及基于时间点的恢复等方面均有显著提升,并新增了MySQL一键导入功能。本文将解读这些新特性并提供示例代码,帮助企业更好地利用PolarDB处理实时数据同步和离线分析任务,提升数据安全性。未来,PolarDB将继续创新,为企业提供更高效的数据处理服务。
37 3
|
20天前
|
运维 监控 关系型数据库
【一文搞懂PGSQL】7. PostgreSQL + repmgr + witness 高可用架构
该文档介绍了如何构建基于PostgreSQL的高可用架构,利用repmgr进行集群管理和故障转移,并引入witness节点增强网络故障检测能力。repmgr是一款轻量级的开源工具,支持一键部署、自动故障转移及分布式节点管理。文档详细描述了环境搭建步骤,包括配置postgresql参数、安装与配置repmgr、注册集群节点以及配置witness节点等。此外,还提供了故障手动与自动切换的方法及常用命令,确保集群稳定运行。
|
26天前
|
Cloud Native 关系型数据库 分布式数据库
云原生数据库2.0问题之PolarDB利用云计算技术红利如何解决
云原生数据库2.0问题之PolarDB利用云计算技术红利如何解决
|
28天前
|
Cloud Native 关系型数据库 分布式数据库
云原生关系型数据库PolarDB问题之PolarDB相比传统商用数据库的优势如何解决
云原生关系型数据库PolarDB问题之PolarDB相比传统商用数据库的优势如何解决
29 1
|
1月前
|
存储 关系型数据库 MySQL
再探PolarDB —— PolarDB MySQL 四大场景下的全方位评测
本文全面评测了阿里云PolarDB MySQL在四大关键场景下的表现:Serverless极致弹性、列存索引(IMCI)、弹性并行查询(ePQ)以及无感秒切高可用。通过官方提供的免费体验资源,我们深入了解了PolarDB MySQL的核心能力和性能。Serverless极致弹性列存索引(IMCI弹性并行查询(ePQ)无感秒切高可用此外,文章还介绍了PolarDB MySQL在数据备份和HTAP(混合事务/分析处理)场景下的优势,包括灵活的备份策略、高效的全量和库表恢复方式,以及通过IMCI支持的HTAP能力。这些特性共同构成了PolarDB MySQL作为一款先进的云数据库服务的强大竞争力。

相关产品

  • 云原生数据库 PolarDB