Microsoft Fabric では、目的やユースケースに応じて選べる 3 つの主要なストレージアーキテクチャが提供されています。この記事では、Microsoft が公開したドキュメントを参考にしてそれぞれの違いと選定ポイントを比較表形式で記載しました。
アーキテクチャ別の比較表
項目 | Lakehouse | Warehouse | Eventhouse |
---|---|---|---|
データ容量 | 無制限 | 無制限 | 無制限 |
対応データ形式 | 非構造化、半構造化、構造化 | 構造化、半構造化(JSON) | 非構造化、半構造化、構造化 |
主な開発スキル | Spark (PySpark, Spark SQL, Scala, R) | SQL | KQL, SQL, ノーコード |
データ構造 | フォルダ、ファイル、DB、テーブル | スキーマ、DB、テーブル | スキーマ、DB、テーブル |
読み取り操作 | Spark, T-SQL | T-SQL, Spark* | KQL, T-SQL, Spark |
書き込み操作 | Spark (Scala, PySpark など) | T-SQL | KQL, Spark, コネクタ経由 |
複数テーブルトランザクション | ❌ | ✅ | ✅(インジェスト時) |
開発インターフェース | Sparkノートブック、Sparkジョブ | SQLスクリプト | KQLクエリセット、KQL DB |
セキュリティ | RLS, テーブルレベル(T-SQL), CLS** | オブジェクト レベル(table, view, function, stored procedure), RLS, CLS, DDL/DML, 動的データ・マスキング | RLS |
ショートカットアクセス | ✅ | ✅(SQL分析エンドポイント経由) | ✅ |
ショートカットのソース | ✅(ファイルとテーブル) | ✅(テーブル) | ✅ |
クエリ横断 | ✅ | ✅ | ✅ |
高度な分析 | 並列処理、フォールトトレランス | 同左 | 時系列、ジオ空間、全文検索など |
対応フォーマット | PARQUET, CSV, JSON, AVRO, Hive形式 | 同左 | JSONや全文対応のインデックス機能 |
取り込み遅延 | 即時クエリ可能 | 即時クエリ可能 | キューイング・ストリーミング数秒レイテンシ |
* Spark では、ショートカットを使用したテーブルからの読み取りがサポートされています。ビュー、ストアド プロシージャ、関数などのアクセスはまだサポートされていません。
** T-SQL を使用して、SQL 分析エンドポイントを介して Lakehouse で利用できる列レベルのセキュリティ。
ユースケース別の選定ガイド
- Lakehouse:データサイエンス、機械学習、様々な形式のデータを統合分析したいとき
- Warehouse:高パフォーマンスなBI、業務データ分析、トランザクション重視
- Eventhouse:リアルタイムデータ、ログ分析、アプリケーションからのストリーミング処理向き