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

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
4月前
|
关系型数据库 分布式数据库 数据库
【PolarDB开源】PolarDB与微服务架构的融合:灵活扩展与高效管理
【5月更文挑战第23天】阿里云PolarDB是适用于微服务的高性能分布式数据库,提供数据分片、水平扩展及高可用性解决方案。通过SQL或API实现弹性扩展,内置故障转移保障服务连续性,且兼容MySQL协议,易于集成微服务生态。通过Spring Boot示例展示了PolarDB的配置与集成过程,强调其在现代云原生应用中的重要角色。
117 1
|
24天前
|
存储 Cloud Native 关系型数据库
PolarDB 高可用架构设计与实践
【8月更文第27天】 在现代互联网应用中,数据库作为核心的数据存储层,其稳定性和可靠性尤为重要。阿里云的 PolarDB 作为一款云原生的关系型数据库服务,提供了高可用、高性能和自动化的特性,适用于各种规模的应用。本文将详细介绍 PolarDB 的高可用架构设计,并探讨其实现数据安全性和业务连续性的关键技术。
44 0
|
16天前
|
关系型数据库 分布式数据库 数据库
开源云原生数据库PolarDB PostgreSQL 15兼容版本正式发布
PolarDB进行了深度的内核优化,从而实现以更低的成本提供商业数据库的性能。
|
20天前
|
运维 监控 关系型数据库
【一文搞懂PGSQL】7. PostgreSQL + repmgr + witness 高可用架构
该文档介绍了如何构建基于PostgreSQL的高可用架构,利用repmgr进行集群管理和故障转移,并引入witness节点增强网络故障检测能力。repmgr是一款轻量级的开源工具,支持一键部署、自动故障转移及分布式节点管理。文档详细描述了环境搭建步骤,包括配置postgresql参数、安装与配置repmgr、注册集群节点以及配置witness节点等。此外,还提供了故障手动与自动切换的方法及常用命令,确保集群稳定运行。
|
1月前
|
运维 Kubernetes 监控
|
2月前
|
关系型数据库 分布式数据库 数据库
PolarDB产品使用问题之如何进行PostgreSQL(简称PG)的全量和增量备份管理
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
2月前
|
Kubernetes 关系型数据库 分布式数据库
PolarDB产品使用问题之PolarDB-X的架构形态有什么区别
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
3月前
|
存储 关系型数据库 分布式数据库
内附原文|详解SIGMOD’24最佳论文:PolarDB破解多主架构经典难题
在今年的SIGMOD会议上,阿里云瑶池数据库团队的论文《PolarDB-MP: A Multi-Primary Cloud-Native Database via Disaggregated Shared Memory》获得了Industry Track Best Paper Award,这是中国企业独立完成的成果首次摘得SIGMOD最高奖。PolarDB-MP是基于分布式共享内存的多主云原生数据库,本文将介绍这篇论文的具体细节。
内附原文|详解SIGMOD’24最佳论文:PolarDB破解多主架构经典难题
|
2月前
|
存储 关系型数据库 分布式数据库
PolarDB产品使用问题之如何查看PolarDB for PostgreSQL的备份信息
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
2月前
|
API 运维
开发与运维工具问题之开源的大语言模型能够自由与外部工具交互如何解决
开发与运维工具问题之开源的大语言模型能够自由与外部工具交互如何解决
30 2

相关产品

  • 云原生数据库 PolarDB