Amazon Redshift
分析用データウェアハウス
列指向(columnar)で保存し、超並列処理(MPP)で大量データに対する分析用 SQL クエリを実行するデータウェアハウスです。S3 上のデータを直接クエリする Redshift Spectrum もあります。
- コスト$$$ 高め
- 難易度●●●●●
- 未使用でも課金?はい
- AWS マネージド
- 出題試験CLF · SAA · SOA
たとえるなら集計の質問に素早く答えるよう整理済みの倉庫のようなものです。1 品ずつの小売り用ではありません。
いつ使う?
✓ 使うべき場面
TB〜PB 規模のデータに対する BI、レポート、OLAP 分析。
✗ 避けるべき場面
日々の OLTP トランザクション → RDS / Aurora。たまに行うクエリ → Athena。
よくある使い方
- 経営陣向けの BI ダッシュボード
- 複数年にわたる販売データの分析
- Spectrum による S3 data lake との連携
料金はいくら?
- 課金方式: Provisioned: node 時間に応じて課金(RA3 は managed storage が追加)。Spectrum はスキャンしたデータ量に応じて課金されます。
provisioned cluster はクエリしていないときも課金されます。一時停止(pause)するか Reserved Node を利用できます。
「データウェアハウス、TB〜PB の OLAP、BI、複雑なクエリ」なら Redshift、「Redshift から S3 のデータを直接クエリ」なら Redshift Spectrum、「準備なしのアドホック」なら Athena、「OLTP」なら RDS または Aurora を選びます。
よくある質問
Redshift は RDS や Aurora と何が違いますか?
RDS と Aurora はトランザクション (OLTP) 用データベースで、小さな行単位の読み書きが大量に発生する用途向けです。Redshift は列指向で並列処理 (MPP) を行い、大量データをスキャン・集計する分析 (OLAP) クエリに最適化されています。トランザクション処理に Redshift を使うのは非効率で、逆も同様です。
Redshift Spectrum と Redshift Serverless とは?
Spectrum は、Redshift から S3 のデータをクラスターにロードせずに直接クエリできる機能で、コールドデータや非常に大きなデータに向きます。Redshift Serverless はクラスターの選定・管理が不要で、AWS が容量を用意し使用量で課金されます。どちらもコンピュートとストレージの分離に役立ちます。
Redshift のデータロード、バックアップ、耐障害性はどうなっていますか?
効率的なロード方法は、行単位の INSERT ではなく、S3 から並列実行される COPY コマンドです。Redshift は自動でスナップショットを取得し、DR のために別 Region へコピーできます。Multi-AZ 構成で AZ 障害に備え、データは KMS で暗号化できます。
関連サービス
SAA-C03 対策
Redshift は次の対策モジュールで扱っています: