5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BeeXAdvent Calendar 2024

Day 1

RedshiftとEMRの比較、一緒に使うユースケース

Last updated at Posted at 2024-11-30

比較表

特徴 Redshift EMR
主用途 データウェアハウス、SQLベースの分析 分散処理、非構造化データのトランスフォーメーション
目的 データウェアハウス(OLAP) ビッグデータ処理、ETL、機械学習、リアルタイム分析
データタイプ 構造化データ 非構造化、半構造化、構造化データ
操作性 SQLに最適化 Hadoop/Sparkベースのカスタム処理
スケーラビリティ 自動スケーリングが簡単 クラスターのサイズや設定を手動で変更、スケールの最適化が必要
ストレージ 内部ストレージ(スナップショット)、S3との統合(Redshift Spectrum) 外部ストレージ(S3、EBS、HDFS)
ストレージタイプ カラム型(列指向)、並列処理最適化 分散ファイルシステム(HDFS)/オブジェクトストレージ(S3)
リアルタイム性 限定的(主にバッチ処理) 高い、ストリーム処理が可能(Flink, Kafkaなど)
データの永続性 Redshift内で保存、S3に長期保存可能 S3が永続的なデータストレージ、HDFSは一時的
コスト 予測しやすい(定額、オンデマンド) 柔軟(スポットインスタンスやシャットダウンで低コスト化)
統合性 BIツールとの統合が容易(Tableau、QuickSightなど) データパイプラインやカスタムアプリケーション向け
運用の複雑さ 低(フルマネージドサービス) 高(クラスター管理と設定が必要)

Redshift単体のユースケース

データ分析(データウェアハウス)

大量の構造化データをクエリするBIツールやSQLベースの分析。

例: BIツール(Tableau、Amazon QuickSight、Power BI)と連携し、ビジネスインテリジェンスの基盤として使用。

OLAP(オンライン分析処理)

ユーザー行動分析や売上データ分析など、クエリパフォーマンスが重要なOLAPに対応。

ETL後の集計データの保存と活用

他のETLツール(Glueなど)で前処理を行い、クリーンなデータをRedshiftに保存して分析。

レポート生成

頻繁なデータ変更や複雑な処理ではなく、比較的固定的なデータセット、、主に分析用のデータを管理。

例:セールスや財務レポートを生成するためのアドホッククエリ。

インタラクティブなSQLクエリ

KinesisやKafkaを利用してリアルタイムデータをRedshiftに取り込んでクエリ。

EMR単体のユースケース

ビッグデータ処理

ログデータやクリックストリームデータの処理(HadoopやSparkを活用)。

例: S3に保存された大量の未加工データを処理してクレンジング。

機械学習のトレーニングと予測

Apache SparkのMLlibやHadoopを使ったデータサイエンスパイプラインの構築。

カスタムデータ処理ジョブ

Python、Scalaなどでカスタムジョブを構築し、分散処理を効率化。

大規模なバッチ処理

データトランスフォーメーション(ETL)

複雑なデータの変換・統合を並列処理。

大規模データ処理

数百TBまたはPBスケールの非構造化データに対する分散処理。

ストリーミングデータ処理

Apache FlinkやSpark Streamingを活用して、リアルタイムでデータを処理。

カスタム処理や複雑なアルゴリズム

Redshiftでは対応が難しいカスタム分析や特定のデータ処理要件を実現。

コスト最適化が必要なワークロード

スポットインスタンスを利用してコストを最小化しつつ、大量のデータ処理を効率化。

RedshiftとEMRを一緒に使うユースケース

ETL処理(EMR)+ 分析BI(Redshift)

S3に保存された生データをEMRでクレンジング・変換し、Redshiftにロードして分析。

例: WebログデータのETL処理(EMR)→ 広告効果分析(Redshift)。

Redshift Spectrum + EMR

データパイプラインの構築。

EMRで分散処理を実施した後、クエリ可能な形式(Parquet、ORCなど)でS3に保存し、それをRedshift Spectrumで直接クエリ。

逆でもOK、S3のデータをRedshift Spectrumでクエリし、必要に応じてEMRで高度なデータ処理を実施。

複雑なモデルのトレーニングと分析

EMRで機械学習モデルをトレーニングした後、モデルの結果をRedshiftに保存して分析。

大規模データの初期処理、データレイク

非構造化データをEMRで集計・整形し、分析可能な形式にしてRedshiftに移動。
S3をデータレイクとし、ETLにEMRを、OLAP分析にRedshiftを使用。

参考サイト

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?