利用SPJ视图设计全球数据仓库
1. 引言
数据仓库(DW)是一种将来自多个分布式异构数据库和其他信息源的数据进行集成的解决方案。在这种方法中,数据会提前从数据源提取并存储在一个仓库中。当针对数据仓库发出查询时,查询会在本地进行评估,而无需访问原始信息源。数据仓库广泛应用于企业的决策支持系统,因此,确保高查询性能是实现数据仓库时面临的重大挑战之一。
数据仓库可以抽象地看作是一组基于源关系定义的物化视图。当源关系发生变化时,物化视图需要进行更新。可以采用不同的维护策略,如延迟或即时更新,以及增量或重新物化的策略。具体的选择取决于特定应用对数据及时性和视图维护性能的需求。
典型的数据仓库架构通常包含三层。底层是分布式操作数据源,中间层是全局或主数据仓库,上层是本地数据仓库或数据集市。全局数据仓库负责整合分布式数据源的数据,而数据集市则包含高度聚合的数据,用于深入的分析处理,并且其更新频率可能低于全局数据仓库。
在数据仓库的实现中,选择哪些视图进行物化是一个重要决策,但目前的商业产品并未提供自动设计数据仓库的工具。这个问题的复杂性在于输入查询中可能存在相同、等价或可以相互计算的子表达式,即公共子表达式。在视图选择过程中,需要检测和利用这些公共子表达式,以显著降低视图维护成本和物化所需的空间。
本文提出了一种设计全局数据仓库的通用方法。该方法能够检测和利用查询之间的公共子表达式,并确保查询可以在所选视图上进行完整重写。同时,还提供了一组针对选择 - 投影 - 连接(SPJ)查询的转换规则,这些规则从输入查询开始,生成用于物化的替代视图选择,并实现查询在所选视图上的完整重写。这些转换规则是合理、最小且完整的,能够非冗余地生成所有“重要”的视图选择。
超级会员免费看
订阅专栏 解锁全文
12

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



