SSAS 教程:什么是 SSAS Cube、架构和类型

什么是 SSAS?

SQL Server Analysis Services (SSAS) 是一个多维 OLAP 服务器,也是一个分析引擎,可以让你切片和切块大量数据。它是 Microsoft SQL Server 的一部分,有助于通过各种维度进行分析。它有两种变体:多维和表格。SSAS 的完整形式是 SQL Server Analysis Services。

SSAS 架构

在此 SSAS 教程中,我们首先学习 SSAS 架构

Architecture of SSAS

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

  1. RDBMS:通过 ETL 工具 可以将来自 Excel、数据库、文本等不同来源的数据提取到 RDBMS 中。
  2. SSAS:通过分析服务项目将 RDBMS 的聚合数据推送到 SSAS Cube。SSAS Cube 将创建一个分析数据库,一旦分析数据库准备就绪,就可以用于多种目的。
  3. 客户端:客户端可以通过仪表板、记分卡、门户等访问数据。

SSAS 历史

现在,在此 SSAS 教程中,我们将回顾 SSAS 的历史

  • MSOLAP 功能首次包含在 SQL Server 7.0 中。这项技术后来是从一家名为 Panorama 的以色列公司购买的。
  • 由于被包含在 SQL Server 中,它很快成为最常用的 OLAP 引擎。
  • 随着 MS-SQL Server 2005 的发布,SSAS 得到了彻底的翻新。
  • 最新版本还提供了“子立方”功能,并带有 Scope 语句。这增加了 SSAS Cube 的功能。
  • SSAS 2008R2 和 2012 版本主要关注查询性能和可扩展性。
  • Microsoft Excel 2010 中包含了一个名为 PowerPivot 的加载项,它使用 Analysis Service 的本地实例和新的 XVelocity 引擎,提高了查询性能。

重要的 SSAS 术语

现在,在此 SSAS 表格模型教程中,我们将学习一些重要的 SSAS 术语。

  • 数据源
  • 数据源视图
  • Cube
  • 维度表
  • 维度
  • 级别
  • 事实表
  • 度量
  • 模式

数据源

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

数据源视图

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

Cube

Cube 是存储的基本单元。它是一个数据集合,已经过聚合,可以使查询快速返回数据。

MOLAP

MOLAP 由包含度量和维度的立方体数据组成。它包含所有可能存在层级关系的所有成员。

它是一套特定的规则,帮助您确定稀疏立方体中某些单元的计算方式以及度量值在这些层级内的汇总方式。

维度表

  • 维度表包含事实的维度。
  • 它们通过外键连接到事实表。
  • 维度表是反规范化表。
  • 维度通过其属性提供事实的特征。
  • 不对给定数量的维度设置限制。
  • 维度包含一个或多个层级关系。

维度

维度为业务流程事件提供了背景。简单来说,它们给出了事实的“谁、什么、在哪里”。在销售业务流程中,对于事实销售额,维度将是“谁”客户名称。

  • 地点 - Location
  • 内容 - Product Name
  • 换句话说,您可以说维度是查看事实信息的一个窗口。

级别

可以从单个维度检索的每种类型的摘要称为标签。

事实表

事实表是维度模型中最重要的表。事实表包含度量/事实以及指向维度表(例如,工资单操作)的外键

度量

每个事实表包含一个或多个应进行分析的表。例如,图书销售信息表。它可以是已售图书数量的利润或亏损。

模式

数据库系统 的 数据库 模式及其结构用形式化语言描述。它支持数据库管理系统。“模式”一词指数据组织方式,是数据库构造方式的蓝图。

SSAS 中的模型类型

现在,在此 SSAS Cube 教程中,我们将学习 SSAS 模型类型。

多维数据模型

多维数据模型,由数据立方体组成。它是一组操作,允许您使用立方体和维度成员作为坐标来查询单元格的值。

它定义了决定度量值如何在层级结构中汇总或稀疏立方体中如何计算特定值的规则。

表格建模

表格建模将数据组织到相关表中。表未被指定为“维度”或“事实”,由于所有相关表都可以同时充当这两种角色,因此表格模型的开发时间较短。

表格与多维模型

参数 表格 多维
内存 内存缓存 基于文件的存储
结构体 松散结构 严格结构
最佳功能 数据无需从源移动 当数据放入星型模式时,效果最佳。
模型类型 关系模型 维度模型
DAX MDX
复杂性 简单 复杂
大小 较小 较大

SSAS 的关键特性

SSAS 的基本功能包括:

  • 它在 API 级别提供向后兼容性。
  • 您可以使用 OLEDB for OLAP 作为客户端访问 API,并使用 MDX 作为查询语言。
  • SSAS 帮助您构建 MOLAP、HOLAP 和 ROLAP 架构。
  • 它允许您在客户端-服务器模式或离线模式下工作。
  • 您可以使用带有各种向导和设计器的 SSAS 工具。
  • 数据模型的创建和管理非常灵活。
  • 通过广泛的支持定制应用程序。
  • 提供动态结构、临时报表、共享元数据和安全功能。

SSAS 与 PowerPivot

参数 SSAS PowerPivot
是什么 SSAS 多维是“企业 BI” Microsoft PowerPivot 是“自助 BI”
部署 部署到 SSAS 它部署到 SharePoint。
用途 Visual Studio 项目 Excel
大小 大小受内存限制。 容量限制为 2 GB。
分区支持 支持分区。 无分区
查询类型 DirectQuery 和
Vertipaq
仅允许 Vertipaq。
查询
管理工具 服务器管理工具(例如,SSMS) Excel 和 SharePoint “管理员”
安全性 行级别和动态安全性 工作簿文件安全性

SSAS 的优点

SSAS 的优点/好处是:

  • 帮助您避免与源系统的资源争用。
  • 它是数值分析的理想工具。
  • SSAS 能够发现使用产品内置的数据挖掘功能可能无法立即显现的数据模式。
  • 它提供了所有业务数据的统一集成视图:报表、关键绩效指标 (KPI) 记分卡分析、数据挖掘。
  • SSAS 提供来自不同数据源的在线分析处理 (OLAP)。
  • 它允许用户使用 SSRS 和 Excel 等多种工具分析数据。

使用 SSAS 的缺点

  • 一旦选择了路径(表格或多维),就无法在不重新开始的情况下迁移到另一个版本。
  • 不允许在表格和多维 Cube 之间“合并”数据。
  • 如果在项目进行到一半时需求发生变化,表格模型可能会存在风险。

使用 SSAS 的最佳实践

  • 优化 Cube 和度量组设计。
  • 您应该定义有用的聚合。
  • 使用分区方法。
  • 编写高效的 MDX。
  • 有效利用查询引擎缓存。
  • 当您无法向上扩展时,请横向扩展。