Massively Parallel Processing

MPP体现在三个地方:

  • data queries
  • data loading
  • data exporting

Redshift根据distribution key来让数据均匀分布到每个节点上,这一步也叫partitioning,进行查询时每个节点都能进行工作,而且保证了集群的可扩展性

所以distribution key的选择就很重要了,不能让数据倾斜;如果数据倾斜则每个节点的计算负载会不一致。

每个Compute Node同时协作执行一条查询任务,这就叫MPP

image-20221025091853275

另外MPP不仅体现在查询上,也体现在加载和卸载数据的过程中,Redshift也可以从S3的manifest中并行加载多个文件,而不是一个一个文件的加载,这样加载数据的速度会快很多。在将数据导出到S3时,Redshift也可以并行工作