#分布式优化

与单机相比,分布式SQL计算会带来额外的节点间的通信开销,为了提高性能,减少数据的跨网络传输带来的影响,YashanDB做了以下优化:

  1. 增加了PX算子,负责跨网络数据交换,PX有以下类型:

    根据运行环境划分:

    • REMOTE:分布式环境。

    • LOCAL:单机并行环境。

    根据数据交互节点划分:

    • I2I:一个节点向另一个节点发送数据。

    • I2N:一个节点向多个节点发送数据。

    • N2I:多个节点向一个节点发送数据。

    • N2N:多个节点向多个节点发送数据。

    根据数据走向划分:

    • PX send type:random、hash、broadcast。

    • PX receive type:random、sort。

  2. 为了充分利用每个节点的计算资源,YashanDB优化器会尽量将计算下推到DN(两阶段计算),可以进行两阶段计算的算子包括:

    • 两阶段ORDER BY

    • 两阶段GROUP BY

    • 两阶段DISTINCT

    • 两阶段聚集

    • 两阶段LIMIT

    • COUNT STOPKEY

  3. 通过将小表创建为复制表,减少跨节点Join。

pdf-btn 下载文档
copy-btn 复制链接