开发者社区 > PolarDB开源 > PolarDB 分布式版 > 正文

如何解决倾斜问题?

已解决

如何解决倾斜问题?

展开
收起
游客lmkkns5ck6auu 2022-11-15 15:10:39 354 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

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

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

    此外,尽管是冬天分配,过程中我们也尽量考虑了buffer数据亲和性。另外,每个 算子的上下文均存储在各个worker的私有内存中,协调节点不存储表的相关信息。利用数据共享的特点,还可支持云原生下极致弹性的要求:将Coordinator 全 链路上各个模块所需要的外部依赖存在共享存储上,每个节点都可以看到相同的数 据。同时worker 全链路需要的运行时参数通过控制链路从Coordinator 同步,使 Coordinator 和worker 无状态化。任何节点都可以作为协调节点,确定了协调节点 之后,控制节点再从协调节点获取相关的控制信息。

    以上内容摘自《PolarDB for PostgreSQL 开源必读手册》电子书,点击https://developer.aliyun.com/ebook/download/7822 可下载完整版

    2022-11-15 22:23:53
    赞同 展开评论 打赏

PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 是阿里云自主设计研发的高性能云原生分布式数据库产品,为用户提供高吞吐、大存储、低延时、易扩展和超高可用的云时代数据库服务。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载