数据仓库的实现有哪些?


数据仓库包含大量的数据。OLAP 服务器要求决策支持查询在几秒钟内得到确认。因此,数据仓库系统必须提供高效的立方体计算技术、访问技术和查询处理技术。

数据立方体的有效计算

多维数据分析的核心是跨多个维度集合对聚合进行有效计算。在 SQL 术语中,这些聚合被称为分组依据。每个分组依据可以用一个立方体表示,其中分组依据的集合形成一个立方体晶格,定义了一个数据立方体。

给定一个基立方体,有三种数据立方体物化的选择 -

  • **不进行物化** - 它不预先计算任何“非基”立方体。这会导致动态计算代价高昂的多维聚合,这可能非常慢。

  • **完全物化** - 它可以预先计算所有立方体。计算出的立方体晶格被称为完整立方体。这种选择通常需要大量的内存空间来存储所有预先计算的立方体。

  • **部分物化** - 它可以选择性地计算整个可能的立方体集合的适当子集。或者,它可以计算立方体的子集,其中仅包含满足某些用户指定条件的单元格,包括每个单元格的元组计数是否遵循某个阈值。

索引 OLAP 数据

它可以支持高效的数据访问,一些数据仓库系统提供索引结构和物化视图(使用立方体)。位图索引方法在 OLAP 产品中很有名,因为它能够在数据立方体中进行快速搜索。位图索引是记录 ID (RID) 列表的替代表示。

在给定属性的位图索引中,每个属性域中的每个值 v 都有一个不同的位向量 Bv。如果给定属性的域包含 n 个值,则位图索引中的每个条目都需要 n 位(即,有 n 个位向量)。如果属性在数据表中给定行的值是 v,则定义该值的位在位图索引的对应行中设置为 1。该行的所有其他位都设置为 0。

OLAP 查询的有效处理

物化立方体和构建 OLAP 索引结构的目标是加快数据立方体中的查询处理速度。

  • **确定应在可用立方体上执行哪些操作** - 这包括将查询中表示的一些选择、投影、汇总(分组依据)和向下钻取操作转换为相应的 SQL 和/或 OLAP 操作。例如,切片和切块数据立方体可以对应于物化立方体上的选择和投影操作。

  • **确定应将相关操作应用于哪些物化立方体** - 这包括识别一些可能用于回答查询的物化立方体,使用立方体之间“支配”关系的知识修剪以下集合,估计使用剩余物化立方体和选择成本最低的立方体。

更新于: 2021年11月22日

2K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告