雪花仓大小的作用原理

The principle of the effect of snowflake warehouse size

我正在试验雪花。我想知道它作为一个架构是如何工作的。 我正在使用三种类型的查询 A、B、C,扫描的字节数不同。 Bytes Scanned 的大小正在读取 Profile Overview 中的 Total Statistics。 我比较了小型仓库和大型仓库的执行时间。 当查询的扫描尺寸较小时,仓库尺寸的影响较小, 扫描尺寸越大,仓库尺寸相差4倍(小2,大8)。 性能方法。

我想知道这个结果的原理是怎样的

| | |总执行时间 | |

查询 字节扫描(MB) 大(毫秒) 小(毫秒) S/L比率
查询A 1860 1350 2800 2.1
查询B 6100 3800 12500 3.3
查询C 51940 19310 77000 4.0

引用文档:

“仓库的大小会影响执行提交到仓库的查询所需的时间,尤其是对于更大、更复杂的查询。通常,查询性能随仓库大小而扩展,因为较大的仓库有更多的计算资源可用于处理查询。”

另外:

“对于小型、基本的查询,越大不一定越快”

这有帮助吗?如果没有,请说明您要查找的其他信息

它与 Snowflake(或任何 Analytical MPP 数据库)如何并行处理数据有关。大家知道,一个仓库集群可能有多个节点,小仓库有2个,大仓库有8个等等……每个节点有8个实例来并行处理数据。为了清楚起见,我称他们为“工人”。

所以一个小仓库有28=16个工人,一个大仓库有88=64个工人。如果数据量较小(table 的微分区少于总工作人员),那么您的查询将不会使用整个仓库资源。有些工作人员会在某些执行步骤期间保持空闲状态,例如从 table 读取数据。这就是为什么当您处理更大的数据时,您会从大型仓库中获得更高的性能。