动态数据仓库设计:从理论到实践
在数据仓库(DW)的设计中,动态设计问题是一个关键挑战,它涉及到如何在满足空间限制的前提下,优化查询评估和视图维护的成本。本文将深入探讨动态数据仓库设计问题,包括问题的定义、建模为状态空间搜索问题的方法,以及相关的算法。
1. 问题定义
动态数据仓库设计问题的核心是在已有视图的基础上,添加新的视图以满足新查询的需求,同时最小化操作成本。具体问题定义如下:
- 输入 :
- 一组基于基础关系集 $R$ 的旧视图 $V_0$。
- 一组基于 $R$ 的新查询 $Q$。
- 评估查询成本的函数 $E$、维护视图成本的函数 $M$ 和计算物化视图空间的函数 $S$。
- 用于物化的额外空间常量 $t$。
- 常量 $c$,表示查询评估成本与视图维护成本的相对重要性。
- 输出 :
- 一组基于 $R$ 的新视图 $V$,满足以下条件:
- $S(V) \leq t$,即新视图的存储空间不超过分配的额外空间。
- 存在一组对查询 $Q$ 在 $V_0 \cup V$ 上的完整重写 $Q_V$。
- $T(Q_V; V) = E(Q_V) + cM(V)$ 最小,其中 $T$ 表示操作成本。
2. 状态空间搜索问题建模
为了解决动态数据仓库设计问题,我们将其建模为一个状态空间搜索问题。
2.1 多查询 AND/OR 有向无环图(DAG)
查询 DAG 是一个有根的有向无环图,用于表示查询的关系代数表达式。然而,
超级会员免费看
订阅专栏 解锁全文
1352

被折叠的 条评论
为什么被折叠?



