【发布时间】:2020-02-05 23:29:01
【问题描述】:
假设您有 10 个相当大的事实表(每个 50-100 GB),应该使用 Power BI 进行查询。它们不适合 Azure Analysis Services RAM(价格合理)。因此,为了使用表格模型和 AAS,您必须使用以下模式:
(1) Power BI Desktop -> Azure Analysis Services -> [DirectQuery] -> SQL Database
但据我从this article 得知,AAS 表格模型不会缓存任何聚合结果(意味着不会暗示任何额外的性能优化)。此外,AFAIK、Power BI (PowerPivot) 已经嵌入了 AAS。
作为替代方案,我可以直接从 Power BI 查询 SQL 数据源:
(2) Power BI Desktop -> [DirectQuery] -> SQL Database
第一个模式(使用 AAS)是否比第二个模式(不使用 AAS)提供任何性能优势?
附:我的问题不是关于语义层的优缺点,请参阅this article。这个问题与this question 不同,因为它只询问 ASS DirectQuery 的性能方面。
【问题讨论】:
-
我不是来回答这个问题的,因为我不了解 AAS,但几个月前 PowerBI 发布了(聚合)[docs.microsoft.com/en-us/power-bi/desktop-aggregations],它们是隐藏在模型中的聚合表。这些可能会有所帮助,因为您有巨大的桌子。
-
好点@GiovanniLuisotto! @VB 你真的需要所有 50 GB 的原始信息吗?你不能在后端执行一些有意义的聚合吗?然后,AAS 压缩将进一步减小您的表大小。
-
@Seymour 不幸的是,有些报告是建立在交易粒度数据之上的。但是我们找到了一个解决方案(根本不使用 AAS) - 使用维度模型可以在以下两者上构建报告:聚合表和事务表。意味着只有极少数百分比的请求会发送到事务级表。
-
你用的是什么工具?
-
@Seymour Power BI,如果你是这个意思的话。
标签: powerbi dax powerpivot ssas-tabular azure-analysis-services