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

よくある用途

よくある用途を以下にまとめる。

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

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

この記事は役に立ちましたか?

関連用語

関連する記事