変更要約: in-scope サービス網羅: 目的別ストア/ストレージ(DocumentDB/Keyspaces/MemoryDB/S3 Tables/EFS/CloudFront/Backup)を追加
2.1S3 データレイクの設計
S3 を中心としたデータレイク(生/クレンジング/キュレートのレイヤー)、パーティション分割と列指向フォーマット、ストレージクラスとライフサイクルによるコスト最適化を理解します。DEA-C01 の「データストア管理」の出発点です。
多様なデータを安価かつ大量に蓄える基盤が S3 データレイク です。レイヤー構成・パーティション・フォーマットを整えると分析が速く・安くなります。
2.1.1レイヤーとフォーマット
- レイヤー:生(raw)→クレンジング(cleaned)→キュレート(curated)の段階で品質を上げる。
- パーティション分割:日付や地域などでフォルダ分割し、クエリのスキャン量を減らす。
- 列指向フォーマット:Parquet/ORC にすると圧縮効率と分析性能が上がる。
- ストレージクラス/ライフサイクル:アクセス頻度に応じて安価なクラスへ移し、コストを下げる。
「スキャン量とコスト削減=パーティション+Parquet」「生/クレンジング/キュレートのレイヤー設計」「古いデータを安価クラスへ=ライフサイクル」 は DEA で頻出です。S3 はデータレイクの中心です。
S3 データレイクは「レイヤー × レイアウト × ライフサイクル」で設計します。レイヤー は 生(bronze)→クレンジング(silver)→キュレート(gold) と品質を上げ、各層をプレフィックスで分けます。レイアウト の核は 列指向(Parquet/ORC) 変換と パーティション分割(よく絞り込む列=日付/地域)で、後段 Athena のスキャン量(=課金)を激減させます。小さなファイルが多いと性能が落ちるため コンパクションでまとめ、Athena では パーティション射影(partition projection) でメタデータ管理を省けます。更新・削除・タイムトラベルが要るなら Apache Iceberg/Hudi/Delta などの テーブルフォーマット、権限の一元管理は Lake Formation(列/行レベル)。ライフサイクル は S3 Standard→Standard-IA→Glacier へアクセス頻度に応じて自動移行し、迷うなら Intelligent-Tiering。保管時暗号化(SSE-KMS)とバージョニング、誤削除防止の Object Lock も基本です。S3 は11ナインの耐久性で、データレイクの中心に据えます。
| 設計軸 | 打ち手 |
|---|---|
| 品質段階 | 生→クレンジング→キュレート |
| スキャン量/コスト削減 | Parquet+パーティション+コンパクション |
| 更新/削除/タイムトラベル | Iceberg/Hudi/Delta |
| 保管コスト最適化 | ライフサイクル / Intelligent-Tiering |
シナリオ:取り込んだ生 JSON が増え続け、分析が遅く高い。 生(bronze)に置いたまま Glue ETL で Parquet へ変換し日付で パーティション分割してクレンジング(silver)層へ。Athena は silver/gold を参照しスキャン量が激減。古い生データは ライフサイクルで Glacier へ移し、誤削除対策に バージョニング+Object Lock を設定します。
Q. スキャン量を減らす? Parquet+パーティション。Q. レイヤー構成は? 生→クレンジング→キュレート。Q. 古いデータのコスト? ライフサイクル(Glacier 等)。Q. 更新/削除が要る? Iceberg/Hudi/Delta。Q. 権限の一元管理? Lake Formation。
混同に注意:
①行指向 CSV のままだと Athena のスキャン量(課金)が膨らむ——Parquet+パーティションが定石。
②小さなファイル大量=性能/コスト悪化(コンパクション)。
③素の S3(Parquet)は行レベル更新が苦手——更新が要るなら Iceberg 等のテーブルフォーマット。
④Glacier は取り出しに時間/コスト——頻繁アクセスデータを入れない。
Lake Formation を使うと、データレイクのアクセス権限を列/行レベルで一元管理でき、ガバナンスが容易になります(第4章で扱います)。
2.1.2この節のまとめ
- レイヤー(raw/cleaned/curated)+パーティション+Parquet
- ライフサイクルでストレージコストを最適化
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. S3 データレイクでクエリのスキャン量とコストを減らす最も効果的な方法はどれですか?
Q2. データレイクで品質段階を表す一般的なレイヤー構成はどれですか?
Q3. アクセス頻度の下がった古いデータのストレージコストを自動で下げたい。何を使いますか?

