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 との比較

観点 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) で可視化する。

よくある用途

用途 クエリ例
売上分析 月別・商品別の売上集計
ユーザー行動分析 ファネル分析、コホート分析
ログ分析 大量のアクセスログの集計

実務での活用方法は関連書籍にも詳しい。

関連用語