🏠

レイクハウスアーキテクチャとは(社内勉強会での発表資料から作成)

に公開

データ基盤のアーキテクチャである、レイクハウスをデータ基盤アーキテクチャの変遷からご紹介します。 
レイクハウスはDatabricksの全体像にもなります。

はじめに

この記事は、部署内で実施している私の勉強会で使用した資料から転記したものです。
記事用に少し修正しましたが、もともと口頭ベースでの説明に用いていたもののため、説明が不足・不自然な箇所があるかもしれません。ご了承ください。

このスライド2つを中心に以下をご説明します。

データ基盤アーキテクチャの変遷

そもそもなぜデータ基盤が登場したのか

データ基盤が必要となった大きな理由:データサイロ
たくさんのアプリケーションが乱立し、アプリとデータはばらばらに

そこで登場したのがデータ基盤(データウェアハウス)

第1世代:エンタープライズデータウェアハウス

中央集権的なデータ基盤で、20〜30テーブルくらいのデータマートから始まり、企業のデータドリブン経営、データによる意思決定を支援した
データ量や種類が多くなければ、今でもこのアーキテクチャが活躍

特徴:一箇所にデータを集めて統合データウェアハウスを作る

データウェアハウスのアーキテクチャ

[構造化データ] → [ETL] → [データウェアハウス] → [BI/User]
       ↓                    ↓              ↓
   事前定義が必要         高速な分析      経営判断
                       構造化データ      レポート

データフロー

  • 構造化データのみを扱う
  • 事前にスキーマ定義が必要(スキーマオンライト)
  • ETLでデータを変換し、データウェアハウスに格納

データウェアハウスの利点

1. MPP(Massive Parallel Processing)による大量データ処理

         Primary Node
             |
    +--------+---------+
    |        |         |
 Worker1  Worker2  Worker3
   (分散)   (分散)   (分散)
    |        |         |
   処理      処理      処理
  • 複数のノードで分散処理を行い、結果をPrimaryノードで集計
  • 大量のデータを並列処理することで高速化を実現
  • イメージ:1000個のデータを取得したい時、データ100個取るクエリを10個のタスクに分ける

2. 列指向ストレージによる最適化

例えば、以下のようなテーブルデータから、1990年以前に生まれている人を検索する場合

ID 名前 誕生年
1 田中 1984
2 山田 1975
3 木村 1991
4 鈴木 1998
5 高橋 1968
6 佐藤 2001
7 1991

従来の行指向データベースだと、全件検索が必要になり非効率。
だが、列指向データベースだと誕生年列のみにアクセスして効率的に検索することができる。

行指向は、レコードの追加は簡単というメリットはある。

データウェアハウスの課題

コスト最適化の難しさ補足

  • ストレージとコンピュートが結合されているため、片方だけをスケールできない
  • プロプライエタリなシステムのため、ベンダーロックインが発生

データレイクの登場

利点

  • 構造化と非構造化データどちらも扱える
  • クラウドサービス
    • クラウドサービス間で連携し、データのコピーができる
    • コストが従量課金で最適化可能
  • ストレージとコンピュートを分離でき、独自でスケール可能に
  • ストレージが低コスト

課題

データレイクの性能では、高いレスポンスが求められるデータ可視化(BI)が難しい 
NTTD:いまさら聞けない!「レイクハウス」とDWH、データレイクの違いとは

メタデータ管理やバージョン管理ができない

データウェアハウス + データレイクの運用

[BI/User]  [Data Science]  [Machine Learning]
    ↓           ↓               ↓
    │           │      データをコピーして  │
    │           │      必要なサービスを  │
    │           │          活用        │
    │           │                     │
   [DWH] ←──── [ETL] ←──── [データレイク]
    │                           (S3, ADLS, GCS)
ストレージとコンピュートが                │
   独自にスケール可能               [構造化データ]

使い分けパターン

  • データ可視化(BI): データウェアハウス
  • 機械学習: データレイク(非構造化データが使いたいため)

課題

  • あらゆるデータをデータレイクに入れてしまい、データが見つけづらくなった
  • データの信頼性
    • データレイクとウェアハウス間でデータの一貫性が保てなくなる
  • ETL処理が複雑
  • コスト
    • データをコピーする分コストがかさむ
    • データウェアハウスとデータレイクの行き来のETLの開発コスト

レイクハウス

レイクハウスをシンプルに言うと
置くだけじゃない、管理できるデータレイク
赤煉瓦倉庫勉強会第2回「レイクハウスって結局何なのっていいました?じゃあ真のレイクハウスをみせてやりますよ!」スライド61 より引用

「データウェアハウス」+「データレイク」なデータ基盤アーキテクチャ

  • DWHの強み
    • データ管理機能を備える
  • データレイクの強み
    • 低コストなストレージがベース
    • 非構造化データが扱える

↓ 詳細な技術要素

レイクハウスクイズ

レイクハウスアーキテクチャとは何ですか?(AIに作らせた問題です)

A) データベースの一種 
B) データレイクとデータウェアハウスの統合アプローチ 
C) クラウドストレージの一形態

答え

(B)

解説

A) データベースの一種

レイクハウスは単なるデータベースではありません。 
データベースは通常、構造化データの格納と管理に特化したシステムですが、レイクハウスは、構造化データ(通常はデータウェアハウスで扱う)と非構造化データ(データレイクで扱う)を同時に扱います。

C) クラウドストレージの一形態

レイクハウスアーキテクチャは、クラウドストレージを利用することができますが、 「ガバナンス」「データ管理」「データの取り出し」「分析のプロセス」など、より広範な戦略や設計思想を含んでいます。 
レイクハウスは、データを効率的に管理し、迅速に分析できる環境を提供するための方法論です。 
単なるストレージサービスを超えています。

感想

和田卓人さんの言葉 「技術は発散と収束を繰り返している」 を実感しました。

参考

Discussion