SSAS 教程:什么是 SSAS Cube, Archi结构与类型

⚡ 智能摘要

SSAS,即 SQL Server Analysis Services,是 Microsoft的 OLAP 服务器和分析引擎,用于跨维度对海量数据进行切片。它提供多维和表格两种版本,并从关系数据库管理系统 (RDBMS) 中提取聚合数据,构建多维数据集和模型以进行快速分析。

  • 🧊 核心宗旨: SSAS 是一个多维 OLAP 服务器,可让您对大量数据进行切片和切块处理。
  • 🏛️ 三个层级: 关系数据库管理系统 (RDBMS) 为 SSAS 多维数据集提供数据,客户端通过仪表板和门户读取这些数据。
  • 🧱 关键条款: 数据源、多维数据集、维度、级别、事实表、度量和模式定义了模型。
  • 🔀 两种变体: 多维数据使用多维数据集和 MDX;表格数据使用相关表和 DAX。
  • 💾 存储模式: SSAS 支持 MOLAP、HOLAP 和 ROLAP 架构。
  • ️ 表格与多维: 表格模型更简单,且内存可用;多维模型更适合星型模式。
  • 🔐 企业适用性: 行级安全性、分区和 OLAP 功能使其成为企业级 BI 引擎。

SSAS教程 SQL Server Analysis Services

什么是 SSAS?

SQL Server 分析服务 (SSAS) 是一个多维 OLAP 服务器,也是一个分析引擎,可以对海量数据进行切片和切块处理。它是以下组件的一部分: Microsoft SQL Server 它有助于使用各种维度进行分析。它有两种变体:多维和表格。SSAS 的全称是 SQL Server Analysis Services。

ArchiSSAS 结构

首先,我们将学习 SSAS 架构。

SSAS 三层架构

SQL Server Analysis Services 的架构视图基于三层架构,该架构包括:

  1. 关系数据库管理系统 (RDBMS):借助 RDBMS,可以从 Excel、数据库和文本等不同来源提取数据。 ETL工具 进入 RDBMS。
  2. SSAS:使用分析服务项目将来自关系数据库管理系统 (RDBMS) 的聚合数据推送到 SSAS 多维数据集。SSAS 多维数据集创建了一个分析数据库,该数据库可用于多种用途。
  3. 客户:客户可以使用仪表盘、记分卡、门户网站等访问数据。

SSAS 的历史

现在我们将回顾一下SSAS的发展历程:

  • MSOLAP 功能最初包含在 SQL Server 7.0 中。这项技术后来从一家名为 Panorama 的以色列公司购买。
  • 由于它被包含在 SQL Server 中,因此很快成为使用最广泛的 OLAP 引擎之一。
  • SSAS 经过彻底改造,发布了 MS SQL Server 2005.
  • 该版本还提供了使用 Scope 语句的“子立方体”功能,从而增强了 SSAS 立方体的功能。
  • SSAS 2008 R2 和 2012 版本主要关注查询性能和可扩展性。
  • In Microsoft Excel 2010 中出现了一个名为 PowerPivot 的加载项,它使用带有新 xVelocity 引擎的本地 Analysis Services 实例来提高查询性能。

重要的 SSAS 术语

现在我们将学习一些SSAS的重要术语:

  • 数据源
  • 数据源视图
  • 鱼块
  • 尺寸表
  • 维度
  • 水平
  • 事实表
  • 测量
  • 架构

数据源

数据源是一种连接字符串。它建立了分析数据库和……之间的连接。 RDBMS.

数据源视图

数据源视图是数据库的逻辑模型。

鱼块

立方体是基本的存储单元。它是经过聚合处理的数据集合,以便查询能够快速返回数据。

莫拉普

MOLAP 由一个包含度量和维度的数据立方体构成,其中包括所有可能存在层次关系的成员。它是一组特定的规则,用于确定稀疏立方体中某些单元格的计算方式,以及如何在这些层次结构中汇总度量值。

尺寸表

  • 维度表包含事实的维度。
  • 它们通过外键与事实表连接。
  • 维度表是非规范化的表。
  • 维度通过其属性来展现事实的特征。
  • 对于给定的维度数量,没有固定的限制。
  • 维度包含一个或多个层级关系。

维度

维度提供了业务流程事件的上下文信息。简单来说,它包含了事实的“人”、“事”和“地点”。在销售业务流程中,对于“销售额”这一事实,其维度包括:

  • 谁——客户姓名。
  • 地点。
  • 产品名称。

换句话说,维度是观察事实信息的窗口。

水平

从单个维度中可以检索到的每种摘要类型都称为一个级别。

事实表

