暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

一起学PolarDB - 第13期 - 为什么木桶有短板?

原创 digoal 2022-01-20
340

作者

digoal

日期

2022-01-10

标签

PostgreSQL , PolarDB


懂PostgreSQL, 学PolarDB不难, 就好像有九阳神功护体, 可以快速融会贯通.
对于DBA只要学会PolarDB精髓即可.
对于开发者来说不需要学习, 使用PolarDB和PostgreSQL一样.

为什么木桶有短板?

https://www.bilibili.com/video/BV1KS4y1Z7Le/

《一起学PolarDB - 第12期 - 为什么增加只读实例不能提高单条SQL的执行速度?》 这一期讲了PolarDB 通过多个计算节点可以并行执行同一条SQL, 类似于Greenplum MPP特性.
但是Greenplum有短板问题, PolarDB是怎么解决的呢?

社区版本:
1、Greenplum, 由于SQL是在多个计算节点上并行执行的, 所以SQL的执行时间取决于最慢的节点. 当计算节点的负载不均匀、计算能力不均匀、IO设备性能不均匀的情况下, 性能会出现剧烈抖动.
2、还有一种情况是数据的存储结构倾斜, 也会导致短板, 例如分布键字段的某value比其他value记录条数多很多, 使得这部分数据所在的计算节点数据量比其他节点多很多, 这个节点就会成为短板.
非分布键数据倾斜一般对聚合操作影响不大, Greenplum支持2阶段聚合来解决问题, 但是对数据分布不均匀束手无策:
- 《Greenplum支持人为多阶段聚合的方法 - 直连segment(PGOPTIONS='-c gp_session_role=utility') Or gp_dist_random('gp_id') Or 多阶段聚合 prefunc》
- 《HybridDB PostgreSQL "Sort、Group、distinct 聚合、JOIN" 不惧怕数据倾斜的黑科技和原理 - 多阶段聚合》
- 《PostgreSQL 11 preview - 多阶段并行聚合array_agg, string_agg》

PolarDB:
https://github.com/ApsaraDB/PolarDB-for-PostgreSQL/blob/main/doc/PolarDB-CN/Architecture.md
针对前面提到的第一个问题: 当某个节点因为各种原因(例如某个节点的存储raid 5损坏了1块盘, 某个节点的数据存储有倾斜导致了节点负担变大.)存在短板时, 由于Greenplum每个节点只有部分数据, 其他节点不能帮短板节点进行计算, 只能干等.
PolarDB 的数据扫描以4MB为单位进行动态扫描, 哪个节点强, 哪个节点就扫得多, 处理得多. 打破短板问题. 目前已实现seqscan的动态扫描.
pic

动态扫描相比静态扫描的性能提升:
pic

动态扫描最终能带来的目标和好处:
- 消除木桶短板, polardb RW RO可以随意配置, RO与RO也可以随意配置, 运行时负载也可以不对齐.

本期问题1:
为什么Greenplum在执行SQL时可能存在木桶短板问题?
- a. 由于分布键的数据倾斜, 某个节点的数据比其他节点多
- b. 由于Greenplum某些节点的配置比较差
- c. 由于Greenplum某些节点的硬件出现性能问题, 例如存储RAID 5遭受坏盘, 导致每次读取需要从校验信息中恢复数据
- d. 由于某些计算节点当前比较繁忙

答案:
- abcd

解释:
- 参考本文内容

本期问题2:
PolarDB 通过什么方式来解决SQL执行时某些节点执行较慢的木桶短板问题?
- a. 重新选择分布键分布数据
- b. 采用动态扫描, 每次扫描4MB数据. 处理快的节点会扫描更多的数据, 处理慢点节点扫描的数据更少.
- c. 提升这些较慢节点的配置
- d. 增加一层逻辑shard, 将逻辑shard重新按比例分配到不同的计算节点

答案:
- b

解释:
- 参考本文内容

期望 PostgreSQL 增加什么功能?

PolarDB for PostgreSQL云原生分布式开源数据库

PostgreSQL 解决方案集合

德哥 / digoal's github - 公益是一辈子的事.

digoal's wechat

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论