另一种选择是“DirectQuery”模式。数据不会导入 Power BI,但查询会直接从 Power BI 转发到 Snowflake。在本研究的背景下,这种存储模式的一个重要优势是,Snowflake 中实施的 GDPR 解决方案被 Power BI 利用。
因为用户在使用报告时已经登录,所以他们的用户名会 委内瑞拉 数字数据 传递给 Snowflake,并且 Snowflake 可以确定是否应该以匿名形式返回数据。这是一个优雅、高效的管理和存储解决方案。
速度是 Direct Query 的绊脚石
不幸的是,直接查询常常被证明太慢了。对此的一种解释是,Power BI 会针对屏幕上的每个视觉效果向底层数据库发送查询。对于某些仪表板来说,这个数字可能会有几十个。即使对于像 Snowflake 这样的快速数据库,处理如此大量的查询也需要几秒钟。
直接查询显示速度是多少
通过一些努力和创造力,我们成功将测试页面的性能从三个测试用例的平均测试分数 7,879 毫秒提高到三个测试用例的平均测试分数 873 毫秒,速度提高了近 10 倍!报告在视觉方面仅做出了非常有限的让步。
使用 Power BI 中的直接查询实现卓越性能的分步指南
Snowflake - 仓库设置
Snowflake 中有几个设置会影响性能。首先,我们来看一下虚拟仓库。虚拟仓库提供检索数据的计算能力。
虚拟仓库大小
您可以为仓库选择不同的大小。不要简单地将仓库从XS增加到S或M,经验表明,更大的仓库往往会导致 性能下降。对于大量数据和/或复杂查询,更大的仓库更有可能产生积极影响,因为在这种情况下工作分布在多台机器上。在我们的案例中它之所以没有效果,可能是因为划分工作所花费的时间比它节省的时间还多。
查询加速
Snowflake 的查询加速功能可以加快查询大表的速度。在这项研究中,这对性能有积极的影响,但时间(阅读:在不同项目中使用直接查询的更多经验)将证明是否总是如此。在仓库上启用查询加速并测量对性能的影响,以确定此选项是否适合您的情况。