# マテリアライズドビューとデータキューブ
## 定義
マテリアライズドビュー(materialized view)とは、SQL クエリの結果をディスク上に実際にコピーとして書き出したテーブル状のオブジェクトである。仮想ビュー(virtual view)がクエリを書くためのショートカット(読み取り時にその場で元クエリへ展開される)にすぎないのに対し、マテリアライズドビューは書き込み時点の結果を保持するため、元データが変化するたびに更新が必要になる。更新は書き込みコストを増やす代わりに、同じクエリを繰り返し使うワークロードでの読み取り性能を改善する。データウェアハウスでよく使われる特化形が *マテリアライズド集約(materialized aggregate)* であり、`COUNT`・`SUM`・`AVG`・`MIN`・`MAX` のような集約関数の結果をあらかじめキャッシュしておく。*データキューブ(data cube)*(*OLAP キューブ*とも呼ぶ)は、複数の次元(例: 日付・製品)ごとに集約値を格子状に事前計算したものである。2次元のデータキューブは日付×製品のような表として可視化でき、各セルはその日付・製品の組み合わせにおける集約値(例: net_price の合計)を保持する。実務では5次元(日付・製品・店舗・プロモーション・顧客)に及ぶこともある。データキューブの利点は特定クエリ(例: 「昨日の店舗別売上合計」)を事前計算済みの値の参照だけで即答できることだが、欠点は生データが持つ柔軟性を失うことである(例えば価格が次元に含まれていなければ「100ドル超の商品の売上比率」は計算できない)。そのため多くのデータウェアハウスは可能な限り生データを保持し、データキューブは特定クエリの高速化手段としてのみ用いる。(Source: [[@2026__OReilly__Designing Data-Intensive Applications 2E - Chapter 4 Storage and Retrieval]] "Materialized Views and Data Cubes")
## 横断的知見
- 現時点では単一ソースからの導入であるため、複数ソースを突き合わせた横断的知見は未蓄積である。[[マテリアライズドメトリクス]]は Prometheus のカウンタ系列をスクレイプ時点で集約するという、本概念と同じ「集約を事前計算してディスク I/O・クエリ計算を減らす」動機を共有するが、対象がリレーショナルデータのSQL集約ではなく単調増加カウンタの時系列である点で技術的な解法(ジグザグカウンタによるリセット処理)が大きく異なる。両者は「マテリアライズドな事前集約」という設計思想を共有しつつ、データモデル(リレーショナル vs 時系列カウンタ)の違いによって全く異なる実装に帰着する例として、今後 SQL 系のマテリアライズドビュー保守手法(Materialize等)のソースが加わった際に対比を追記する。(Source: [[@2026__OReilly__Designing Data-Intensive Applications 2E - Chapter 4 Storage and Retrieval]])
## 未解決の問い
- データキューブの次元数が増えるとセル数は指数的に増大する(次元の呪い)。実務ではどこまでの次元数・カーディナリティで事前計算が現実的か。
- マテリアライズドビューの自動更新(incremental maintenance)は、Materialize のような専用システムとデータウェアハウス内蔵機能でどう設計が異なるか。DDIA本章は言及のみで詳細は12章(ストリーム処理)に譲っている。
- データキューブと[[列指向OLAPデータベース]]のZonemap/ビットマップ索引は、いずれも「クエリ時の生データスキャンを避ける」という目的を共有するが、事前計算(データキューブ)と実行時プルーニング(Zonemap)のどちらを優先すべきかを決める基準は何か。
## 関連
- ソース: [[@2026__OReilly__Designing Data-Intensive Applications 2E - Chapter 4 Storage and Retrieval]]
- 概念: [[列指向OLAPデータベース]] / [[マテリアライズドメトリクス]] / [[Zonemap]]
## 出典
- [[@2026__OReilly__Designing Data-Intensive Applications 2E - Chapter 4 Storage and Retrieval]](§Materialized Views and Data Cubes — マテリアライズドビューとデータキューブの定義・利点欠点)