BIツールのバックエンドに最適なのはAthena or Redshift?
どうも、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の比較について掘り下げてみようと思います。
それでは、ここまで読んでくださりありがとうございました!