比較表
特徴 | 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を使用。
参考サイト