MPP体现在三个地方:
Redshift根据distribution key
来让数据均匀分布到每个节点上,这一步也叫partitioning
,进行查询时每个节点都能进行工作,而且保证了集群的可扩展性
所以distribution key
的选择就很重要了,不能让数据倾斜;如果数据倾斜则每个节点的计算负载会不一致。
每个Compute Node
同时协作执行一条查询任务,这就叫MPP
:
另外MPP不仅体现在查询上,也体现在加载和卸载数据的过程中,Redshift也可以从S3的manifest中并行加载多个文件,而不是一个一个文件的加载,这样加载数据的速度会快很多。在将数据导出到S3时,Redshift也可以并行工作