我正在使用Sybex官方学习指南学习,在第173页有几个短语:
您可以配置表的分发样式,以便向Amazon提示如何对数据进行分区,以更好地满足您的查询模式。运行查询时,优化器根据需要将行转移到计算节点,以执行任何联接和聚合。
带我去问几个问题?
1)“优化器”的作用是什么?数据是否在计算节点间重新排列以提高每个新查询的性能?
2)如果1)是真的,并且执行完全不同的新查询:计算节点中的旧数据会发生什么变化?
( 3)你能更好地解释我的3种发行风格(偶数,键,全部),特别是关键风格。
额外问题:
1)领导节点是否有记录?
发布于 2017-11-19 22:07:31
为了澄清以下几点:
了解优化器唯一真正需要的是:
查询优化器 Amazon查询执行引擎结合了一个查询优化器,它是MPP感知的,并且还利用了面向列的数据存储。Amazon查询优化器为处理复杂的分析查询(通常包括多表联接、子查询和聚合)实现了重要的增强和扩展。
来自数据仓库系统体系结构
领袖节点 领导节点管理与客户端程序的通信,以及与计算节点的所有通信。它分析和制定执行计划来执行数据库操作,特别是为复杂查询获得结果所需的一系列步骤。根据执行计划,领导节点编译代码,将编译后的代码分发给计算节点,并将数据的一部分分配给每个计算节点。 只有当查询引用存储在计算节点上的表时,领导节点才会将SQL语句分发给计算节点。所有其他查询都只在领导节点上运行。Amazon被设计为只在领导节点上实现某些SQL函数。使用任何这些函数的查询如果引用驻留在计算节点上的表,将返回一个错误。
领导者节点不包含任何数据(除非您启动了一个单节点集群,在这种情况下,相同的服务器被用作领导人节点和计算节点)。
有关分发样式的信息,请参阅:分布样式
如果您真的想了解红移,那么请阅读红移数据库开发人员指南。如果您只是在学习解决方案架构师考试,上述链接将足以达到Redshift知识的水平。
https://stackoverflow.com/questions/47377391
复制相似问题