比较 SSAS 表格和多维模型

发布日期:2026-07-11 11:42:03   来源 : 杭州电子商务研究院    浏览量 :4
杭州电子商务研究院 发布日期:2026-07-11 11:42:03  
4

介绍:

在使用 SQL Services Analysis Services (SSAS) 启动任何商业智能 (BI) 项目之前,您需要解决 BI 语义层是否使用表格或多维模型的问题。虽然表格模型是两种技术中最新的,但 Microsoft 表示表格并不是多维模型的替代品。

提供两种不同的技术来创建相同的 BI 层会给所有不同的开发人员带来很多困惑。选择使用表格模型还是多维模型是一个多方面的决定,尤其是当您需要在项目需求尚处于起步阶段时做出此决定时。本指南将帮助您解开困惑。

话虽如此,多维模型背后的技术比表格模型更成熟,并且提供的功能更多。因此,如果您需要多维模型提供的任何功能,而表格模型不需要,例如 Writeback(有关更多功能,请参阅 Microsoft 文档),您知道该选择哪一个。

SSAS 简史

多维模型是 SSAS 首次推出时自带的事实模型。该模型满足了企业 BI 的传统需求,其中 IT 团队为业务用户创建语义模型和报告。

随着内存技术和列式数据库的兴起,微软宣布使用 SSAS 2012 进行表格建模,其中包括 xVelocity (VertiPaq) 引擎,该引擎最初与 PowerPivot 一起使用,以满足自助式 BI 用户支持者的需求。因此,表格背后的引擎也用于 PowerPivot 和 Power BI。

支持的数据源

业务用户通常从 Excel 和平面文件等数据源创建报告。因此,表格模型(针对自助式 BI 用户)自然应该从各种数据源导入数据,从关系表到平面文件;而多维模型(满足企业 BI 的需求)只能从关系数据库导入。

跨技术的模型迁移

由于 VertiPaq 引擎既可用于表格,也可用于 PowerPivot,因此业务用户使用 PowerPivot 创建的任何自助服务报告都可以轻松迁移到表格。因此,如果报告很受欢迎,则可以将模型导入表格以满足整个组织的需求。而在表格或 PowerPivot 中创建的报告无法迁移到多维模型。表格背后使用的引擎使其能够跨越自助服务 BI 用户和企业用户。

硬件考虑

由于表格模型采用的是内存技术,所以硬件规格和多维模型不同,多维模型需要大量的高速磁盘。

对于表格,硬盘并不重要。您需要足够的 RAM,因为整个数据库都位于内存中。如果您的数据库大小达到 TB 级,无法放入服务器内存中,唯一的选择就是进行多维建模。除了 RAM,CPU 速度也是表格的一个非常重要的考虑因素。

使用的语言

在表格模型中,您可以在 DAX(数据分析表达式)中创建业务逻辑,而在多维模型中,您可以在 MDX(多维表达式)中创建计算。

但是,由于需要支持 Excel 和 Power BI 等报告客户端的向后兼容性,两种模型都支持 DAX 和 MDX 查询。

DAX 非常容易学习,它的功能与 Excel 非常相似,是专为使用 Excel 的商业用户设计的。

数据访问层的比较

对于多维模型,您可以使用 MOLAP 存储(其中数据和聚合存储在 Analysis Services 实例中)。此存储方法的优点是,由于所有聚合都已创建,因此查询运行速度更快。但是,数据已过时,用户只能查看截至上次刷新日期的数据。

为了解决这个问题,用户可以使用 ROLAP 模式(其中 MDX 查询由 Analysis Services 转换为 SQL 查询)从底层 SQL 数据库获取数据。ROLAP 确保用户获得实时或近乎实时的数据。ROLAP 要求对关系数据库进行性能优化,以便更快地获取结果。

MOLAP 的表格等效项是内存存储,其中所有数据都存储在 RAM 中,从而提供更快的查询。而 ROLAP 的表格等效项是 DirectQuery。因此,您可以在表格中获得类似的功能,以实现与多维模型相同的功能。

对于 BI 分析,大多数查询都涉及某种聚合。由于表格模型使用列存储技术来存储数据,因此它可以比使用行存储格式的多维模型实现更好的压缩率。

表现

某些操作(例如不同计数,老实说,这对于多维模型来说是一个令人头痛的问题)在表格模型中表现得非常好。

而且,如果查询需要返回详细的行(直到最低级别的聚合),表格的性能要比其对应项好得多。

但是,显然,为了从表格模型中获得最佳性能,您需要使用 DAX 而不是 MDX 来查询模型。DAX 是表格的默认查询语言,Microsoft 建议在使用表格模型查询时使用 DAX。

在处理过程中(将数据从数据源加载到数据库),表格与多维数据相比具有几个优点。

其中一个优点是,在表格模型中处理一个表不会影响其他表;而在多维模型中,处理一个维度会影响其他维度,从而减慢处理操作。

结论

一旦在表格/多维模型中开发模型,就无法将模型从表格迁移到多维或反之亦然。因此,了解这两种模型之间的差异、项目要求和数据集是有意义的,这样才能做出一个你以后不会后悔的决定。

一般建议是,如果您已经创建了多维模型,请继续使用它。对于新项目,请从表格开始,因为学习曲线不太陡峭,并且它可以帮助您使用开发人员已经知道的概念(如关系、表、列等)构建语义模型。

以上内容来自杭州电子商务研究院推送
关注
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据