比较 SSAS 表格和多维模型
介绍:
在使用 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。
在处理过程中(将数据从数据源加载到数据库),表格与多维数据相比具有几个优点。
其中一个优点是,在表格模型中处理一个表不会影响其他表;而在多维模型中,处理一个维度会影响其他维度,从而减慢处理操作。
结论
一旦在表格/多维模型中开发模型,就无法将模型从表格迁移到多维或反之亦然。因此,了解这两种模型之间的差异、项目要求和数据集是有意义的,这样才能做出一个你以后不会后悔的决定。
一般建议是,如果您已经创建了多维模型,请继续使用它。对于新项目,请从表格开始,因为学习曲线不太陡峭,并且它可以帮助您使用开发人员已经知道的概念(如关系、表、列等)构建语义模型。
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~