無限ノック › SAP 練習問題一覧 › 問題
SAP既存のソリューションの継続的改善複数選択

大手保険会社が1日あたり500GBのクレームデータをAmazon S3にCSV形式で年/月/日のディレクトリ構造で保存し、Amazon Athenaでアドホック分析を実行しています。 現在の課題: ・クエリの平均実行時間が60〜120秒 ・月次Athenaコストが約900万円(スキャンデータ量課金) ・各アナリストチームが同一の標準レポートクエリを1日に複数回実行 ・Glueデータカタログに300以上のテーブルが存在し、各テーブルに平均100以上のパーティション 制約:分析ツールはAthenaから変更できず、既存のSQLクエリパターンも修正不可 クエリコストと実行時間を最も効果的に削減する施策を2つ選択してください。

A
AWS GlueジョブでS3上の既存CSVデータをApache Parquet形式(Snappy圧縮)に変換・再格納し、Glueカタログでテーブル列統計情報を収集する。新規データも本番ETLパイプラインでParquet変換を経由するよう更新して以降のデータを列指向形式で蓄積する。
✓ 正解
CSVからParquetへの変換はAthenaコスト削減の最も効果的な手段です。Parquetの列指向アクセスとSnappy圧縮でCSV比85〜93%のスキャンデータ削減が可能で、コストと実行時間の両方に直接貢献します。SQLクエリの変更は不要のため制約にも抵触せず、テーブル統計情報の収集でクエリプランの最適化も実現します。
B
AthenaワークグループでQuery Result Reuse(TTL:24時間)を有効化し、全GlueテーブルにPartition Indexingを設定する。日付ベースのパーティションにはPartition Projectionを適用してGlueカタログへのメタデータAPIコールを排除し、パーティション列挙の遅延をなくす。
✓ 正解
Query Result ReuseはAthenaワークグループレベルで有効化でき、同一クエリの2回目以降のスキャンコストを完全に排除します。1日複数回の同一レポート実行が多い本シナリオで非常に有効です。Partition IndexingとPartition Projectionにより大量パーティションでのメタデータ取得オーバーヘッドも解消されます。
C
Amazon Redshift Serverlessに既存の標準レポートデータをロードし、頻繁に参照されるレポートをマテリアライズドビューにキャッシュする。アナリストのクエリ先をAthenaからRedshift JDBC/ODBCエンドポイントに移行して分析パフォーマンスを向上させる。
Amazon Redshift Serverlessへの移行は分析ツールをAthenaから変更することを意味し、「Athenaから変更不可」という明確な制約に違反します。パフォーマンス改善効果があっても制約の観点から選択できません。
D
Amazon CloudFront + Lambda@EdgeをAthena APIのフロント層に配置して同一クエリパラメータのレスポンスをエッジロケーションでキャッシュし、Amazon QuickSightのSPICEエンジンにデータセットをインポートして高速インタラクティブレポートを提供する。
CloudFrontはHTTPコンテンツ配信向けのCDNであり、Athenaの非同期クエリ実行モデル(クエリ投入→実行→結果取得の分離)に対してエッジキャッシュを適用するアーキテクチャは実用的ではありません。QuickSightへの移行も分析ツール変更禁止の制約に反します。
E
S3 Intelligent-Tieringを全データレイクオブジェクトに有効化してストレージコストを自動削減し、Athenaクエリ結果出力先をS3 Standard-IAに変更する。AWS Glue DataBrewのデータ品質ルールで不要レコードを除外してAthenaのスキャン対象データ量を削減する。
S3 Intelligent-TieringはS3ストレージ料金の最適化ツールですが、Athenaの課金はS3ストレージクラスに関わらずスキャンしたバイト数のみに基づくためAthenaコストには影響しません。Glue DataBrewはデータ準備・品質管理ツールであり、Athenaのスキャン量を直接削減する機能はありません。

解説

CSVからApache Parquetへの変換(選択肢A)は、Athenaコストと実行時間の削減に最大のインパクトをもたらします。Parquetは列指向フォーマットのためSELECT句で指定した列のみをスキャンし、Snappy圧縮によりCSV比で85〜93%のデータ量削減が実現します。スキャンデータ量がそのままAthenaの料金に直結するため月次コストを大幅に圧縮できます。Glue列統計情報の収集はAthenaクエリプランナーが最適な実行計画を選択するために有効です。SQLクエリの変更は一切不要のためツール・クエリ変更不可の制約にも抵触しません。 Query Result ReuseとPartition最適化(選択肢B)は、同一クエリの再実行時に前回スキャン結果を最大24時間再利用します。各チームが同一レポートを複数回実行する本シナリオでは2回目以降のAthenaスキャンコストが完全に発生しません。300テーブル×100パーティション規模ではPartition IndexingによりGlueカタログへのパーティション一覧取得コールが大幅に削減され、Partition Projectionは日付パーティションのメタデータアクセス自体を廃止します。 選択肢CのAmazon Redshift Serverlessへの移行は分析ツールをAthenaから変更することになり制約に直接違反します。 選択肢DのCloudFront + Lambda@EdgeによるAthena APIキャッシュはAthenaの非同期クエリモデルと整合せず、QuickSightへの移行も分析ツール変更禁止の制約に反します。 選択肢EのS3 Intelligent-TieringはS3ストレージ料金を最適化しますが、AthenaはスキャンバイトのみをS3ストレージ料金とは独立して課金するため効果がなく、Glue DataBrewもAthenaのスキャン量を直接削減する機能はありません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSAPを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SAP の問題一覧に戻る