LESSON 30分

レイクハウスアーキテクチャ

田中VPoE「DWHの設計は理解できたね。でも最近は、DWHだけでは対応しきれないユースケースも増えてきている。」

あなた「具体的にはどんなケースですか?」

田中VPoE「例えば、画像データや自然言語テキストを使った機械学習。こういう非構造化データはDWHに入れるのが難しい。そこで登場するのがレイクハウスというアーキテクチャだ。」

データレイクとは

データレイク(Data Lake)は、構造化・半構造化・非構造化のあらゆるデータをそのまま格納するストレージです。

データウェアハウスとの比較

項目データウェアハウスデータレイク
データ形式構造化データのみあらゆる形式
スキーマSchema-on-WriteSchema-on-Read
ストレージ専用ストレージオブジェクトストレージ
コスト高い(計算込み)安い(ストレージのみ)
ユーザーアナリストデータサイエンティスト
クエリ性能高い低い(最適化なし)

データレイクの課題

データレイクは柔軟性が高い反面、管理が不十分だと「データスワンプ(データの沼)」に陥りがちです:

課題説明
データ品質誰でも書き込めるため品質が保証されない
メタデータ管理どのデータが何を意味するか不明
ACIDトランザクション通常のオブジェクトストレージでは非対応
クエリ性能インデックスやパーティションの管理が手動
ガバナンスアクセス制御や監査ログが不十分

レイクハウスとは

レイクハウス(Lakehouse)は、データレイクの柔軟性とDWHの信頼性を両立する新しいアーキテクチャです。

レイクハウスの構成

┌──────────────────────────────────────┐
│         Analytics / ML / BI          │
├──────────────────────────────────────┤
│      Compute Engine                  │
│    (Spark / Presto / Trino)          │
├──────────────────────────────────────┤
│      Table Format Layer              │
│  (Delta Lake / Apache Iceberg / Hudi)│
├──────────────────────────────────────┤
│      Object Storage                  │
│    (S3 / GCS / ADLS)                │
└──────────────────────────────────────┘

テーブルフォーマットの役割

テーブルフォーマットが、オブジェクトストレージにDWHの機能を追加します:

機能Delta LakeApache IcebergApache Hudi
ACIDトランザクション対応対応対応
スキーマ進化対応対応対応
タイムトラベル対応対応対応
パーティション進化限定的対応限定的
隠れたパーティションなし対応なし
エコシステムDatabricks中心オープンUberが開発
採用傾向広く普及急成長中ニッチ

タイムトラベルの例

-- Delta Lake: 過去のバージョンを参照
SELECT * FROM orders VERSION AS OF 5;

-- Apache Iceberg: タイムスタンプ指定
SELECT * FROM orders
FOR SYSTEM_TIME AS OF '2025-01-01 00:00:00';

メダリオンアーキテクチャ

レイクハウスで広く採用されているデータ管理パターンです。DWHの3層モデルと思想は同じですが、レイクハウスに最適化されています。

Bronze(ブロンズ層)→ Silver(シルバー層)→ Gold(ゴールド層)
   生データ              クレンジング済み         ビジネス集計
レイヤー対応するDWH層データの状態
BronzeRaw生データそのままJSONログ、CSVファイル
SilverStagingクレンジング・正規化済みパース済みイベント
GoldMartビジネスロジック適用済みKPIダッシュボード用集計

アーキテクチャの選定基準

要件DWHデータレイクレイクハウス
構造化データの分析最適可能最適
非構造化データ不向き最適最適
機械学習限定的最適最適
BIレポーティング最適不向き良好
コスト効率高い高い
運用複雑性低い高い
推奨規模中小〜大大規模中〜大規模

NetShop社への提案

現状:MySQL → cron + シェルスクリプト → CSV → Excel

提案(Phase 1):
  MySQL → Airbyte → BigQuery(DWH) → dbt → Looker

提案(Phase 2 - 将来):
  MySQL ─────→ Airbyte → GCS(Lake)→ BigLake → dbt → Looker
  画像データ ──→                          │
  ログデータ ──→                     Iceberg format

Phase 1ではDWHで十分対応でき、将来的に非構造化データや機械学習の要件が出てきたらレイクハウスへ拡張する段階的アプローチが現実的です。

まとめ

項目ポイント
データレイクあらゆる形式を格納できるが管理が難しい
レイクハウスレイクの柔軟性 + DWHの信頼性
テーブルフォーマットDelta Lake / Iceberg がACID・スキーマ進化を提供
メダリオンBronze → Silver → Gold の3層管理
選定基準要件とフェーズに応じた段階的な導入が現実的

チェックリスト

  • データレイクとDWHの違いを説明できる
  • レイクハウスが解決する課題を理解している
  • テーブルフォーマット(Delta Lake / Iceberg)の役割を説明できる
  • メダリオンアーキテクチャの3層を理解している

次のステップへ

データ基盤のアーキテクチャパターンを理解しました。次は演習で、実際にNetShop社のデータパイプラインアーキテクチャを設計してみましょう。


推定読了時間:30分