我有点评价雅典娜& Redshift Spectrum。两者都有相同的用途,Spectrum需要一个Redshift集群,而Athena则是纯无服务器集群。 Athena使用Presto,Spectrum使用其Redshift的引擎
Athena或Redshift谱有什么特别的缺点吗? 使用Athena或Spectrum的任何限制?
答案 0 :(得分:9)
我已经在几个不同的用例中使用了两者并得出结论:
Redshift Spectrum的优点:
如果你不需要那些东西那么你也应该考虑雅典娜
Athena与Redshift谱的差异:
此外,对于任一解决方案,请确保使用AWS Glue元数据,而不是Athena,因为限制较少。
答案 1 :(得分:1)
这个问题已经有一段时间了,但是我仍然可以为讨论做些贡献。
什么是雅典娜?
Amazon Athena是一种交互式查询服务,可使用标准SQL轻松分析Amazon S3中的数据。 Athena是无服务器的,因此无需管理任何基础结构,您只需为运行的查询付费。 (来自文档)
挺直的,对吧?
然后是一个问题,什么是 Redshift Spectrum ,为什么当 Athena 几乎是外部表查询的一种解决方案时,亚马逊的人们才做到这一点?
因此,AWS人员希望创建Redshift的扩展(目前,这是作为托管列式数据存储而非常流行的),并使其能够与外部表(通常为S3)对话。但是他们想让Redshift用户(主要是分析人员)的生活更轻松。许多分析工具目前不支持Athena,但支持Redshift。但是创建您的Reshift集群并存储数据是一个瓶颈。同样,Redshift并不是水平可伸缩的,并且在添加新计算机时会花费一些停机时间。如果您是Redshift用户,那么让您的存储更便宜就可以让您的生活变得更加轻松。
在以下情况下,我建议您使用Redshift频谱:
您是Redshift的现有用户,并且想要在Redshift中存储更多数据。
您想将较冷的数据移至“外部”表,但在某些情况下仍希望与Redshift表联接。
雅典娜在以下情况下很有用:
可以说Redshift + Redshift频谱确实功能强大,并且有很多希望。但是要成熟,还有很长的路要走。
答案 2 :(得分:0)
如果您使用的是Redshift数据库,那么使用Spectrum和redshift来获得所需的性能将是明智之举。
但是,如果您开始探索各种选择,那么我们可以将Athena视为继续前进的工具。
答案 3 :(得分:0)
我了解到(从 Adrian Cantril 的/洛杉矶 2019 年 SA 专业课程中)Redshift Spectrum 将使用自己的 Redshift 集群来提供比通过利用 AWS 提供给 Athena 查询的共享容量更一致的性能。我很欣赏这些信息可能只对考试有用,我觉得他的论点没有说服力。
我写这个答案是因为我对领先答案对 Athena 优于 Redshift Spectrum 的处理不满意。该答案的其余部分很好,我并不是要在这里直接复制任何内容(没有参考文献,在我写这篇文章时它没有在我这里注册)。
当我的大部分数据都在 S3 中时,我(同样,完全基于我的不干涉研究)会选择 Spectrum,这通常用于更大的数据集。不过,最近的 RA3 实例似乎与这个细分市场重叠。所以我说 Spectrum 最适合我们拥有长期 Redshift 集群的地方,这些集群是 OLAP 节点,有空闲容量来查询 S3。
为什么要使用自己的财产来执行 Athena 在没有您的此类投资的情况下会执行的查询?缓存,它适合的地方。和稳定的表现,如果我相信 Adrian Cantrill 比 Jon Scott 更相信的话。这让我怀疑 RA3 可能会淘汰 Spectrum;以及缺乏关于 Spectrum 的体面文献。为什么亚马逊会在 Athena 中提供一种性能优于价格更高的 Redshift Spectrum 的无服务器产品?这就是他们选择弃用 RRS 的方式。我不敢相信 Spectrum 已被弃用,因此必须提供此答案来对此进行辩论。看看https://aws.amazon.com/redshift/whats-new/。
我认为下面的图片(来自 https://d1.awsstatic.com/events/Summits/AMER2020/May13SummitOnline/Modernize_your_data_warehouse.pdf)相当清楚地表明计算节点在这里具有影响力,并且可能与上面@JonScott 的宝贵见解相反。
最后一个重大区别是 Athena 仅限于 IAM 进行身份验证,如这张 reinvent 2018 (ANT201-R1) 幻灯片所示:
答案 4 :(得分:-1)
一个很大的限制和不同的因素是使用结构化数据的能力。 Athena支持JSON和Parquet文件格式,而Redshift Spectrum只接受平面数据。
另一个是Athena拥有的GIS功能以及lambdas,它们有时会派上用场。
现在,如果您运行一个独立的新Postgres,那么它可以完成所有工作,但是就Redshift(和Spectrum)之间的比较而言 - 它是一个已经停止发展的工具。