PolarDB for PostgreSQL 开源必读手册-云原生HTAP(中)

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: PolarDB for PostgreSQL 开源必读手册-最佳场景实践与压测

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

PolarDB中有4类算子需要并行化,其中Seqscan的算子的并行化极具代表性。

 

为了最大限度地利用存储的大IO带宽,在顺序扫描时,按照4MB为单位做逻辑切分,尽量将IO打散到不同的盘上,达到所有盘同时提供读服务的效果。该方案还有一个优势在于每个只读节点只扫描部分表文件,最终能缓存的表大小是所有只读节点的BufferPool总和。

 

image.png

 

上图可见,通过增加只读节点,扫描性能线性提升30倍。

 

image.png

 

打开buffer后,扫描时间从37min降至3.75s,提升了600倍。这也是数据亲和性的优势所在。

 

倾斜是传统MPP固有的问题,主要包含两方面:一方面是存储的倾斜,大对象通过heap内部表关联toast表时,因为无法确切地知道实际存储的数据量有多大,无论怎么切分,数据存储都有可能不均衡;另一方面是执行时的倾斜。不同只读节点上的事务、buffer、网络等会抖动,因此也会存在执行计算倾斜。

 

image.png

 

为了解决倾斜问题,我们支持了动态扫描。将协调节点内部分成DataThread和ControlThread,其中DataThread负责收集汇总元组,ControlThread负责控制每个扫描算子的扫描进度。

 

每个算子控制每个节点上scan算子的扫描进度,每个节点上scan算子再扫描下一个块的数据时会向QC节点进行请求查询,从而获得下一个扫描的目标块,使得扫描快的工作进程能多扫描逻辑的数据切片。

 

此外,尽管是冬天分配,过程中我们也尽量考虑了buffer数据亲和性。另外,每个算子的上下文均存储在各个worker的私有内存中,协调节点不存储表的相关信息。

 

image.png

 

上图可见,出现大对象时,静态扫描会出现数据倾斜,而使用动态扫描并没有因为 RO节点增多导致数据倾斜严重。

 

我们利用数据共享的特点,还可支持云原生下极致弹性的要求将Coordinator全链路上各个模块所需要的外部依赖存在共享存储上,每个节点都可以看到相同的数据。同时worker全链路需要的运行时参数通过控制链路从Coordinator同步,使Coordinator和worker无状态化。任何节点都可以作为协调节点,确定了协调节点之后,控制节点再从协调节点获取相关的控制信息。

 

以上方式带来的好处在于:SQL的任何只读节点都可以称为协调节点,解决了协调节点单点的问题。其次,SQL可以在任何节点上起任意数量的worker,使算力达到SQL级别的弹性扩展,使得业务有更多的调度策略。

 

image.png

 

比如四个只读节点,可以让业务域1的SQL只利用只读节点1和只读节点2,业务域2的SQL利用节点3和节点4,为用户提供更多选择。

 

多个计算节点通过等待回放和globalsnapshot机制完成。等待回放能够保证所有需要的数据版本已经同步完成,globalsnapshot能够保证选取统一的可读版本。

 

主要流程如下:用户SQL发送后,生成计划并确定协调节点,协调节点会广播ReadLSN,每个worker节点等待回放到ReadLSN。结束之后获取各自的snapshot,通过序列化发送给协调节点。协调节点汇总所有worker,选出最小的snapshot并通过广播发给各个节点,再由广播执行计划树,从而可以保证每个worker能看到相同的数据、相同的快照和相同的plan,最终开始执行。

 

image.png

 

上图为使用1TB的TPCH进行的测试。

 

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

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
30天前
|
边缘计算 运维 Kubernetes
云原生时代的运维转型之路
【8月更文挑战第29天】 在数字化转型的浪潮中,企业IT部门正面临前所未有的挑战。本文将探讨如何通过拥抱云原生技术,实现运维工作的现代化,提升系统稳定性和效率,同时降低运营成本。我们将分享实际案例,揭示成功转型的关键因素,并展望未来运维的发展趋势。
|
29天前
|
运维 监控 Cloud Native
自动化运维的魔法书云原生之旅:从容器化到微服务架构的演变
【8月更文挑战第29天】本文将带你领略自动化运维的魅力,从脚本编写到工具应用,我们将一起探索如何通过技术提升效率和稳定性。你将学会如何让服务器自主完成更新、监控和故障修复,仿佛拥有了一本能够自动翻页的魔法书。
|
9天前
|
存储 关系型数据库 分布式数据库
揭秘PolarDB:中国云原生数据库的超级英雄,如何颠覆传统数据存储?
在数字化时代,数据成为企业的核心资产,而云原生数据库则是推动企业转型的关键。PolarDB凭借其先进的存储计算分离架构,在性能、可靠性和易用性方面脱颖而出,成为国内领先的选择。它支持多种数据库引擎,提供多副本存储机制,并采用按量付费模式,有效降低管理和成本压力,助力企业实现高效、可靠的数字化转型。
24 1
|
18天前
|
运维 监控 Cloud Native
云原生时代的运维策略:从反应式到自动化
在云计算的浪潮下,运维领域经历了翻天覆地的变化。本文将带你领略云原生时代下的运维新风貌,探索如何通过自动化和智能化手段,实现从传统的反应式运维向主动、智能的运维模式转变。我们将一起见证,这一变革如何助力企业提升效率,保障服务的连续性与安全性,以及运维人员如何适应这一角色的转变,成为云原生时代的引领者。
23 8
|
17天前
|
弹性计算 运维 Cloud Native
云原生时代的运维转型之路
在云计算飞速发展的今天,传统的运维模式已难以满足现代企业的需求。本文旨在探讨如何在云原生时代下进行有效的运维转型,从传统运维到云运维的转变不仅仅是技术的升级,更是思维和方法论的革新。通过实际案例分析,我们将深入了解这一转型过程中可能遇到的挑战与解决策略,以及如何利用云原生技术提高运维效率,保障系统稳定性和安全性,从而为企业带来持续的业务创新和价值增长。
30 6
|
15天前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
24 3
|
24天前
|
关系型数据库 分布式数据库 数据库
开源云原生数据库PolarDB PostgreSQL 15兼容版本正式发布
PolarDB进行了深度的内核优化,从而实现以更低的成本提供商业数据库的性能。
|
22天前
|
运维 Kubernetes Cloud Native
云原生时代的运维转型之路
在云原生技术日益成熟的今天,传统的运维模式正面临着前所未有的挑战与机遇。本文旨在探讨如何在云原生大潮中实现运维的平滑转型,通过分析当前运维面临的困境、介绍云原生的基本概念及其对运维的影响,以及提供转型实践的策略和案例,为运维人员指明方向,帮助他们拥抱变化,乘风破浪。
|
1月前
|
Cloud Native 关系型数据库 分布式数据库
云原生数据库2.0问题之PolarDB利用云计算技术红利如何解决
云原生数据库2.0问题之PolarDB利用云计算技术红利如何解决
|
1月前
|
Cloud Native 关系型数据库 分布式数据库
云原生关系型数据库PolarDB问题之PolarDB相比传统商用数据库的优势如何解决
云原生关系型数据库PolarDB问题之PolarDB相比传统商用数据库的优势如何解决
31 1

热门文章

最新文章

相关产品

  • 云原生数据库 PolarDB