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

What does it mean that SSAS tabular formula engine is single threaded?

我们正在构建 SSAS 表格多维数据集并尝试确定合适的硬件。

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

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

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

如果您查看规格,建议的实例大小约为 8 到 16 个内核,因为大多数查询不会同时 运行ning,存储引擎将 运行ning 以及同时计算一个,SSAS 将快速 return 数据并且只需要几秒钟来处理。最重要的部分是您必须存储的 RAM 限制,以及 运行 查询。

如果您查看 Power BI Premium,您会看到 4 个内核和 25GB 内存,每小时可以进行 1200-1500 次报表交互。使用 Azure Analysis Services 获得 QPU 的测量值,它大约等于 1 个虚拟核心到 25 个 QPU。对于相同的 S2,有 4 个虚拟内核。

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