事实表是维度模型中最重要的一张表。它包含度量或事实以及…… 外键 例如,添加到维度表中,用于工资核算操作。

测量

每个事实表都包含一个或多个需要分析的指标。例如,图书销售信息表可以衡量图书销售数量的盈亏情况。

架构

此 数据库 数据库系统的模式是指数据库管理系统支持的一种用形式化语言描述的结构。术语“模式”指的是数据的组织方式,它如同蓝图一般,定义了数据库的构建方式。

SSAS中的模型类型

现在我们将学习 SSAS 中的模型类型。

多维数据模型

此 多维数据模型 它由一个数据立方体组成。它是一组操作,允许您使用立方体和维度成员作为坐标来查询单元格的值。它定义了决定度量值在层次结构中如何汇总,或者如何在稀疏立方体中计算特定值的规则。

表格建模

表格建模将数据组织成相互关联的表格。这些表格不被指定为“维度”或“事实”,而且由于所有相关表格都可以兼具这两种角色,因此使用表格建模可以缩短开发时间。

表格模型与多维模型

参数 表格 多维的
内存 内存缓存 基于文件的存储
结构 结构松散 刚性结构
最大的特点 数据不需要从源头移动 将数据放入星型模式中效果最佳。
模型类型 关系模型 维度模型
查询语言 DAX MDX
复杂 简易 复杂
尺寸 较小 较大

SSAS 的主要特点

SSAS 的主要特点包括:

  • 它在 API 层面上提供了向后兼容性。
  • 您可以使用 OLE DB for OLAP 作为客户端访问 API,并使用 MDX 作为查询语言。
  • SSAS 可帮助您构建 MOLAP、HOLAP 和 ROLAP 架构。
  • 它允许您以客户端-服务器模式或离线模式工作。
  • 您可以将 SSAS 工具与不同的向导和设计器一起使用。
  • 数据模型的创建和管理灵活。
  • 您可以利用全面的支持功能来定制应用程序。
  • 它提供动态结构、临时报告、共享元数据和安全功能。

SSAS 与 PowerPivot

参数 SSAS 的PowerPivot
它是什么 SSAS 多维是“企业 BI” Microsoft PowerPivot 是“自助式商业智能”
部署 已部署到 SSAS 已部署到 SharePoint
用于 Visual Studio 项目 Excel
尺寸 内存有限 容量限制为 2 GB
分区支持 支持分区 无分区
查询类型 DirectQuery 和 Vertipaq 仅允许 Vertipaq 查询
管理工具 服务器管理工​​具(例如,SSMS) Excel 和 SharePoint 管理员
安保防护 行级和动态安全性 工作簿文件安全

SSAS 的优势

SSAS 的优势包括:

  • 帮助您避免与源系统发生资源争用。
  • 它是进行数值分析的理想工具。
  • SSAS 利用产品内置的数据挖掘功能,能够发现可能并不立即显现的数据模式。
  • 它提供统一且集成的业务数据视图,用于生成报告、KPI 记分卡分析和数据挖掘。
  • SSAS 提供来自不同数据源的数据的在线分析处理 (OLAP)。
  • 它允许用户使用多种工具分析数据,包括 SSRS 和 Excel.

使用 SSAS 的缺点

  • 一旦选定路径(表格或多维),就无法迁移到其他版本,必须重新开始。
  • 您不能合并表格数据和多维数据立方体之间的数据。
  • 如果项目进行过程中需求发生变化,表格形式可能会存在风险。

使用 SSAS 的最佳实践

  • 优化立方体和测量组设计。
  • 定义有用的聚合函数。
  • 使用分区方法。
  • 编写高效的MDX代码。
  • 高效利用查询引擎缓存。
  • 当无法再向上扩展时,就应该向外扩展。

常见问题

对于更简单的内存模型和更快的 DAX 开发,请选择表格模型。对于需要复杂计算和 MDX 的大型星型模式数据仓库,请选择多维模型。两者之间的迁移意味着需要重新开始。

MOLAP 将聚合数据存储在立方体中以实现快速读取,ROLAP 将数据保留在关系源中,而 HOLAP 是一种混合型算法,它将详细信息关系数据和聚合数据存储在立方体中。

DAX 是表格模型的公式和查询语言,与 Excel 公式类似。MDX 是多维数据集的查询语言,可处理成员、元组和集合。

AI 可以建议要建模的度量和维度,根据简单的问题草拟 DAX 或 MDX 公式,并揭示人工审核可能遗漏的多维数据模式,例如意外的相关性。

事实表保存可衡量的数字和外键,而维度表保存用于筛选和分组这些数字的描述性属性,例如产品、客户或日期。

总结一下这篇文章: