私はAthenaとRedshift Spectrumを評価しています。どちらも同じ目的を果たしますが、Athenaは純粋なサーバーレスであるのに対し、SpectrumはRedshiftクラスターを必要とします。 AthenaはPrestoを使用し、SpectrumはRedshiftのエンジンを使用します
AthenaまたはRedshiftスペクトルに特定の欠点はありますか? AthenaまたはSpectrumの使用に関する制限はありますか?
私はいくつかの異なるユースケースで両方を使用して結論付けました:
Redshift Spectrumの利点:
これらのものが必要ない場合は、アテナも検討する必要があります
RedshiftスペクトルとのAthenaの違い:
また、どちらのソリューションでも、制限が少ないため、AthenaではなくAWS Glueメタデータを使用してください。
この質問はかなり前からありましたが、それでも議論に何か貢献できると思います。
アテナとは?
Amazon Athenaは、標準SQLを使用してAmazon S3のデータを簡単に分析できるインタラクティブなクエリサービスです。 Athenaはサーバーレスであるため、管理するインフラストラクチャはなく、実行するクエリに対してのみ料金がかかります。 (ドキュメントから)
かなり簡単ですね。
次に、Redshift Spectrumとは何か、そしてAthenaが外部テーブルクエリのソリューションであるときにAmazonが採用した理由について質問があります。
そのため、AWSの人々はRedshift(現時点ではマネージドコラムナデータストアとして非常に人気があります)の拡張機能を作成し、外部テーブル(通常はS3)と通信できるようにしました。しかし、彼らはRedshiftユーザー、主に分析担当者の生活を楽にしたかったのです。多くの分析ツールはAthenaをサポートしていませんが、現時点ではRedshiftをサポートしています。しかし、Reshiftクラスターの作成とデータの保存はボトルネックでした。繰り返しますが、Redshiftは水平方向にスケーラブルではなく、新しいマシンを追加する場合はダウンタイムがかかります。 Redshiftユーザーの場合、ストレージを安価にすると、基本的に生活がとても楽になります。
次の場合にRedshiftスペクトルを使用することをお勧めします。
既存のRedshiftユーザーであり、さらに多くのデータをRedshiftに保存したい。
より冷たいデータを外部テーブルに移動したいが、それでも、場合によってはRedshiftテーブルと結合したい場合。
そしてAthenaは次の場合に便利です:
Redshift + Redshift Spectrumは、非常に強力であり、多くの約束があります。しかし、成熟するまでにはまだ長い道のりがあります。
1つの大きな制限と異なる要因は、構造化データを使用できることです。 AthenaはJSONとParquetの両方のファイル形式でサポートしていますが、Redshift Spectrumはフラットデータのみを受け入れます。
もう1つは、Athenaが持っているGIS関数とラムダの可用性です。これらは時々役立ちます。
スタンドアロンの新しいPostgresを実行した場合、すべてが実行されますが、Redshift(およびSpectrum)の比較に関する限り、これは進化を止めたツールです。
Redshiftデータベースを使用している場合は、必要なパフォーマンスを得るために、RedshiftとともにSpectrumを使用するのが賢明です。
ただし、オプションを検討し始めている場合は、Athenaを先に進むためのツールと見なすことができます。