変更要約: 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:列指向の 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 から直接クエリしたい。何を使いますか?

