QUIZ 15分

クイズの説明

Step 3「分析基盤の構築」で学んだ内容の理解度を確認します。全8問、80%(7問)以上正解で合格です。


問題

Q1. Snowflakeの「コンピュートとストレージの分離」の最大のメリットはどれですか?

  • A) クエリの実行速度が常に速くなる
  • B) ストレージの増加に関係なくコンピュートリソースを独立してスケールでき、コスト効率が向上する
  • C) データの冗長性が排除される
  • D) JOINが不要になる
答えを見る

正解: B

コンピュートとストレージの分離により、データ量が増えてもクエリに必要なコンピュートリソースだけを必要な時にスケールできます。ETL用の大きなウェアハウスは夜間のみ稼働させ、BI用の小さなウェアハウスは営業時間のみ稼働させるといった、ワークロード別の最適化が可能です。


Q2. データレイクが「データスワンプ」に陥る主な原因はどれですか?

  • A) ストレージ容量が不足している
  • B) メタデータ管理、データカタログ、アクセス制御が不十分なまま大量のデータを投入する
  • C) Parquetフォーマットを使用している
  • D) クラウドストレージを使用している
答えを見る

正解: B

データスワンプは、メタデータ管理やデータカタログがないまま大量の生データを投入し、「誰が、いつ、何のために」作ったデータかわからなくなった状態です。メダリオンアーキテクチャ(Bronze/Silver/Gold)の導入、データカタログの整備、明確なオーナーシップの定義が予防策です。


Q3. Delta Lakeがデータレイクに追加する最も重要な機能はどれですか?

  • A) データの圧縮
  • B) ACID トランザクション保証とスキーマエンフォースメント
  • C) データの暗号化
  • D) SQLクエリの実行
答えを見る

正解: B

Delta Lake(およびApache Iceberg/Hudi)は、データレイク上にACIDトランザクション、スキーマエンフォースメント、Time Travel、MERGE(upsert)などのDWH的な機能を追加します。これにより「レイクハウス」パターンが実現し、データの信頼性とガバナンスが向上します。


Q4. ディメンショナルモデリングにおけるSCD Type 2の特徴はどれですか?

  • A) 変更時に既存レコードを上書きする
  • B) 新しいレコードを追加し、有効期間(effective_from/to)で履歴を管理する
  • C) 変更前の値を別カラムに保存する
  • D) 変更を記録せず、常に最新値のみ保持する
答えを見る

正解: B

SCD Type 2は変更があるたびに新しいレコードを追加し、effective_from/effective_toの期間とis_currentフラグで履歴を管理します。Type 1は上書き(履歴なし)、Type 3は変更前カラム追加です。Type 2は顧客ティアの変遷など、分析で「その時点の状態」を参照する必要がある場合に使用します。


Q5. スタースキーマでファクトテーブルに「デジェネレイトディメンション」を含める理由はどれですか?

  • A) ディメンションテーブルのサイズを小さくするため
  • B) 独立したディメンションテーブルを作るほどの属性がなく、ファクトに直接保持する方が効率的な識別子を格納するため
  • C) ファクトテーブルのパフォーマンスを向上させるため
  • D) 正規化を適用するため
答えを見る

正解: B

デジェネレイトディメンション(例: 注文番号、トランザクションID、通貨コード)は、属性が少なくディメンションテーブルを作成するオーバーヘッドに見合わないため、ファクトテーブルに直接格納します。JOINの削減にも寄与します。


Q6. ClickHouseのMergeTreeエンジンでORDER BY句が重要な理由はどれですか?

  • A) データの挿入順序を保証するため
  • B) ソートキーに基づくデータの物理配置により、フィルタクエリのスキャン範囲を大幅に削減できるため
  • C) トランザクションの分離レベルを設定するため
  • D) データの重複を排除するため
答えを見る

正解: B

ClickHouseのMergeTreeはORDER BY句で指定したカラムの順にデータを物理的にソートして格納します。WHERE句でソートキーの先頭カラムを指定すると、インデックスグラニュールのスキップにより不要なデータブロックを読み飛ばせるため、大量データに対しても秒以下の応答が実現できます。


Q7. マテリアライズドビューのリフレッシュ戦略で「イベント駆動」方式が適しているのはどれですか?

  • A) 定期的に全データを再集計する場合
  • B) 特定のビジネスイベント(注文完了等)発生時にのみ更新が必要な場合
  • C) 常に最新データが必要なリアルタイムダッシュボードの場合
  • D) 大量のアドホッククエリに応答する場合
答えを見る

正解: B

イベント駆動リフレッシュは、特定のビジネスイベント発生時にのみマテリアライズドビューを更新する方式です。不要な再計算を避けられるため効率的です。定期的な全再集計はperiodic方式、リアルタイム要件にはストリーミング集計が適しています。


Q8. Kappa ArchitectureとLambda Architectureの違いとして正しいのはどれですか?

  • A) Kappa は バッチ処理のみ、Lambda はストリーム処理のみを使用する
  • B) Kappa は全てをストリーム処理で統一し、Lambda はバッチ層とスピード層を併用する
  • C) Kappa は Lambda より常に処理速度が速い
  • D) Lambda は Kappa の後継アーキテクチャである
答えを見る

正解: B

Lambda Architectureはバッチ層(正確だが遅延あり)とスピード層(リアルタイムだが近似的)の2経路でデータを処理します。Kappa Architectureは全てをストリーム処理で統一し、バッチ層を排除することで運用の複雑性を低減します。Kafkaのリプレイ機能を活用して再処理を行います。


結果

7問以上正解の場合

合格です。 分析基盤の構築に関する知識が定着しています。

「DWH、データレイク、OLAP — 分析基盤の設計力がついたな。次はデータガバナンスとセキュリティだ。データは守らなければ武器にならない」 — 佐藤CTO

6問以下の場合

もう少し復習しましょう。

  • Q1を間違えた場合 → Step 3-1「データウェアハウスアーキテクチャ」を復習
  • Q2-Q3を間違えた場合 → Step 3-2「データレイクとレイクハウス」を復習
  • Q4-Q5を間違えた場合 → Step 3-3「OLAP設計とディメンショナルモデリング」を復習
  • Q6-Q8を間違えた場合 → Step 3-4「リアルタイム分析基盤」を復習