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 との主な違いを以下に比較する。

観点RedshiftAthena
データの場所Redshift クラスター内S3 上のファイル
課金ノード時間課金スキャンデータ量課金
パフォーマンス高い (データがローカル)中程度 (S3 スキャン)
管理クラスター管理が必要サーバーレス
適するケース定常的な分析ワークロードアドホッククエリ

少量・低頻度のクエリなら Athena、大量・高頻度のクエリなら Redshift。

Redshift Serverless

クラスターの管理が不要なサーバーレスモード。RPU (Redshift Processing Units) 単位で課金される。

データパイプライン

データパイプラインを図で示す。

[DynamoDB][DynamoDB Streams][Kinesis Data Firehose][S3][Redshift COPY]

DynamoDB のトランザクションデータを Redshift に集約し、BI ツール (QuickSight) で可視化する。

よくある用途

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

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

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

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

関連用語

関連する記事