DEA-C01:AWS Certified Data Engineer - Associate データストアの管理 問6
データストアの管理/データモデルとスキーマ進化の設計データウェアハウス/データレイクで、大きなテーブルに対する分析クエリの性能とコストを設計段階から最適化したいと考えています。最も適切な方針はどれですか。
当サイトのオリジナル問題(DEA-C01:AWS Certified Data Engineer - Associateの出題範囲「データストアの管理」に対応。実際の試験問題ではありません)
- Aすべてを 1 つの大きな非圧縮 CSV ファイルにまとめ、パーティションは作らない
- Bよく絞り込む列でのパーティショニング、列指向フォーマット、圧縮、適切な分散/ソートキーなどを設計し、スキャン量を減らす
- Cすべての列を文字列型にしてインデックスや圧縮は使わない
- D行指向フォーマットのまま全件スキャンを前提に設計する
正解:B
解説
大きなテーブルの分析では、よく絞り込む列でのパーティショニング、列指向フォーマット(Parquet/ORC)、圧縮、Redshift の適切な分散キー/ソートキー設計などにより、クエリがスキャンするデータ量を減らし、性能とコストを最適化できます。非圧縮 CSV や全列文字列・無圧縮、行指向の全件スキャン前提は、性能・コストを悪化させます。
選択肢ごとの解説
- A誤り。単一の非圧縮 CSV・パーティションなしは、スキャン量が増え性能・コストが悪化します。
- B正しい。パーティショニング・列指向・圧縮・適切な分散/ソートキーでスキャン量を減らせます。
- C誤り。全列文字列・無圧縮・無インデックスは最適化の逆です。
- D誤り。行指向の全件スキャン前提は、分析クエリの性能・コストに不利です。