• Redshift SpectrumはAmazon Redshiftと連携して動作し、AthenaはAmazon S3に保存されているデータを検索するスタンドアロンのクエリエンジンです。
  • Redshift Spectrumではリソースのプロビジョニングをコントロールできますが、Athenaの場合はAWSが自動的にリソースを割り当ててくれます。
  • Redshift SpectrumのパフォーマンスはRedshiftクラスタリソースとS3ストレージの最適化に依存しますが、AthenaのパフォーマンスはS3の最適化にのみ依存します。
  • Redshift Spectrumはパフォーマンス面ではより安定していますが、Athenaでのクエリはプールされたリソース上で実行されるため、ピーク時には遅くなることがあります。
  • Redshift Spectrumは大規模で複雑なクエリを実行するのに適しており、Athenaはインタラクティブなクエリをシンプル化するのに適しています。
  • Redshift Spectrumはクラスタ管理を必要としますが、Athenaは真のサーバレスアーキテクチャを可能にします。

一見すると、Redshift SpectrumもAthenaも、SQLを使ってAmazon S3内のデータをサーバーレスでクエリするという点において、同じ機能を提供しているように見えます。インフラを維持する必要がないので、信じられないほどコストパフォーマンスが高いです。しかし、この2つには機能面での違いがあります。Amazon Redshift SpectrumとAmazon Athenaの違いを詳しく見ていきましょう。

Redshift Spectrumは、Amazon Redshiftの拡張機能です。このサービスを利用することで、データアナリストはS3に保存されているデータに対してクエリを実行することができます。これにより、例えば外部テーブルのデータとAmazon Redshiftに保存されているデータを結合した複雑なクエリを実行することが可能になります。

一方、Amazon Athenaはスタンドアロンのクエリエンジンで、SQLを使ってAmazon S3に保存されているデータを直接問い合わせることができます。Redshift Spectrumと同じく、Athenaはサーバーレスです。インフラを管理する必要はありません。

Table of Contents:

  1. Redshift Spectrum vs. Athena 機能とパフォーマンスの比較
  2. Redshift Spectrum vs. Athena データ統合
  3. Redshift Spectrum vs. Athena コスト比較
  4. Amazon Redshift Spectrum vs. Athena: どちらを選ぶべき?

Redshift Spectrum vs Athena 機能とパフォーマンスの比較

どちらのサービスも外部スキーマの管理にGlue Data Catalogを使用しています。両者はAmazon S3でのデータ分析に仮想テーブルを利用しています。ただし、Athenaの場合は、Glue Data Catalogのメタデータを直接利用して仮想テーブルを作成しています。一方、Redshift Spectrumの場合は、外部スキーマごとに外部テーブルを設定する必要があります。

Redshift SpectrumとAthenaの大きな違いは、リソースのプロビジョニングです。Athenaの場合、Amazonクラウドがクエリのリソースを自動的に割り当ててくれます。リソースのプロビジョニングをコントロールすることはできません。そのため、ピーク時にはパフォーマンスが低下する可能性があります。Spectrumを使用する場合、リソースのサイズはRedshiftクラスタに依存するため、リソースの割り当てを制御することができます。したがって、クエリの結果をより高速にしたい場合は、Redshift Spectrumの実行時に、より多くの計算リソースを割り当てることができます。

さらに、複数のRedshiftクラスタは同時に同じデータレイクにアクセスすることができます。ただし、同じAWSリージョン内のデータしか分析できません。

Redshift Spectrum vs. Athena データ統合

Athenaには、Amazon S3以外のソースからデータをロードするためのコネクタがあらかじめ用意されています。Athenaは、Redis、Elasticsearch、HBase、DynamoDB、DocumentDB、CloudWatchに接続することができます。これらのデータベースのいずれかに保存されているデータを分析したい場合、分析のためにS3にデータをロードしてくる必要はありません。Athenaで直接クエリを実行することができます。

Redshiftでは、ヒストリカルデータとライブデータで同じクエリを実行するのにFederated Queryを使用します。さらに重要なのは、Federated Queryを使用することで、Redshiftにロードする前に外部ソースに保存されているデータに対して複雑な変換を実行することができます。ETLはELTに比べてはるかに安全なプロセスであり、特に機密情報が絡んでいる場合には注意が必要です。

Related reading: ETL vs ELT

Integrate Your Data Today!

Try Xplenty free for 7 days. No credit card required.

Redshift Spectrum vs. Athena コスト比較

どちらのサービスも同じ価格設定になっています。顧客は、実行したクエリに対してのみ支払いを行います。総コストは、クエリごとにスキャンするデータ量に応じて計算されます。Redshift SpectrumとAthenaでのクエリの実行コストは、スキャンしたデータのTBあたり5ドルです。

ここで注意したいのは、Redshift Spectrumを実行するにはRedshiftが必要であるということです。Amazon Redshiftを利用していない顧客にとっては、Redshiftと一緒にRedshift Spectrumを実行することで、非常にコストがかかる可能性があります。

Amazon RedshiftをRedshift Spectrumと一緒に動かすためのコストを考えてみましょう。Redshiftを実行するためのコストは、平均して1TBあたり、年間で約1,000ドルです。

Amazon Redshift Spectrum vs. Athena: どちらを選ぶべき?

この2つのサービスは、SQLを使用してAmazon S3のデータストアに対してクエリを実行する方法が非常に似ています。両者を決めるには、以下の要素を考慮してください。

1) すでにRedshiftユーザーかどうか?

Redshiftの既存の顧客にとっては、AthenaよりもSpectrumの方が良い選択肢かもしれません。Redshiftをスケールアップすることなく、Spectrumを活用してデータウェアハウスの容量を増やすことができます。これにより、多くのコストを節約することができます。例えば、使用頻度の低いデータはAmazon S3に保存し、頻繁に保存されるデータはRedshiftに保存することができます。そうすることで、Redshiftクラスタのサイズを小さくすることができ、結果的に年間の請求額を減らすことができます。

ただし、Spectrumで実行されるクエリごとに料金が発生することを念頭に置いておくことが重要です。アナリストチームがS3データを頻繁に使用してクエリを実行している場合は、データ全体をRedshiftクラスタに保存する場合のコストと比較しながらコストを計算してください。

Redshiftの顧客ではない場合は、Athenaの方が良い選択かもしれません。Athenaを使えば、クラスタを維持する必要はありません。真のサーバーレスアーキテクチャを構築することができます。

2) お使いの分析ツールとの互換性

2つのクエリエンジンのどちらかを選択する前に、お好みの分析ツールと互換性があるかどうかを確認してください。どちらのサービスも外部ツールに接続するためにOBDCとJBDCドライバを使用しています。

Xplentyが役に立つこと

Xplentyを使えば、ETLデータパイプラインをあっという間に構築できます。ビジュアル化されたインターフェースを使えば、Amazon Redshift、Amazon S3、その他の一般的なデータベースの統合をすぐに始めることができます。 オンライン相談を申し込み、私たちのローコードプラットフォームがどのようにデータ統合を簡単にするかを学びましょう。

Xplentyのオンライン相談に登録して、無料トライアルでプラットフォームを試してみよう!

Xplentyの機能概要や実際の操作感を見てみたい方は、定期的に開催している製品紹介セミナーがおすすめです。

Xplentyのオンラインセミナーに申し込む。