首页 > 解决方案 > Snowflake 如何进行瞬时调整大小?

问题描述

我正在使用 Snowflake,我很惊讶它能够立即调整大小。这是一个非常10 秒的视频,介绍了它如何立即调整大小,并且下次运行时查询仍然是“温暖的”(注意我CURRENT_TIMESTAMP在查询中有一个,所以它永远不会从缓存中返回):

在此处输入图像描述

Snowflake 如何能够进行瞬时调整大小(与 Redshift 之类的完全不同)?这是否意味着它只有一组始终处于开启状态的服务器,而调整大小只是为运行该任务而分配的内存/cpu 虚拟?底层数据是存储在共享磁盘还是内存中?

标签: snowflake-cloud-data-platformdata-warehouse

解决方案


简短地回答你关于调整大小的问题:是的,你是绝对正确的。

据我所知,Snowflake 在后台管理一个正在运行的服务器池。可以从这里为所有客户分配一些东西。结果:从 S 到 XS 的调整大小是从该池中重新分配服务器。

Virtual Private Snowflake-Edition 的行为很可能有所不同,因为这些帐户不与其他帐户(该 VPS 之外)共享资源(例如虚拟仓库)。更多信息:https ://docs.snowflake.com/en/user-guide/intro-editions.html#virtual-private-snowflake-vps

关于您的存储问题:Snowflake 的存储层基本上是一种存储服务,例如 Amazon S3。在这里,Snowflake 以列格式保存数据,以便在微分区中更加精确。有关微分区的更多信息,请参见:https ://docs.snowflake.com/en/user-guide/tables-clustering-micropartitions.html

您的虚拟仓库访问此存储层(远程磁盘)或 - 如果之前运行过查询 - 缓存。有一个本地磁盘缓存(这是您使用 SSD 存储的虚拟仓库)和一个结果缓存(在过去 24 小时内跨虚拟仓库查询):https ://community.snowflake.com/s/article/Caching -在雪花数据仓库中


推荐阅读