データ レイクハウスとは

データ レイクハウスは、データ レイクとデータ ウェアハウスの強みを兼ね備えたデータ管理システムです。 この記事では、レイクハウスのアーキテクチャ パターンと、Azure Databricks 上でそれを使用して何ができるかについて説明します。

A diagram of the lakehouse architecture using Unity Catalog and delta tables.

データ レイクハウスの用途

データ レイクハウスでは、機械学習 (ML) やビジネス インテリジェンス (BI) などのさまざまなワークロードがばらばらのシステムで処理されるのを避けたい最新の組織のために、スケーラブルなストレージと処理機能が提供されます。 データ レイクハウスは、信頼できる唯一の情報源を確立し、冗長なコストをなくし、データの鮮度を保証するのに役立ちます。

データ レイクハウスでは、データがステージングと変換のレイヤーを通過する過程で段階的に改善、エンリッチ、調整が行われるデータ設計パターンが使われることがよくあります。 レイクハウスの各レイヤーには 1 つ以上のレイヤーを含めることができます。 このパターンはよく、メダリオン アーキテクチャと呼ばれます。 詳細については、「メダリオン レイクハウス アーキテクチャとは」を参照してください。

Databricks レイクハウスのしくみ

Databricks は Apache Spark 上に構築されています。 Apache Spark により、ストレージから切り離されたコンピューティング リソースで実行される、非常にスケーラブルなエンジンが有効になります。 詳しくは、「Azure Databricks における Apache Spark」を参照してください

Databricks Lakehouse では、次の 2 つの重要なテクノロジが使用されています。

  • Delta Lake: ACID トランザクションとスキーマ強制をサポートする最適化されたストレージ レイヤー。
  • Unity Catalog: データと AI に対するきめ細かな統一ガバナンス ソリューション。

データ インジェスト

インジェスト レイヤーでは、バッチ処理またはストリーミング処理されたさまざまな形式のデータが多様なソースから到着します。 この最初の論理レイヤーは、そのデータに未加工のまま配置される場所を提供します。 これらのファイルを Delta テーブルに変換するときに、Delta Lake のスキーマ強制機能を使用して、欠損データや想定外のデータを確認できます。 Unity Catalog を使用して、データ ガバナンス モデルと必要なデータ分離境界に沿ってテーブルを登録できます。 Unity Catalog を使うと、変換および調整されるデータの系列を追跡できるだけでなく、統合されたガバナンス モデルを適用して機密データをプライベートで安全に保つことができます。

データ処理、キュレーション、統合

検証が完了したら、データのキュレーションと改良に着手できます。 データ サイエンティストや機械学習エンジニアは、この段階で頻繁にデータを操作し、新しい機能の組み合わせまたは作成を開始して、データ クレンジングを完了します。 データのクレンジングが完了したら、特定のビジネス ニーズを満たすように設計されたテーブルに、データを統合および再構成できます。

スキーマオンライト アプローチは、Delta スキーマ進化機能と相まって、エンド ユーザーにデータを提供するダウンストリーム ロジックを再生成することなく、このレイヤーに変更を加えることを可能にします。

データ提供

最後のレイヤーでは、クリーンな改良済みデータをエンド ユーザーに提供します。 最終的なテーブルは、すべてのユース ケース向けにデータを提供できるように設計する必要があります。 統一されたガバナンス モデルによって、データ系列を信頼できる唯一の情報源に遡って追跡することができます。 さまざまなタスク用に最適化されたデータ レイアウトを使用することで、エンド ユーザーは機械学習アプリケーション、Data Engineering、ビジネス インテリジェンスおよびレポートなどに使用するデータにアクセスできます。

Delta Lake の詳細については、「Delta Lake とは」を参照してください。Unity Catalog の詳細については、「Unity Catalog とは」を参照してください。

Databricks レイクハウスの機能

Databricks 上に構築されたレイクハウスは、現代のデータ企業が現在依存しているデータ レイクとデータ ウェアハウスに代わるものです。 実行できる主なタスクには、次のようなものがあります。

  • リアルタイム データ処理: ストリーミング データをリアルタイムで処理して、即時の分析とアクションを実現します。
  • データ統合: 1 つのシステムにデータを統合して、コラボレーションを可能にし、組織にとっての信頼できる唯一の情報源を確立します。
  • スキーマ進化: 既存のデータ パイプラインを乱すことなく、時間とともに変化するビジネス ニーズに合わせて、データ スキーマを変更します。
  • データ変換: Apache Spark と Delta Lake を使用して、データの速度、スケーラビリティ、信頼性を向上させます。
  • データ分析とレポート: データ ウェアハウスのワークロード用に最適化されたエンジンを使用して、複雑な分析クエリを実行します。
  • 機械学習と AI: すべてのデータに高度な分析手法を適用します。 ML を使用してデータを改良し、他のワークロードをサポートします。
  • データのバージョン管理とデータ系列: データセットのバージョン履歴を保持し、データ系列を追跡して、データの来歴とトレーサビリティを確保します。
  • データ ガバナンス: 単一の統合システムを使用して、データへのアクセスをコントロールし、監査を実施します。
  • データ共有: チーム間でキュレーションされたデータ セット、レポート、分析情報を共有できるようにすることで、コラボレーションを支援します。
  • 運用分析: レイクハウスの監視データに機械学習を適用して、データ品質メトリック、モデル品質メトリック、ドリフトを監視します。

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

データ ウェアハウスはデータ フローをコントロールするシステムの設計ガイドラインのセットとして進化しつつ、約 30 年間にわたってビジネス インテリジェンス (BI) による意思決定を支えてきました。 エンタープライズ データ ウェアハウスは BI レポートのクエリを最適化しますが、結果を生成するには数分から数時間かかることがあります。 高頻度で変更される可能性が低いデータ用に設計されたデータ ウェアハウスは、同時に実行されるクエリ間の競合を防ぐことを目的としています。 多くのデータ ウェアハウスは独自の形式に依存しているため、機械学習のサポートが制限されることがよくあります。 Azure Databricks のデータ ウェアハウスでは、Databricks レイクハウスと Databricks SQL の機能を活用します。 詳細については、「Azure Databricks のデータ ウェアハウスとは」を参照してください。

データ ストレージの技術の進歩と、データの種類と量の急激な増加にり、データ レイクは過去 10 年間に広く使用されるようになりました。 データ レイクは、データを安価かつ効率的に格納および処理します。 データ レイクは、多くの場合、データ ウェアハウスとは対立する形で定義されます。データ ウェアハウスは、BI 分析用にクリーンで構造化されたデータを提供しますが、データ レイクはあらゆる性質のデータを任意の形式で永続的かつ安価に格納します。 多くの組織では、データ サイエンスと機械学習にデータ レイクを使用しますが、未検証の性質のため BI レポートには使用しません。

データ レイクハウスは、データ レイクとデータ ウェアハウスの強みをかけ合わせて、次のような機能を提供します。

  • 標準データ形式で格納データへのオープンな直接アクセス。
  • 機械学習とデータ サイエンス用に最適化されたインデックス作成プロトコル。
  • BI と高度な分析のための低いクエリ待機時間と高い信頼性。

最適化されたメタデータ レイヤーと、クラウド オブジェクト ストレージに標準形式で保存された検証済みデータを組み合わせることで、データ レイクハウスは、データ サイエンティストや ML エンジニアが、同じデータに基づいた BI レポートからモデルを構築することを可能にします。

次のステップ

Databricks を使ってレイクハウスを実装および運用するための原則とベスト プラクティスの詳細については、「Well-Architected データ レイクハウスの概要」を参照してください