SQL Server Analysis Services 2012(2)
2. 查询语言
MDX 是多维模式所使用的语言。它是在指定多维计算时遵循的一套完善标准,可用于创建复杂的分析计算。
DAX 是表格模式所使用的语言,它主要是基于Excel 的公式语言,旨在方便熟悉Excel 的用户使用。尽管DAX 语言在Analysis Services 2012 中添加了新的功能,对于高级分析计算来说,它还是不如MDX 功能强大。
3. 数据访问技术
多维BISM 允许通过Analysis Services 中缓存的数据进行数据访问(MOLAP 模式),还可以通过直接查询后端关系数据进行数据访问(ROLAP 模式),或者也可以从后端(对于非聚合数据)以及Analysis Services(对于聚合数据)进行数据访问(HOLAP 模式)。可以预先对Analysis Services 多维数据进行聚合,并将其存储在磁盘上。
表格BISM 使用VertiPaq 引擎来访问数据。这种情况下不会对数据进行预先聚合,但由于数据存储在内存中而不是磁盘上,因此查询速度非常快。此外,表格BISM 还提供了一种传递模式,可直接从关系数据源检索源数据,这种模式与ROLAP 模式类似。这种数据访问模式被称为DirectQuery。在SQL Server 2012 中,DirectQuery 模式仅限对SQL Server 关系数据源使用。
目前,多维模型可以提供一项经过多次产品发布后开发出来的成熟技术所能实现的绝大多数功能。通过其复杂的元数据模型以及功能强大的查询语言MDX,它可以处理要求最为苛刻的应用程序需求。此外,它还提供了诸如翻译和操作等功能,可以构建非常复杂且经过全球公测的应用程序。
表格模型发展非常迅速。这种模式的数据模型和查询语言都比较简单,非常适合对多维概念不太了解并且没有经过相关培训的用户。如果你的应用程序需求不要求使用多维AnalysisServices 的功能,那么可以使用表格模型,这样可以更快地得到所需的结果。此外,表格模型的开发生命周期不像多维模型那么长。你可能会发现,Analysis Services 2012 在PowerPivot 为2008 R2 版本所提供的功能基础上又添加了很多新功能。而且,在后续的版本发布中,这种情况仍将继续。
BI 语义模型旨在为客户端应用程序提供一种通用的方式来与多维模式和表格模式进行交互。在SQL Server 2012 中,这种功能尚未完全实现。例如,还不能使用DAX 语言与多维模型进行交互。Analysis Services 团队已经做出承诺,要在该产品的后续版本中提供该功能。