Athena和Redshift Spectrum性能最佳实践的问题

0

【以下的问题经过翻译处理】 一个客户正在进行一个验证Athena和Redshift Spectrum的PoC。请帮助回答以下问题:

1.使用小的Redshift集群(例如2节点dc2.large集群),并将几乎所有数据存储在S3中、通过Redshift Spectrum进行查询是否可行?这是否是推荐方法?使用Redshift Spectrum的最小推荐集群大小是多少? 2.数据存储在S3中的大小与性能之间的相关性如何?我们有没有数据可以分享,以便了解使用Athena和Redshift Spectrum查询特定大小数据的大致查询性能。 3.Athena和Redshift Spectrum之间的查询语法是否有大的差异。他们希望了解能否方便地在Athena和Redshift Spectrum之间进行切换。如有明确的差异,我们是否知道一种过渡层来同时支持它们?

profile picture
EXPERTE
gefragt vor 5 Monaten6 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 我准备阅读Redshift Spectrum最佳实践博客(https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/)并计划运行一些测试。由于每个客户的工作负载都不同,很难量化这些指标。

关于您的问题:

1、跟最佳实践博客中提到的各种因素有关。例如Parquet文件格式、Snappy压缩、在S3上进行正确的分区来提升查询访问模式/过滤器、无法推送到Spectrum计算层的查询类型(例如ORDER BY、DISTINCT)等。Amazon Redshift Spectrum拥有独立于Redshift集群的托管计算层。查询使用的Redshift Spectrum计算节点数量取决于Redshift节点类型和整体工作负载。根据查询需求和Redshift集群的配置,Redshift Spectrum会以智能的方式自动扩展。

2、与第1个问题相同。

3、关于Athena和Redshift Spectrum之间的查询语法差异,确实有的。

Athena的查询引擎是Apache Presto,因此它遵循Apache Presto的查询语法。我会参考Presto文档(http://prestodb.github.io/docs/current/)中的“SQL Language”和“SQL Statement Syntax”。就Spectrum而言,您会发现Spectrum的语法与Redshift几乎相同,除了不能在外部表上执行DML操作。

对于问题的第二部分,我会确保客户明白何时使用Athena和Spectrum。它们不是用来取代彼此,而是用于不同的工作负载。Athena像是有需要租了一辆车一样来做临时数据查询,而不需要启动集群。而Redshift Spectrum更像是家里的备用汽车,而Redshift是家里的主要汽车。 Redshift Spectrum 的常见模式是查询既涵盖 Amazon Redshift 本地存储的频繁访问的“热”数据、又涵盖 Amazon S3 中经济高效存储的“热/冷”数据。 这种模式便于分离计算和存储,使两者能够独立扩展以匹配使用场景,而不必付出与价值不成比例的代价。 Athena 和 Redshift Spectrum 查询优化器完全不同。 还有一些差异,例如您可以获得与 Amazon Redshift 一致的丰富的合规性标准。

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen