微软商业智能实战八:浅析SSAS技术

随着国内ERP软件的不断普及,大量的公司已经积累了很多的数据。如何从数据中提取、挖掘对业务发展有价值的信息,为企业业务提供决策依据,推动精益化化的企业管理。商业分析师通常会使用各种数据分析工具,例如平常大家经常用的数据分析工具Excel、Tableau和PowerBI等。OLAP引擎技术就经常被用于对接这类数据分析工具,向这些数据分析工具提供数据支撑。

一、为什么SSAS如此流行?

传统的OLAP引擎有很多,Oracle、SAP、IBM和Microsoft均有自己研发的OLAP引擎技术,据小黎子了解的OLAP引擎技术,Microsoft SQL Server Analysis Services(SSAS)也是世界上应用最广泛的OLAP引擎之一,众多各位耳熟能详的大型企业均是SSAS的深度用户。SSAS的成功与它的一些功能特性密不可分:

与Excel深度集成

Excel作为全世界最广泛使用的商业分析工具,SSAS能与Excel深度集成。用户可以使用Excel对接SSAS多维数据集,灵活快捷的对数据进行切片、筛选、上卷和下钻等操作,深入分析数据,直到他找到所需的商业洞察。

支持MDX语言

SSAS可以使用MDX(多维表达式)支持高级的商业智能需求,例如常用的YTD、QTD和MTD等计算指标均能轻松支持。并且MDX相比SQL能够更简单且更广泛的支持各种商业智能需求。

能与主流的BI集成

例如PowerBI、Tableau等,都可以与SSAS轻松集成,SSAS接收前端BI发送的查询需求,在自身引擎中计算,将聚合后的值返回前端BI,以提升前端BI的查询体验。

二、SSAS面临的问题

虽然微软的SSAS具备许多优秀的功能特性,使其成为许多商业智能方案的理想选择,但身处大数据时代,它面临着越来越多的挑战问题。并且随着数据量爆炸式的增长,这些挑战显得更加重要。

数据量及维度数量的限制

通常情况下SSAS使用的是MOLAP模式,MOLAP将OLAP分析所用到的多维数据物理上存储为多维数组的形式,形成“立方体”的结构。这种方式在较小数据量时,性能优势较大。但当面对大型数据集时,由此产生的维度爆炸问题,将使MOLAP架构难以维持。因此面对海量数据时该方案会存在瓶颈。

扩展受限制

若现有的SSAS处理能力无法满足需求,需要增强其处理能力时,用户就必须为运行SSAS的服务器增加更多硬件设施来满足需求。同时如果需要存储更多的数据,则需要扩展本地存储。

三、SSAS面临问题的解决方案

进入数字化转型时代,数据爆炸式增长,SSAS的弊端日渐明显,越来越多的企业开始寻找替代SSAS的技术。在Hadoop 技术日臻完善的今天,一个理想的BI/OLAP分析架构应该保留所有SSAS分析功能,并且能够利用 Hadoop技术的横向可扩展性解决 SSAS 面临的所有痛点,这样的OLAP on Hadoop分析架构应该能够做到:

提供了横向扩展能力

Hadoop分布式文件系统(HDFS)的一大特点就是可以通过向集群增加服务器来扩展存储和处理能力,一个理想的OLAP on Hadoop方案,也继承了这一强大的特性。这种方案极大的提升了系统的扩展性,降低了扩展系统能力的难度。

打破了数据量和维度数量的上限如上文提及,由于Hadoop具备横向扩展的能力,数据存储已不在成为瓶颈,只要集群足够,数据量已不再存在上限。由于SSAS需要按照多维数据集中的所有维度进行聚合,所以不可避免的存在维度爆炸的问题,而理想的OLAP技术应允许用户自定义聚合维度,有效的避免维度爆炸的问题,打破了维度数量的上限。

更高的性价比OLAP on Hadoop的方案,构建集群并不需要高配置的一体机,硬件成本大大降低。这种特性在收费基于集群和时间的云平台上尤为明显,用户可在需要大量资源时扩大集群,在空闲时缩小集群,释放多余资源,做到最大程度的资源和费用的节约。

四、总结

本文让我们清晰的看到SSAS具备的很多优点,让其成为了广泛流行的OLAP引擎,但是它也存在着扩展能力有限,承载数据量有限等各种问题。虽然微软SSAS无法突破数据量及维度数量的限制,但是在很多的中小企业是够用的因此数据量是引擎选型很重要的一个参考点,因为随着数据量的增加,对引擎的处理能力和查询响应提出了更大的挑战,对于不同量级的数据分别有不同的引擎可供选择,如下图所示:

最终使用哪种OLAP引擎其实还是靠用户需要处理的数据量来决定。毕竟面对少量数据一个微软SSAS就可以解决的事情,何必要花那么大的代价去买hadoop技术方案咧。我们需要做的就是学习好这些技术,以更合理的视角给客户提供更优质的技术方案。

你可能感兴趣的:(微软商业智能实战八:浅析SSAS技术)