web-dev-qa-db-ja.com

アテナvs赤方偏移スペクトル

私はAthenaとRedshift Spectrumを評価しています。どちらも同じ目的を果たしますが、Athenaは純粋なサーバーレスであるのに対し、SpectrumはRedshiftクラスターを必要とします。 AthenaはPrestoを使用し、SpectrumはRedshiftのエンジンを使用します

AthenaまたはRedshiftスペクトルに特定の欠点はありますか? AthenaまたはSpectrumの使用に関する制限はありますか?

15
Mukund

私はいくつかの異なるユースケースで両方を使用して結論付けました:

Redshift Spectrumの利点:

  • Redshiftテーブルの作成を許可します
  • RedshiftテーブルとRedshiftスペクトルテーブルを効率的に結合できる

これらのものが必要ない場合は、アテナも検討する必要があります

RedshiftスペクトルとのAthenaの違い:

  • 課金。これは大きな違いであり、ユースケースによっては、一方が他方よりもはるかに安い場合があります
  • パフォーマンス。私はアテナをわずかに速く見つけました。
  • SQL構文と機能。 Athenaはprestoから派生し、postgresにルーツを持つRedshiftとは少し異なります。
  • 接続性。 API、JDBCまたはODBCを使用してAthenaに接続するのに十分簡単ですが、さらに多くの製品がRedshiftへの「標準の標準」接続を提供します

また、どちらのソリューションでも、制限が少ないため、AthenaではなくAWS Glueメタデータを使用してください。

14
Jon Scott

この質問はかなり前からありましたが、それでも議論に何か貢献できると思います。

アテナとは?

Amazon Athenaは、標準SQLを使用してAmazon S3のデータを簡単に分析できるインタラクティブなクエリサービスです。 Athenaはサーバーレスであるため、管理するインフラストラクチャはなく、実行するクエリに対してのみ料金がかかります。 (ドキュメントから)

かなり簡単ですね。

次に、Redshift Spectrumとは何か、そしてAthenaが外部テーブルクエリのソリューションであるときにAmazonが採用した理由について質問があります。

そのため、AWSの人々はRedshift(現時点ではマネージドコラムナデータストアとして非常に人気があります)の拡張機能を作成し、外部テーブル(通常はS3)と通信できるようにしました。しかし、彼らはRedshiftユーザー、主に分析担当者の生活を楽にしたかったのです。多くの分析ツールはAthenaをサポートしていませんが、現時点ではRedshiftをサポートしています。しかし、Reshiftクラスターの作成とデータの保存はボトルネックでした。繰り返しますが、Redshiftは水平方向にスケーラブルではなく、新しいマシンを追加する場合はダウンタイムがかかります。 Redshiftユーザーの場合、ストレージを安価にすると、基本的に生活がとても楽になります。

次の場合にRedshiftスペクトルを使用することをお勧めします。

  • 既存のRedshiftユーザーであり、さらに多くのデータをRedshiftに保存したい。

  • より冷たいデータを外部テーブルに移動したいが、それでも、場合によってはRedshiftテーブルと結合したい場合。

  • データのアンロードをスパークし、データをPandasまたは他の分析用ツールにインポートする場合のみ。

そしてAthenaは次の場合に便利です:

  • あなたは新規ユーザーであり、Redshiftクラスターがありません。 Spectrumへのアクセスには、アクティブで実行中のRedshiftインスタンスが必要です。そのため、Redshift SpectrumはRedshiftなしのオプションではありません。
  • Spectrumはまだ開発中のツールであり、トランザクションなどの機能を追加して、より効率的にしているためです。
  • ところで、AthenaにはNice REST APIが付属しています。

Redshift + Redshift Spectrumは、非常に強力であり、多くの約束があります。しかし、成熟するまでにはまだ長い道のりがあります。

3
james.bondu

1つの大きな制限と異なる要因は、構造化データを使用できることです。 AthenaはJSONとParquetの両方のファイル形式でサポートしていますが、Redshift Spectrumはフラットデータのみを受け入れます。

もう1つは、Athenaが持っているGIS関数とラムダの可用性です。これらは時々役立ちます。

スタンドアロンの新しいPostgresを実行した場合、すべてが実行されますが、Redshift(およびSpectrum)の比較に関する限り、これは進化を止めたツールです。

0
LauriK

Redshiftデータベースを使用している場合は、必要なパフォーマンスを得るために、RedshiftとともにSpectrumを使用するのが賢明です。

ただし、オプションを検討し始めている場合は、Athenaを先に進むためのツールと見なすことができます。

0
Rama krishna