AWS

BIツールのバックエンドに最適なのはAthena or Redshift?

Champ

どうも、Champです🙌🏼
最近、髪の毛をグリーンに染めたら、いろいろなカラーにチャレンジしたくなってきました。
四季折々、季節ごとにカラーを変えるのも楽しそうだなと思っていますが、綺麗に染まるんですかね🤔

最近、データ分析に使用されるAWSサービスにもチャレンジしているのですが、AthenaとRedshift Serverlessの違いや使い分けについて理解するのは難しいですよね。
そこで、今回はBIツールと連携して使用する前提でこれらのサービスの特徴と最適なユースケースについてまとめてみました。

それぞれの特徴

Redshift Serverlessの特徴

まずはRedshift Serverlessの特徴を調べましたので箇条書きで簡単に説明いたします。

  • RPU(コンピューティングキャパシティ)とプライマリストレージ容量に基づいた秒単位の課金
  • クエリ結果のキャッシュ機能により、BIツールのバックエンドに最適
  • Redshift自体にIDプロバイダー機能があり、アクセス制御が可能
  • 高可用性と耐久性を備えたマルチAZ配置とデータ復旧機能
  • 自動バックアップと長期保持が可能
  • コンピューティング使用率などのメトリクスをCloudWatchで取得可能

Athenaの特徴

次に、Athenaについてです。

  • スキャンされたデータ量に応じた課金体系
  • クエリのキャッシュ機能はあるが、Redshiftと比べ制約が多い
  • データのアクセス制御にはLake Formationが必要
  • S3をデータストアとして使用し、高い可用性と耐久性を実現
  • データを保持しないため、バックアップは不要

Athenaはスキャンごとの従量課金制ということで頻繁にアクセスされるBIツールの場合、コストの予測が立てづらいですね🤔
それでは、実際にコストを試算してみましょう。

それぞれのコスト

Redshift Serverlessのコスト

Redshift Serverlessの料金体系は以下の通りです。

  • RPU(コンピューティングキャパシティ): 0.494 USD/時
    • 8 RPU から 512 RPU まで、8 単位で設定が可能
    • 実行するワークロードの料金を秒単位で支払います
    • 60 秒の最低料金あり
    • データウェアハウスの起動時間には料金はかかりません
  • プライマリストレージ容量:月額 0.0261 USD / GB
    • Redshift マネージドストレージ (RMS) と同じ価格設定
    • 30 分粒度で過去 24 時間の特定のポイントに無料で復元可能

以下の条件で試算してみましょう。

  • RPU: 8
  • 利用パターン: 平日に1日4時間利用
  • 1ヶ月のコスト: 8 RPU x 4 時間 x 20 日 x 0.494 USD = 316.16 USD

Athenaのコスト

Athenaの料金体系は以下の通りです。

  • スキャンされたデータ 1 TBあたり USD 5.00

以下の条件で試算してみましょう。
コスト試算の前提条件:

  • 従業員数: 1000人
  • クエリごとにスキャンされるデータ量: 10GB(0.009765625 TB)
  • 社員1000人のうち10%(100人)が週に50クエリを実行

計算式:

  • 1週間のクエリ数: 100人 x 50クエリ = 5,000クエリ
  • 1ヶ月のクエリ数: 5,000クエリ x 4週 = 20,000クエリ
  • 1ヶ月のコスト: 20,000 件のクエリ/月 x 0.009765625 TB x 5.00 USD = 976.56 USD

コストの比較

それぞれのコストは以下のようになりました。

  • Redshift Serverlessのコスト: 316.16 USD
  • Athenaのコスト: 976.56 USD

AthenaとRedshift Serverlessで同様の利用パターンの場合のRPUの設定が難しいため厳密な比較にはなっておりません。
しかし、Redshift ServerlessのRPUを倍の16に設定したとしてもAthenaの方がコストが高くなることから、Redshiftを利用した場合の方が安くなるように思われます。
これは、Athenaがスキャンごとに課金がおこなわれるのと、Redshift Serverlessが使用していない時間は停止しているサービスであるためですね。

結論

BIのように同じSQLが繰り返し実行される場合は、コストが固定化しやすく、レイテンシーも重要視されるため、Redshift Serverlessが適していそうです。
一方、BIのバックエンドとしてAthenaを使用した場合、スキャンしたデータ量に応じて課金されるため、同じSQLが何度も実行される場合はコストが増大する可能性があります。

実際に調査してみると、BIツールと連携して使用する前提として考えたとき、Athenaが候補に上がることは少ないように思えます。(クイックに低価格で試したい時などを除いて)
そのため、アドホックな分析における最適な選択肢を探るために、次はRedshift SpectrumとAthenaの比較について掘り下げてみようと思います。

それでは、ここまで読んでくださりありがとうございました!

AUTHOR
champ
champ
記事URLをコピーしました