クイズの説明
Month 7「データウェアハウス全体を設計しよう」の卒業クイズです。データ戦略、DWH設計、ストリーム処理、データガバナンス、MLOpsの全領域から出題します。
合格ライン: 80%(10問中8問正解)
問題
Q1. データ戦略(Step 1)
データ成熟度がL1(Reactive)の組織が最初に取り組むべきことはどれですか?
- A. Data Meshを導入してドメインごとのデータプロダクトを構築する
- B. リアルタイムストリーム処理パイプラインを構築する
- C. 中央集権型のデータチームで主要指標の定義を統一し、基本的なDWHを構築する
- D. フィーチャーストアを導入してML基盤を構築する
答えを見る
正解: C
データ成熟度L1の組織は、まず「基本」を固める必要があります。中央集権型のデータチームが主要指標の公式定義を策定し、ELT(Fivetran + dbt + BigQuery等)で基本的なDWH(Medallionアーキテクチャ)を構築します。Data Mesh(A)は成熟度L3以上で検討、ストリーム処理(B)やMLOps(D)は基本的なバッチ処理が安定してからの段階です。段階を飛ばすと、基盤が不安定なまま複雑さだけが増えます。
Q2. Medallionアーキテクチャ(Step 1)
MedallionアーキテクチャにおけるSilver層の主な責務はどれですか?
- A. ソースデータをそのまま保存し、追記のみ(Append-only)で管理する
- B. ビジネスロジックを適用し、KPIが計算された状態のデータマートを提供する
- C. クレンジング、正規化、重複排除、型変換を行い、分析可能な品質のデータを提供する
- D. BIツールに直接接続できる集計済みテーブルを提供する
答えを見る
正解: C
Silver層の責務は「データの信頼性を確保する」ことです。Bronze層から取り込んだ生データに対して、クレンジング(異常値の除外)、正規化(表記揺れの統一)、重複排除(order_idで重複除去)、型変換(文字列→DATE型)を行い、分析に使える品質のデータを提供します。A(生データ保存)はBronze層、B/D(ビジネスロジック、集計)はGold層の責務です。
Q3. ディメンショナルモデリング(Step 2)
スタースキーマにおいて、以下の要件を満たすためのファクトテーブルの種類として最適なものはどれですか?
注文が「受注→発送→配達完了」の3つの状態を経る。各状態の日時を記録し、「受注から配達完了までの平均日数」を分析したい。
- A. トランザクションファクト
- B. 周期スナップショットファクト
- C. 累積スナップショットファクト
- D. ファクトレスファクト
答えを見る
正解: C
累積スナップショットファクトは、プロセス(注文の受注→発送→配達完了など)の進行状況を1行で追跡するのに最適です。1行に受注日、発送日、配達完了日のカラムを持ち、プロセスの各マイルストーンの日時を記録します。これにより「受注から配達完了までの平均日数」などのプロセス分析が容易になります。トランザクションファクト(A)は1行=1イベントで、プロセスを追跡するには複数行のJOINが必要です。
Q4. レイクハウス(Step 2)
Apache Icebergのhidden partitioning機能がHiveスタイルのパーティショニングより優れている点はどれですか?
- A. ストレージコストが安い
- B. ユーザーがパーティション列を意識せずに自然なクエリを書くだけでパーティションプルーニングが効く
- C. パーティション数の上限がない
- D. パーティションの作成が高速
答えを見る
正解: B
Icebergのhidden partitioningでは、テーブル定義でパーティション変換関数(例: PARTITIONED BY day(order_date))を宣言するだけで、ユーザーはWHERE order_date = '2025-01-15'という自然なクエリを書くだけでパーティションプルーニングが自動的に適用されます。HiveスタイルではWHERE year=2025 AND month=01 AND day=15とパーティション列を明示的に指定する必要があり、クエリの書き方を間違えるとフルスキャンが発生します。
Q5. ストリーム処理(Step 3)
Kafkaのウォーターマーク(Watermark)の役割として最も適切なものはどれですか?
- A. メッセージの暗号化を管理する
- B. 「この時刻以前のイベントはもう到着しない」と宣言し、遅延イベントの許容範囲を定義する
- C. メッセージの順序を保証する
- D. メッセージの重複を排除する
答えを見る
正解: B
ウォーターマークは、ストリーム処理において「この時刻以前のイベントは(一定の確率で)もう到着しない」と宣言する仕組みです。イベント時間(Event Time)と処理時間(Processing Time)のずれ(遅延イベント)をどこまで許容するかを定義します。例えばウォーターマークを5分に設定すると、5分以内の遅延イベントは正しくウィンドウに含まれますが、5分を超える遅延イベントは破棄されます。メッセージの順序保証(C)はPartition内で保証され、重複排除(D)はExactly-once処理で対応します。
Q6. CDC(Step 3)
DebeziumによるログベースCDCで、初期ロード(Initial Snapshot)から増分同期(Incremental Sync)への切り替えが正しく行われる仕組みはどれですか?
- A. 手動でタイムスタンプを指定して切り替える
- B. スナップショット完了時のLSN(Log Sequence Number)を記録し、そのLSN以降のWAL変更を増分として処理する
- C. スナップショット後にテーブルを全削除して再作成する
- D. 初期ロードと増分同期は別々のパイプラインで管理する
答えを見る
正解: B
Debeziumは初期スナップショット完了時にLSN(PostgreSQLのLog Sequence Number)を記録します。スナップショット中に発生した変更はWALに記録されており、スナップショット完了後、記録されたLSN以降のWAL変更を増分として処理を開始します。このハンドオフはDebeziumが自動で管理するため、データの欠損も重複もなくシームレスに移行できます。
Q7. データ品質(Step 4)
以下のデータ品質スコアを持つテーブルについて、最も優先的に対処すべき問題はどれですか?
| 次元 | スコア |
|---|---|
| 完全性 | 99.5% |
| 正確性 | 98.0% |
| 一貫性 | 72.0% |
| 適時性 | 100.0% |
| 一意性 | 99.9% |
- A. 完全性(99.5%)をさらに向上させる
- B. 一貫性(72.0%)の問題を調査し改善する
- C. 適時性(100.0%)を維持するための監視を強化する
- D. 一意性(99.9%)の微小な重複を排除する
答えを見る
正解: B
一貫性のスコアが72.0%と突出して低く、最も改善の余地が大きい次元です。一貫性が低いということは、複数のデータソース間で整合性が取れていない(例: DWHの売上金額とStripeの売上金額が一致しない)ことを意味します。他の次元はすべて98%以上で問題ないレベルですが、一貫性72%は「Red(問題あり)」判定であり、ビジネスに直接影響を与えるリスクがあります。まず原因(変換ロジックのバグ、タイミングのずれ等)を特定し、対処する必要があります。
Q8. データカタログ(Step 4)
データカタログにビジネス用語集を整備する最大の効果はどれですか?
- A. データエンジニアの採用コストが下がる
- B. BIツールのクエリ速度が向上する
- C. 全社で指標の定義が統一され、「同じ指標なのに数字が違う」問題が構造的に解消される
- D. データストレージのコストが削減される
答えを見る
正解: C
ビジネス用語集の最大の効果は、指標の定義を全社で統一することです。「アクティブユーザー」の定義が3種類存在する問題は、用語集で公式定義を策定し、カタログで全員がアクセスできるように公開し、dbtモデルでその定義を唯一の実装として管理することで構造的に解消されます。定義が1箇所で管理され、すべてのダッシュボードが同じdbtモデルを参照するため、部門ごとに数字が異なることが原理的に起きなくなります。
Q9. フィーチャーストア(Step 5)
フィーチャーストアのオンラインストアにRedisが使われる主な理由はどれですか?
- A. SQLクエリが使えるため
- B. ストレージ容量が大きいため
- C. キー/バリュー形式で低レイテンシ(< 10ms)のフィーチャー取得が可能なため
- D. ACID トランザクションが保証されるため
答えを見る
正解: C
オンラインストアは推論時に使用されるため、低レイテンシでのフィーチャー取得が最重要要件です。Redisはインメモリのキー/バリューストアであり、customer_id → {avg_purchase_90d: 5000, total_logins_30d: 15, ...}という形式で、1ms未満のレイテンシでフィーチャーを取得できます。BigQueryなどのOLAPデータベースは大量データの分析には優れていますが、1件のレコード取得に数秒かかるため、リアルタイム推論には不向きです。
Q10. データオブザーバビリティ(Step 4)
以下の状況で最も適切な対応はどれですか?
月曜日の朝、Gold層のrevenue_dailyテーブルの品質スコアが95→78に低下。Elementaryのアラートによると、net_revenueカラムのNULL率が通常の0.1%から15%に上昇。dbtジョブ自体は正常に完了している。
- A. dbtジョブが成功しているので問題なし。モニタリングを継続する
- B. revenue_dailyテーブルのリネージを確認して上流の問題を特定し、Silver層のslv_ordersのtotal_amountカラムの品質を確認する
- C. revenue_dailyテーブルを削除して再作成する
- D. 品質スコアの閾値を75に引き下げてアラートを解消する
答えを見る
正解: B
これは「サイレントデータ障害」の典型例です。dbtジョブは成功していますが、データの品質が壊れています。まずリネージで上流をたどり、revenue_daily → fact_orders → slv_orders → brz_orders → PostgreSQL.ordersの順に問題の発生箇所を特定します。net_revenueのNULL率上昇は、上流のtotal_amountカラムの問題(ソースシステムの仕様変更、CDC障害等)に起因する可能性が高いです。A(無視)は問題を放置し誤った意思決定につながります。D(閾値変更)は問題の隠蔽です。C(削除再作成)は根本原因を解決しません。
結果
合格(8問以上正解)
Month 7「データウェアハウス全体を設計しよう」を修了しました。データ戦略からMedallionアーキテクチャ、ストリーム処理、データガバナンス、MLOpsまで、全社データ基盤設計の知識を習得しました。
あなたが身につけたスキル:
- データ戦略の策定とアーキテクチャパターンの使い分け
- Medallionアーキテクチャによるデータレイク/DWH/レイクハウスの設計
- CDC+Kafkaによるストリーム処理パイプラインの設計
- データ品質、リネージ、カタログ、オブザーバビリティの統合ガバナンス
- MLOpsパイプラインとフィーチャーストアによるデータ基盤とMLの統合
不合格(7問以下正解)
全体を復習しましょう。特に間違えた問題に対応するStepを重点的に見直してください:
- Q1-Q2: Step 1(データ戦略、Medallionアーキテクチャ)
- Q3-Q4: Step 2(ディメンショナルモデリング、レイクハウス)
- Q5-Q6: Step 3(ストリーム処理、CDC)
- Q7-Q8: Step 4(データ品質、データカタログ)
- Q9-Q10: Step 5 + Step 4(フィーチャーストア、オブザーバビリティ)
推定所要時間: 30分