Microsoft Fabricのウェアハウスとレイクハウスの違いとは?

技術者が語るMicrosoft Azure

Microsoft Fabric(以下Fabric)は効率的にデータを管理・分析し、組織全体で一貫性のあるデータ運用を実現するための柔軟なプラットフォームですが、機能が豊富であるが故に、使用する機能を選択する場面があります。

本ブログでは、Fabricにあるデータ格納先「ウェアハウス」と「レイクハウス」の2つについて、どちらを選べばよいのか悩んだ際に選択基準となる特長を説明します。

1.はじめに

「ウェアハウス」と「レイクハウス」は、ともにデータを格納することができるアイテムです。
では、どのように使い分ければ良いでしょうか。
次章以降でそれぞれの概要をご紹介します。

※今回はもう一つの格納先であるKQLデータベースについては記載していません。

2.ウェアハウスとは

ウェアハウスは構造化データ(行と列のテーブル形式)の保存とクエリ実行に特化したデータストレージです。
Power BIなどのBIツールと連携し、レポートやダッシュボードを作成するために最適化されたデータを格納する際に使用されるなど、クエリを高速に処理することに優れたデータベースシステムです。
テーブルに格納されたデータは、Transact-SQLによるINSERT、UPDATE、DELETE文を使用した処理が可能です。
ただしMERGE文は使用できないという制限があります。
ウェアハウスにデータを連携する際には、Transact-SQL以外にも、Fabricのアイテムであるパイプライン、データフローを使用することができます。

3.レイクハウスとは

ウェアハウスが構造化データのみ保存可能なのに対して、レイクハウスでは構造化データだけではなく、半構造化データ(JSON、XML、ログファイル)、非構造化データ(画像、動画)を含むさまざまな形式のデータを保存することができます。
レイクハウスは多様なデータ形式に対応できるため、ビッグデータの処理に適しています。
SQL分析エンドポイントからはデータを参照するSQLを実行することができますが、DML文(INSERT、UPDATE、DELETE)の完全サポートはされていません。
そのため、テーブルに格納されたデータをSQLで更新することはできません。
レイクハウスでデータを加工/更新する場合は、一般的にノートブックでPythonを利用し、データフレームを用いて処理を行います。
PythonではINSERT、UPDATE、DELETE、MERGE文の使用が可能です。
また、ウェアハウスと同様に、データの連携にはFabricのアイテムであるパイプラインやデータフローを使用することができます。

4.メダリオンアーキテクチャとの関係

メダリオンアーキテクチャとは、データを段階的に管理・処理するためのアプローチです。
段階を三層(ブロンズ層、シルバー層、ゴールド層)で表現し、各階層には以下の特長があります。

概要
ブロンズ層 生データ(データソースからそのまま取り込まれクレンジングや変換を行っていないデータ)を保存。
非公開で履歴保管し、データレイクとも呼ばれる。
シルバー層 ブロンズ層のデータをクレンジングおよび変換した後のデータを保存。
汎用的なデータを格納し、DWHとも呼ばれる。
ゴールド層 シルバー層からさらに加工された高品質で信頼性の高いデータを保存。
データマートとも呼ばれ、具体的なビジネスニーズに応じた集計や計算が行われる。

このアーキテクチャを採用してデータを管理する場合、レイクハウス、ウェアハウスはどこで使用するのが最適か、以下の表で説明します。

データの格納場所
ブロンズ層 レイクハウス(ファイル形式、またはテーブル形式)
シルバー層 レイクハウス(テーブル形式)
ゴールド層 ウェアハウス

5.特長の整理

ここまでの説明をふまえ、ウェアハウスとレイクハウスの特長をまとめると以下のようになります。

ウェアハウス レイクハウス
保存可能なデータ 構造化 構造化、半構造化、非構造化
データ参照で使用する言語 SQL Python、SQL
書き込み可能なアイテム、言語 Transact-SQL
パイプライン
データフロー
Python(ノートブック)
パイプライン
データフロー
メダリオンアーキテクチャでの使用(推奨) ゴールド層 ブロンズ層、シルバー層

6.おわりに

こうして整理してみると、ウェアハウスは、定型レポート、ダッシュボード作成、データの高い整合性と信頼性が求められる業務アプリケーションに、レイクハウスは、データサイエンス、機械学習、ビッグデータ分析に向いていると言えるでしょう。

今回紹介した情報がMicrosoft Fabricをご利用になる際に、少しでもお役に立てば幸いです。

システムエグゼでは、データ分析プラットフォーム構築サービスを展開しています。
企業向けのSaaS型オールインワン分析サービスであるMicrosoft Fabricを含めたAzureの導入をご検討の際には、システムエグゼまでお気軽にご相談ください。