Redshift
AWS のペタバイト規模のデータウェアハウスサービスで、大量データの分析クエリを高速に実行する
AWSデータ分析
Redshift とは
Amazon Redshift は、ペタバイト規模のデータウェアハウス (DWH) サービスで、列指向ストレージと大規模並列処理 (MPP) により、大量データの分析クエリを高速に実行する。PostgreSQL 互換の SQL で操作できる。
列指向 vs 行指向
列指向と 行指向 の違いを図で示す。
行指向 (RDS, DynamoDB):
Row 1: [id=1, name="Alice", age=30, city="Tokyo"]
Row 2: [id=2, name="Bob", age=25, city="Osaka"]
→ 1 行の全カラムを取得するのが高速
列指向 (Redshift):
id: [1, 2, 3, ...]
name: ["Alice", "Bob", ...]
age: [30, 25, ...]
→ 特定カラムの集計 (SUM, AVG) が高速、圧縮効率が高い
| 観点 | 行指向 (RDS) | 列指向 (Redshift) |
|---|---|---|
| 得意 | CRUD、トランザクション | 集計、分析クエリ |
| 苦手 | 大量データの集計 | 単一行の取得・更新 |
| 用途 | OLTP (業務処理) | OLAP (分析) |
Athena との比較
Athena との主な違いを以下に比較する。
| 観点 | Redshift | Athena |
|---|---|---|
| データの場所 | Redshift クラスター内 | S3 上のファイル |
| 課金 | ノード時間課金 | スキャンデータ量課金 |
| パフォーマンス | 高い (データがローカル) | 中程度 (S3 スキャン) |
| 管理 | クラスター管理が必要 | サーバーレス |
| 適するケース | 定常的な分析ワークロード | アドホッククエリ |
少量・低頻度のクエリなら Athena、大量・高頻度のクエリなら Redshift。
Redshift Serverless
クラスターの管理が不要なサーバーレスモード。RPU (Redshift Processing Units) 単位で課金される。
データパイプライン
データパイプラインを図で示す。
[DynamoDB] → [DynamoDB Streams] → [Kinesis Data Firehose] → [S3] → [Redshift COPY]
DynamoDB のトランザクションデータを Redshift に集約し、BI ツール (QuickSight) で可視化する。
よくある用途
よくある用途を以下にまとめる。
| 用途 | クエリ例 |
|---|---|
| 売上分析 | 月別・商品別の売上集計 |
| ユーザー行動分析 | ファネル分析、コホート分析 |
| ログ分析 | 大量のアクセスログの集計 |
実務での活用方法は関連書籍にも詳しい。
この記事は役に立ちましたか?
関連用語
Athena
S3 上のデータを標準 SQL で直接クエリできる AWS のサーバーレス分析サービス
OpenSearch
全文検索、ログ分析、可視化を提供するオープンソースの検索・分析エンジン
DynamoDB
AWS のフルマネージド NoSQL データベースで、ミリ秒単位のレイテンシとシームレスなスケーリングを提供する
列指向ストア
データを列 (カラム) 単位で保存し、分析クエリの集計を高速化するストレージ形式
データウェアハウス
分析用に最適化された大規模データストアで、複数のデータソースを統合して意思決定を支援する
OLAP vs OLTP
オンライン分析処理 (OLAP) とオンライントランザクション処理 (OLTP) の違いと使い分け