Instiq
第2章 · データストア管理·v2.1.0·更新 2026/6/14·読了目安 約9分

変更要約: in-scope サービス網羅: 目的別ストア/ストレージ(DocumentDB/Keyspaces/MemoryDB/S3 Tables/EFS/CloudFront/Backup)を追加

2.2データウェアハウスとクエリ(Redshift・Athena)

この節の要点

Amazon Redshift(列指向データウェアハウス)、Redshift Spectrum と Athena による S3 への直接クエリ、ETL/ELT の選択を理解します。

大規模な分析クエリには列指向のデータウェアハウスが向きます。AWS では Amazon Redshift、S3 への直接クエリには Athena を使います。

2.2.1Redshift と Athena

Amazon Redshift(列指向データウェアハウス・複雑な分析を高速に・SQL・Spectrum で S3 を直接クエリ)と、Amazon Athena(S3 上のサーバーレス SQL・スキャン量課金・Glue データカタログを利用)の役割の違いを対比した図。
Redshift と Athena
  • Amazon Redshift:列指向の DWH で、大規模な分析クエリ(OLAP)を高速に実行する。
  • Redshift Spectrum:Redshift から S3 上のデータを直接クエリできる(ロード不要)。
  • Athenaサーバーレスで S3 に SQL クエリ。スキャンしたデータ量に応じて課金、Glue カタログを利用。
  • ETL と ELT:変換してから格納(ETL)か、格納後に DWH 内で変換(ELT)かを要件で選ぶ。
試験ポイント

「アドホックに S3 を SQL で・サーバーレス=Athena」「常時の大規模 BI/分析=Redshift」「Redshift から S3 を直接=Spectrum」「Athena は Glue カタログを参照」 は DEA で頻出です。

分析クエリは「サーバーレスでアドホック=Athena/常時の大規模 BI=Redshift」で切り分けます。Athena は S3 上のデータに Presto/Trino ベースの SQL を実行するサーバーレスサービスで、スキャンしたデータ量 に対して課金されるため、前節の Parquet+パーティションが効きます(Glue データカタログ を共有)。Redshift は列指向 DWH で、テーブル設計が性能を左右します:分散スタイル(DISTSTYLE)/DISTKEY でノード間のデータ配置を、SORTKEY でブロックの読み飛ばし(ゾーンマップ)を最適化し、結合キー・絞り込みキーに合わせます。S3 をロードせず読むなら Redshift Spectrum、ストレージとコンピュートを分離しスケールするなら RA3 ノードや Redshift Serverless、データ共有は Data Sharing、半構造化は SUPER 型/PartiQL、取り込みは COPY(並列ロード)が定石です。マテリアライズドビュー自動化(自動 VACUUM/ANALYZE/WLM) も性能運用の要点。要件で ETL(先に変換)/ELT(DWH 内で変換) を選びます。

要件使うもの
S3 にアドホック SQL・サーバーレスAthena
常時の大規模 BI/分析Redshift
Redshift から S3 を直接Redshift Spectrum
結合/絞り込み性能の最適化DISTKEY / SORTKEY

シナリオ:たまに S3 を調べたい分析者と、毎日大量の BI を回すチームが混在。 アドホックは Athena(Glue カタログ参照・Parquet でスキャン量を抑制)。定常 BI は Redshift に COPY でロードし、結合キーに DISTKEY、日付に SORTKEY を設定。一部は Spectrum で S3 を直接読み、ロードを省きます。

補足

Q. サーバーレスで S3 に SQL? Athena(スキャン量課金)。Q. 常時の大規模分析? Redshift。Q. ロードせず S3 を読む? Spectrum。Q. Redshift 性能の鍵? DISTKEY/SORTKEY。Q. Athena を安くする? Parquet+パーティション。

注意

混同に注意:
①Athena はスキャン量課金——SELECT * や非パーティションで高額化。
②Redshift は常時稼働コストがかかる(散発クエリだけなら Athena/Serverless が安いことも)。
③DISTKEY を誤るとデータ偏り(スキュー)で遅くなる。
④Spectrum も S3 スキャン量で課金される(Parquet+パーティションが有効)。

コツ

Redshift では分散キー(DISTKEY)とソートキー(SORTKEY)の設計がクエリ性能を大きく左右します。結合キーや絞り込みキーに合わせて選びます。

2.2.2この節のまとめ

  • Athena(サーバーレス・S3 へ SQL)/Redshift(大規模 DWH)
  • Redshift から S3 直接=Spectrum、性能はDISTKEY/SORTKEY

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. S3 上のデータにサーバーを管理せず SQL でアドホックにクエリし、スキャン量に応じて課金されるのはどれですか?

Q2. 常時稼働で大規模な BI/分析クエリを高速に実行する列指向データウェアハウスはどれですか?

Q3. Redshift にロードせず S3 上のデータを Redshift から直接クエリしたい。何を使いますか?

理解度を確認第2章「データストア管理」の問題を解く