SSAS表格公式引擎是单线程是什么意思?

问题描述

我们正在构建一个 SSAS 表格立方体并尝试确定适合的硬件。

我想这意味着如果您有 1 个核心,那么 1 个线程正在使用公式引擎。如果您有 4 个内核,那么 4 个内核可以并行访问公式引擎。

我们的目标是确定核心数量,因为我们有很多用户

解决方法

SSAS Tabular 的底层引擎,可以拆分为两个功能,存储引擎和公式引擎。 查询时,它基本上是从存储引擎中获取数据,并将其传递给公式引擎以运行 DAX 查询。 您是对的,因为公式引擎是单线程的,而存储引擎是多线程的。所以存储引擎会快速获取数据,然后公式引擎会对其进行计算。但是多用户查询,会导致多个单线程查询,而且使用的不是同一个线程,所以会影响查询的并行处理。

如果你查看一个实例的推荐大小的规格是大约 8 到 16 核,因为大多数查询不会同时运行,存储引擎将运行以及计算一个同时运行时间,SSAS 将快速返回数据,只需几秒钟即可处理。最重要的部分将是您必须存储和运行查询的 RAM 限制。

如果您查看 Power BI Premium,您会看到 4 个内核,25GB 内存,每小时可能需要 1200-1500 次报告交互。使用 Azure 分析服务可以获得 QPU 的度量,它大约等于 1 个虚拟核心到 25 个 QPU。对于 S2,同样是 4 个虚拟内核。

作为参考,您应该查看以下关于 vertipaq engine 和 SQLBI 帖子 here 的博客文章,作者是 SSAS 表格和 DAX 的领导者之一 Marco Russo,关于调整您的大小的注意事项服务器。