Athena vs Redshift Spectrum

Muk*_*und 16 amazon-web-services amazon-redshift amazon-athena amazon-redshift-spectrum

我有点评估Athena和Redshift Spectrum.两者都有相同的用途,Spectrum需要一个Redshift集群,而Athena则是纯无服务器集群.Athena使用Presto和Spectrum使用其Redshift的引擎

雅典娜或红移谱有任何特殊的缺点吗?使用Athena或Spectrum的任何限制?

Jon*_*ott 17

我在两个不同的用例中使用了两种用例并得出结论:

Redshift Spectrum的优点:

  • 允许创建Redshift表
  • 能够有效地将Redshift表格与Redshift频谱表连接起来

如果你不需要那些东西那么你也应该考虑雅典娜

雅典娜与红移谱的区别:

  • 开票.这是主要的区别,根据您的使用情况,您可能会发现一个比另一个便宜得多
  • 性能.我发现雅典娜的速度稍快一些.
  • SQL语法和功能.雅典娜源于presto,与Redshift有点不同,后者源于postgres.
  • 连接.它很容易使用API​​,JDBC或ODBC连接到Athena,但更多产品提供与Redshift的"标准开箱即用"连接

此外,对于任一解决方案,请确保使用AWS Glue元数据,而不是Athena,因为限制较少.


jam*_*ndu 5

这个问题已经存在了很长时间,但是我仍然可以为讨论提供一些帮助。

雅典娜是什么?

Amazon Athena是一种交互式查询服务,可使用标准SQL轻松分析Amazon S3中的数据。Athena是无服务器的,因此无需管理任何基础结构,您只需为运行的查询付费。(来自文档)

很简单吧?

接下来是什么是Redshift Spectrum的问题,为什么当雅典娜几乎是外部表查询的解决方案时,亚马逊的人们为什么做到了?

因此,AWS人员希望创建Redshift的扩展(目前它作为托管列式数据存储非常流行),并使其能够与外部表(通常为S3)进行通信。但是他们想让Redshift用户(主要是分析人员)的生活更轻松。许多分析工具目前不支持Athena,但支持Redshift。但是创建您的Reshift集群并存储数据是一个瓶颈。同样,Redshift并不是水平可伸缩的,并且在添加新计算机时会花费一些停机时间。如果您是Redshift用户,那么降低存储成本将使您的生活变得更加轻松。

我建议您在以下情况下使用Redshift频谱:

  • 您是Redshift的现有用户,并且想要在Redshift中存储更多数据。

  • 您想将较冷的数据移至外部表,但仍然希望在某些情况下与Redshift表联接。

  • 如果您只想将数据导入Pandas或任何其他分析工具,则可以卸载数据。

在以下情况下,雅典娜可能会很有用:

  • 您是新用户,并且没有Redshift集群。访问Spectrum需要一个活动的,正在运行的Redshift实例。因此,如果没有Redshift,Redshift Spectrum就不是一个选择。
  • 由于Spectrum仍然是一种开发工具,它们正在增加一些功能(例如交易)以使其更加高效。
  • BTW Athena附带了一个不错的REST API,因此您可以这样做。

可以说Redshift + Redshift Spectrum确实具有强大的功能,并且有很多希望。但是要实现成熟还有很长的路要走。