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

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
6天前
|
SQL 存储 关系型数据库
PolarDB 开源基础教程系列 4 日常运维
PolarDB日常运维指南涵盖了多个关键操作,包括读写节点故障切换、增加只读节点、配置WAL日志归档、备份与恢复、创建容灾实例以及排查CPU负载高等。通过详细的步骤和代码示例,本文档帮助用户在本地环境中体验和学习PolarDB的高级功能,如共享存储架构下的集群管理。特别地,文档提供了如何使用`polar_basebackup`工具进行备份和恢复,确保数据安全;并通过`pg_stat_statements`插件定位慢查询,优化数据库性能。此外,还介绍了常见问题的排查方法,如业务量上涨或长时间执行的SQL语句导致的CPU高负载。更多内容和进阶课程可参考提供的GitHub链接和官方文档。
18 1
|
1月前
|
Cloud Native 关系型数据库 分布式数据库
让PolarDB更了解您--PolarDB云原生数据库核心功能体验馆
让PolarDB更了解您——PolarDB云原生数据库核心功能体验馆,由阿里云数据库产品事业部负责人宋震分享。内容涵盖PolarDB技术布局、开源进展及体验馆三大部分。技术布局包括云计算加速数据库演进、数据处理需求带来的变革、软硬协同优化等;开源部分介绍了兼容MySQL和PostgreSQL的两款产品;体验馆则通过实际操作让用户直观感受Serverless、无感切换、SQL2Map等功能。
107 7
|
6天前
|
存储 关系型数据库 分布式数据库
PolarDB 开源基础教程系列 1 架构解读
PolarDB 是阿里云研发的云原生分布式数据库,基于 PostgreSQL 开源版本,旨在解决传统数据库在大规模数据和高并发场景下的性能和扩展性问题。其主要特点包括: 1. **存储计算分离架构**:通过将计算与存储分离,实现极致弹性、共享一份数据以降低成本、透明读写分离。 2. **HTAP 架构**:支持混合事务处理和分析处理(HTAP),能够在同一系统中高效执行 OLTP 和 OLAP 查询。 3. **优化的日志复制机制**:采用只复制元数据的方式减少网络传输量,优化页面回放和 DDL 锁回放过程。 4. **并行查询与索引创建**:引入 MPP 分布式执行引擎。
32 7
|
1月前
|
人工智能 运维 Prometheus
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期
AIOpsLab 是微软等机构推出的开源框架,支持云服务自动化运维,涵盖故障检测、根本原因分析等完整生命周期。
138 13
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期
|
2月前
|
运维 Prometheus 监控
🎉 WatchAlert - 开源多数据源告警引擎【运维研发必备能力】
WatchAlert 是一个开源的多数据源告警引擎,支持从 Prometheus、Elasticsearch、Kubernetes 等多种数据源获取监控数据,并根据预定义的告警规则触发告警。它具备多数据源支持、灵活的告警规则、多渠道告警通知、可扩展架构和高性能等核心特性,帮助团队更高效地监控和响应问题。项目地址:https://github.com/opsre/WatchAlert
🎉 WatchAlert - 开源多数据源告警引擎【运维研发必备能力】
|
30天前
|
运维 关系型数据库 分布式数据库
阿里云PolarDB:引领云原生数据库创新发展
阿里云PolarDB引领云原生数据库创新,2024云栖大会将分享其最新发展及在游戏行业的应用。PolarDB凭借弹性、高可用性、多写技术等优势,支持全球80多个站点,服务1万多家企业。特别是针对游戏行业,PolarDB助力Funplus等公司实现高效运维、成本优化和业务扩展。通过云原生能力,PolarDB推动游戏业务的全球化部署与快速响应,提升用户体验并保障数据安全。未来,PolarDB将继续探索AI、多云管理等前沿技术,为用户提供更智能的数据基础设施。
|
1月前
|
存储 关系型数据库 分布式数据库
[PolarDB实操课] 01.PolarDB分布式版架构介绍
《PolarDB实操课》之“PolarDB分布式版架构介绍”由阿里云架构师王江颖主讲。课程涵盖PolarDB-X的分布式架构、典型业务场景(如实时交易、海量数据存储等)、分布式焦点问题(如业务连续性、一致性保障等)及技术架构详解。PolarDB-X基于Share-Nothing架构,支持HTAP能力,具备高可用性和容错性,适用于多种分布式改造和迁移场景。课程链接:[https://developer.aliyun.com/live/253957](https://developer.aliyun.com/live/253957)。更多内容可访问阿里云培训中心。
[PolarDB实操课] 01.PolarDB分布式版架构介绍
|
1月前
|
弹性计算 运维 网络协议
卓越效能,极简运维,Serverless高可用架构
本文介绍了Serverless高可用架构方案,当企业面对日益增长的用户访问量和复杂的业务需求时如何实现更高的灵活性、更低的成本和更强的稳定性。
|
2月前
|
弹性计算 运维 Serverless
卓越效能,极简运维,体验Serverless高可用架构,完成任务可领取转轮日历!
卓越效能,极简运维,体验Serverless高可用架构,完成任务可领取转轮日历!
|
3月前
|
运维 监控 安全
自动化运维的利剑:Ansible在现代IT架构中的应用
在数字化浪潮中,企业对IT系统的敏捷性和可靠性要求日益提高。Ansible,一种简单但强大的自动化运维工具,正成为现代IT架构中不可或缺的一部分。它通过声明式编程语言YAM,简化了系统配置、应用部署和任务自动化的过程,显著提升了运维效率和准确性。本文将深入探讨Ansible的核心特性、应用场景以及如何有效整合进现有IT环境,为读者揭示其在自动化运维中的实用价值和未来发展潜力。

相关产品

  • 云原生数据库 PolarDB